Qo 1.0.0

Qo 1.0.0
Description
Massive restructure of the API, would be interested in getting a few opinions on what I have so far here. Likely I'll be restructuring the Readme significantly to try and reconcile it down.
Changes
Major Additions
Destructuring
You may remember my article on Destructuring in Ruby:
https://medium.com/rubyinside/destructuring-in-ruby-9e9bd2be0360
The techniques covered in there have now been implemented in Qo as an optional addition:
Qo.case(Person.new('Foo', 42), destructure: true) { |m|
  m.when(name: /^F/) { |name, age| Person.new(name, age + 1) }
  m.else
}
# => Person('Foo', 43)

The following methods have a destructure keyword option, defaulting to false:

Qo.case
Qo.match
Qo.result_match
Qo.result_case

New Branch Properties
The new method of creating and extending branches comes with several new properties of some interest. These are documented in the code, but exposed here due to the scope of the change.
Several of these have been added with the express purpose of creating custom pattern matchers as mentioned below in the next section.
name: [String]
Name of the branch. This is what binds to the pattern match as a method,
meaning a name of where will result in calling it as m.where.
precondition: Any [Symbol, #===]
A precondition to the branch being considered true. This is done for
static conditions like a certain type or perhaps checking a tuple type
like [:ok, value].
If a Symbol is given, Qo will coerce it into a proc. This is done to
make a nicer shorthand for creating a branch.
extractor: IDENTITY [Proc, Symbol]
How to pull the value out of a target object when a branch matches before
calling the associated function. For a monadic type this might be something
like extracting the value before yielding to the given block.
If a Symbol is given, Qo will coerce it into a proc. This is done to
make a nicer shorthand for creating a branch.
destructure: false
Whether or not to destructure the given object before yielding to the
associated block. This means that the given block now places great
importance on the argument names, as they'll be used to extract values
from the associated object by that same method name, or key name in the
case of hashes.
default: false [Boolean]
Whether this branch is considered to be a default condition. This is
done to ensure that a branch runs last after all other conditions have
failed. An example of this would be an else branch.
Custom Pattern Matchers and Class Mixins
The big changes here are the ability to create your own custom branches and pattern matchers, as mentioned in the Readme.
# Technically Some and None don't exist yet, so we have to "cheat" instead
# of just saying `Some` for the precondition
#
# We start by defining two branches that match against a Some type and a None
# type, extracting the value on match before yielding to their associated
# functions
SomeBranch = Qo.create_branch(
  name:        'some',
  precondition: -> v { v.is_a?(Some) },
  extractor:    :value
)

NoneBranch = Qo.create_branch(
  name:        'none',
  precondition: -> v { v.is_a?(None) },
  extractor:    :value
)

# Now we create a new pattern matching class with those branches. Note that
# there's nothing stopping you from making as many branches as you want,
# except that it may get confusing after a while.
SomePatternMatch = Qo.create_pattern_match(branches: [
  SomeBranch,
  NoneBranch
])

class Some
  # There's also a provided mixin that gives an `unfold` method that
  # works exactly like a pattern match without having to use it explicitly
  include SomePatternMatch.mixin

  attr_reader :value

  def initialize(value)
    @value = value
  end

  def self.[](value)
    new(value)
  end

  def fmap(&fn)
    new_value = fn.call(value)
    new_value ? Some[new_value] : None[value]
  end
end

class None
  include SomePatternMatch.mixin

  attr_reader :value

  def initialize(value)
    @value = value
  end

  def self.[](value)
    new(value)
  end

  def fmap(&fn)
    None[value]
  end
end

# So now we can pattern match with `some` and `none` branches using the `unfold`
# method that was mixed into both types.
Some[1]
  .fmap { |v| v * 2 }
  .unfold { |m|
    m.some { |v| v + 100 }
    m.none { "OHNO!" }
  }
=> 102

Some[1]
  .fmap { |v| nil }
  .unfold { |m|
    m.some { |v| v + 100 }
    m.none { "OHNO!" }
  }
=> "OHNO!"

Public API Changes
There are no feature-breaking changes in the 1.0.0 release with the public api, but the internal API has been substantially changed. If you were relying on it for anything your code will break.
Additive
Multiple Matcher Classes
There's one additive change to the current public API: you can combine Array and Keyword style matchers without errors:
Qo[Integer, succ: 3]

Previously that would crash, in 1.0.0 it'll work just fine.
Identity Argument
The public identity function has changed:
# old
IDENTITY = -> v { v }

# new
IDENTITY = -> itself { itself }

This is done so destructuring will defaultly return the entire object.
Deprecations
The entire former private API should be considered deprecated and broken beyond use. As mentioned in the documentation, the public api (lib/qo/public_api) should be considered the gold standard to implement against.
This will continue to be the case going forward, as it will be a major version change to remove or change any contract to the public api.
Addressed Issues
Issues reconciled or fixed by this upgrade:

https://github.com/baweaver/qo/issues/19
https://github.com/baweaver/qo/issues/17
https://github.com/baweaver/qo/issues/16
https://github.com/baweaver/qo/issues/15

Won't Fix Issues
Issues deemed to be outside of the scope of Qo, mostly because they would break the current API too much to implement:

https://github.com/baweaver/qo/issues/21
https://github.com/baweaver/qo/issues/22

TODO Issues
The only issue slated on TODO at this point is to add more practical examples:
https://github.com/baweaver/qo/issues/4
I may consider switching this issue to target getting a better break-up of the documentation into a series of guides. Thoughts? I'll likely open a new issue on this later.
Additional Notes
This is a pretty big change, and one I've been thinking about for quite some time. Likely I'll be working on the documentation a bit more over the next week, but I'd love any additional ideas on the API and implementation details in the mean time.
Thanks for reading and joining me on this crazy pattern matching ride!
@baweaver

Switching down to 0.99.0 in preparations for a very interesting move :)


README.md - Change install instruction path to PyDodo

Change install instructions:
cd dodo/Pydodo
Change to:
cd dodo/PyDodo

The current README install instructions were written for the Turing away day.
Remove:
git checkout turing-away-day


Zig review

This PR contains just minor rework to the Zig code.
The purpose of the review, however, is to evaluate the whole usage of the C client, not restricted to these changes.
Changes

Code style
Function names are now snake_case following TB's code style.

Assertions and panics
We call "panic" on unexpected conditions from the JNI side. To mitigate the undesired effects of panicking on a library, we try to check for invalid values as much as possible from the Java side, letting the JVM handle the error without crashing.

Build.zig rework
Using tb_client.zig as a zig package, instead of linking it as a static library.

Note: We cross-compile for all supported platforms during the build, but I'm not sure if the produced binary is portable across Linux distributions.

Obsolete PR, closing


Debugger hook/breakpoint for issue reporting from the Swift runtime

This implements a debugger hook (breakpoint) API and data structure. This structure is passed to the debugger and describes extra information about a fatal error or a non-fatal warning, which should be logged as a runtime issue.
This debugger hook is then used from two places, which currently only log to stderr:

Runtime exclusivity violations.
Swift 3 implicit Obj-C entrypoints.

A subsequent LLDB support will be able to catch these callbacks and show the runtime issues in a better way than just logging them to stderr.  When the debugger is not attached, this shouldn't have any effect.

@swift-ci please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 9b5595a438c401ecbf27f7533b101c5c0415e947
Test requested by - @kubamracek

@swift-ci please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 9b5595a438c401ecbf27f7533b101c5c0415e947
Test requested by - @kubamracek

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 9b5595a438c401ecbf27f7533b101c5c0415e947
Test requested by - @kubamracek

Remove some of these leading underscores. The exported function should have one underscore and everything else should have zero.

@swift-ci please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 2e09a4c8403e61b63f56401235a41ff7e1b88740
Test requested by - @najacque

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 2e09a4c8403e61b63f56401235a41ff7e1b88740
Test requested by - @najacque

@swift-ci please test

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - f7c1f42ee8b303c5f54a0727c80274e2ae37da69
Test requested by - @kubamracek

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - f7c1f42ee8b303c5f54a0727c80274e2ae37da69
Test requested by - @kubamracek

@swift-ci please test

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 96014867ef150ae737d90ffa269237438960d5f4
Test requested by - @kubamracek

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 96014867ef150ae737d90ffa269237438960d5f4
Test requested by - @kubamracek

@DougGregor is this okay to land?


SQLite compatibility with Capacitor 6.0.0

Description
I'm currently using Capacitor 6.0.0, the latest stable version, in my Ionic/Angular 7 application. When attempting to install the @capacitor-community/sqlite plugin, I encountered a dependency conflict due to the plugin's peer dependency on @capacitor/core requiring a version starting with "^5.0.0".
While I understand that the core functionality of SQLite might still work with Capacitor 6.0.0, I couldn't find an official version of the @capacitor-community/sqlite plugin that explicitly states compatibility with Capacitor 6.0.0.
Steps to Reproduce:

Create a new Ionic/Angular 7 application using the latest CLI.
Attempt to install @capacitor-community/sqlite: npm install @capacitor-community/sqlite

##Expected Behavior:
The @capacitor-community/sqlite plugin should install successfully without any dependency conflicts and work seamlessly with Capacitor 6.0.0.
Actual Behavior:
An error message is displayed indicating a dependency conflict between @capacitor-community/sqlite and @capacitor/core.
Additional Context:
I have checked the release notes for @capacitor-community/sqlite but couldn't find any explicit mention of compatibility with Capacitor 6.0.0.
I have searched for community-maintained versions of the plugin with updated peer dependencies, but I'm hesitant to use them due to potential lack of official support.
Downgrading @capacitor/core to an older version is not an ideal solution as it would mean missing out on newer features and bug fixes.
Request:
I would appreciate it if you could provide an update on the compatibility status of @capacitor-community/sqlite with Capacitor 6.0.0. If there's no official version yet, could you please share any plans or timelines for releasing a compatible version?
Thank you for your time and consideration.

@EduGese, You might checkout existing issue: #541
This comment: https://github.com/capacitor-community/sqlite/issues/541#issuecomment-2095379119
pnpm add @capacitor-community/sqlite@capv6

@srapport ups, I didn't see that one, thank you so much!


listen() function isseus

Hello again;)
im facing issues with the listen() function.
If im calling the listen() function in the startsession() function, the phone recognizes when there is an actual data transfer and everything works the first time great.

Is there any way to avoid this?
Thanks for Help!

I figured out that the only way to avoid this is to set session.on = null; after a full cycle before the next one.
Are there any other ways?

Did You try to cleanup previous event listeners before creating the new session?
To do that, call the function that comes as a result of on(...) method.

no response, closing...


CachedResponse.headers are case-sensitive and do not support multiple values for the same key

CachedResponse's headers attribute is a regular dict. This makes it case sensitive and does not support multiple values for the same key. The original ClientSession makes this available through a CIMultiDictProxy and it's called out in aiohttp's docs: https://docs.aiohttp.org/en/stable/client_advanced.html#response-headers-and-cookies
The multiple values may be an edge case, but it breaks compatibility for users who use the getall method on the headers object. The case sensitivity has greater impact, producing misses when you use a different case for "content-type" or "cache-control".

Thanks for this lib, @JWCook ! I'm looking forward to using it but have only started to poke around. We're long-time users of https://github.com/ionrock/cachecontrol for requests and have been looking for something similar as we migrate to aiohttp.

Thanks for the heads up! That should be easy enough to fix.
This library is still pretty early in development and I wouldn't consider it quite production-ready yet, but I'm happy to help if/when you run into more more issues (which is likely!). Also note that this doesn't respect cache headers like CacheControl does, but that's a feature I would like to add eventually.

Ah, now I remember why I didn't use CIMultiDictProxy in the first place: it can't be pickled. I'm not too familiar with the inner workings of multidict.
@akursar If headers were serialized as a {str: tuple}  dict when writing to the cache, and then used to make a new CIMultiDict when deserialized, would that be good enough? Or would that potentially lose some information?

Thanks for the heads up! That should be easy enough to fix.
This library is still pretty early in development and I wouldn't consider it quite production-ready yet, but I'm happy to help if/when you run into more more issues (which is likely!). Also note that this doesn't respect cache headers like CacheControl does, but that's a feature I would like to add eventually.

Right, I was playing around with this to respect the max-age header which would suit my limited needs, but I'm not sure if there are better patterns for extracting this from the headers. This is what uncovered this issue though.
class MaxAgeExpiryMixin:
@staticmethod
def _get_max_age(response: ClientResponse) -> Optional[int]:
    cache_control_headers = response.headers.getall("Cache-Control") if "Cache-Control" in response.headers else None
    if not cache_control_headers:
        return None
    for header in cache_control_headers:
        parts = header.split('=')
        if parts[0] == "max-age":
            return int(parts[1])

def get_expiration_date(self, response: ClientResponse) -> Optional[datetime]:
    date_header = response.headers.get("Date")
    if not date_header:
        return None
    max_age = self._get_max_age(response)
    if not max_age:
        return None
    resp_dt = datetime(*parsedate(date_header)[:6])
    return resp_dt + timedelta(seconds=max_age)

I have this in a local branch where I'm doing a bunch of other custom stuff and some workarounds. I'm going to start breaking it up into smaller individual pieces as separate items to start. Heads up that we use dynamodb as a cache in our aws lambda functions and so can potentially help out with the issue for that.

Ah, now I remember why I didn't use CIMultiDictProxy in the first place: it can't be pickled.
@akursar I'm not too familiar with the inner workings of multidict, but if headers were serialized as a {str: tuple} dict when writing to the cache, and then used to make a new CIMultiDict when deserialized, would that be good enough? Or would that potentially lose some information? Or do you have suggestions for a different format to use for serialization?

Heh, I had the same question and is why I just opened an issue rather than a PR :) Maybe instead of focusing on headers, we could use raw_headers and pickle that, and either define an @property headers method or something. That might provide better compat any since since it lets you support raw_headers use too.

Yeah, that seems to work well. WIP changes here if you want to review them: #29

@akursar Changes are available in aiohttp-client-cache 0.2.1. Let me know if that works for you.

@akursar Changes are available in aiohttp-client-cache 0.2.1. Let me know if that works for you.

It does indeed. Thanks!


SyntaxError with python3.8

Hi!
I got a strange error if I try to import SyncThru. It is working fine with python3.7 but drops error with python3.8.
`Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import aiohttp
import asyncio
from pysyncthru import SyncThru

Python 3.8.6 (default, Oct 11 2020, 14:34:16)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import aiohttp
import asyncio
from pysyncthru import SyncThru
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.8/dist-packages/pysyncthru/init.py", line 3, in
import demjson
File "/usr/local/lib/python3.8/dist-packages/demjson.py", line 645
class json_int( (1L).class ):    # Have to specify base this way to satisfy 2to3
^
SyntaxError: invalid syntax

`
Please advise.
Thanks,
Warter

That's odd. However, the error is not thrown inside pysyncthru but inside the 'demjson' package (which is a requirement). Maybe you can try to upgrade the demjson installation in the python package you are using or open an Issue over at demjson

It is a Debian Buster on arm with a backport package. Maybe it relates to the python package. I am not sure. But thanks for your comment.

the problem is in demjson.


System prompt and User prompt support

To avoid the use of the provided function apply_chat_template, if i want to use system and user, how could I use prompt?
And I see DeepSeek-llm:

You can refer to the 'tokenizer_config.json' file in their model. Just parse the Jinja code in their template below.


Fix code scanning alert - URL redirection from remote source

Tracking issue for:

[ ] https://github.com/StefanNel007/SuperAGI/security/code-scanning/1

Website Safety needs to be checked to prevent Phishing attacks.
Plan to add a safelist or certificate check before accessing the user-entered request.


Minimum Monitors for Members in Class Pool does not support "all"

Environment

Application Services Version: 3.50.2
BIG-IP Version: <IP_ADDRESS>

Summary
Similar to issue #106 but for pool members (member-specific) monitor, it's not possible to achieve "Availability Requirement = All".

"minimumMonitors": 0    <<< no effect-> Availability Requirement = At Least 1
"minimumMonitors": "all"    <<< AS3 deploy error

Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

      "mainICAP_pool": {
        "members": [
          {
            "addressDiscovery": "fqdn",
            "autoPopulate": true,
            "hostname": "example.com",
            "servicePort": 1344,
            "priorityGroup": 5,
            "minimumMonitors": "all",
            "monitors": [
              {
                "use": "mainICAP_stby_http"
              },
              {
                "use": "icap-STBY-MD-CORE-2_https"
              }
            ]
          }

Observe the following error response:

{
  "code": 422,
  "errors": [
    "/Common/Shared/mainICAP_pool/members/3/minimumMonitors: should be integer"
  ],
  "declarationFullId": "",
  "message": "declaration is invalid",

Expected Behavior
I would expect that the configuration property "minimumMonitors" to be exactly the same for pool monitor and pool member monitor.
Also, I think a string "all" is OK (probably added to have a wording parity with tmsh), but integer value of 0 should also provide the same result as "all".
Actual Behavior
Not possible to configure the pool member monitor as required.

We have a service request for the same, I have created a backlog item AUTOTOOL-4394 and added it to our upcoming sprint. Thanks

Planing for AS3-53

@amolari image is available for testing. Please reach out to<EMAIL_ADDRESS>for pre-build.

Closed Resolved in AS3-53
Release Notes | https://github.com/F5Networks/f5-appsvcs-extension/releases/tag/v3.53.0


Will not download even though signed into Quora.

Unfortunately this is a known issue with the Quora plugin. Quora designed its feed under the hood a while ago, making it very difficult to parse reliably. I'll take one final stab at trying to get it to work again this weekend, and if that doesn't do it, I'll have to disable Quora support for now. :(

(See #137 for latest update, closing as duplicate)


Code cover badge

Codecov Report

Merging #80 (4dcb92b) into develop (2826dcf) will decrease coverage by 45.63%.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             develop      #80       +/-   ##
==============================================
- Coverage      55.98%   10.35%   -45.64%
+ Complexity        54       16       -38
==============================================
  Files             10       10
  Lines            309      309
  Branches          21       21
==============================================
- Hits             173       32      -141
- Misses           119      277      +158
+ Partials          17        0       -17

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/com/napier/sem/ExtraPopReq.java
0.00% <0.00%> (-87.10%)
0.00% <0.00%> (-9.00%)

src/main/java/com/napier/sem/ReqLanguage.java
0.00% <0.00%> (-83.34%)
0.00% <0.00%> (-4.00%)

src/main/java/com/napier/sem/ReqCountry.java
0.00% <0.00%> (-69.70%)
0.00% <0.00%> (-6.00%)

src/main/java/com/napier/sem/ReqCapitalCity.java
0.00% <0.00%> (-67.75%)
0.00% <0.00%> (-6.00%)

src/main/java/com/napier/sem/ReqCity.java
0.00% <0.00%> (-66.67%)
0.00% <0.00%> (-8.00%)

src/main/java/com/napier/sem/DataConnect.java
0.00% <0.00%> (-53.58%)
0.00% <0.00%> (-4.00%)

src/main/java/com/napier/sem/City.java
66.66% <0.00%> (-33.34%)
5.00% <0.00%> (-1.00%)

src/main/java/com/napier/sem/App.java
0.00% <0.00%> (-7.87%)
0.00% <0.00%> (ø%)

Continue to review full report at Codecov.

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


⚠ Jenkins Plugins Artifactory has degraded performance

In 6726d09, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2654 ms

Resolved: Jenkins Plugins Artifactory performance has improved in de8e343 after 44 minutes.


devspace render showing apiVersion: extensions/v1beta1 for ingress-nginx and can't override it

What happened?
There doesn't seem to be a way to override the apiVersion: extensions/v1beta1 DevSpace uses for the ingress-nginx controller which could be responsible for the ingress controller not working because in Kubernetes v+1.22 it should use apiVersion: networking.k8s.io/v1.
I've tried overriding this with something like:
annotations:
  helm.sh/chart: component-chart-4.0.16

But it still produces apiVersion: extensions/v1beta1.
What did you expect to happen instead?
I was hoping by specifying the component-chart-4.0.16 it would force the use of  apiVersion: networking.k8s.io/v1, but devspace render still shows the former.
How can we reproduce the bug? (as minimally and precisely as possible)
Install the latest, or any version, of ingress-nginx:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

Then run devspace render and it will show it is using apiVersion: extensions/v1beta1.
So to get ingress-nginx working it seems like you have to downgrade Kubernetes to < v1.22 and ingress-nginx to < v1.
My devspace.yaml:
version: v1beta11

images:
  # dev and production images
  admin:
    image: ${APP_NAME}/${ADMIN_DEV}
    dockerfile: ${ADMIN}/docker/Dockerfile
    context: ${ADMIN}/
    build:
      buildKit:
        options:
          target: development

deployments:
  - name: ${ADMIN}
    helm:
      componentChart: true
      values:
        containers:
          - image: ${APP_NAME}/${ADMIN_DEV}
        service:
          ports:
            - port: 4001
        ingress:
          rules:
            - host: localhost
              path: /v2/${ADMIN}
              pathType: Prefix
          annotations:
            helm.sh/chart: component-chart-4.0.16

Local Environment:

DevSpace Version: devspace version 5.18.2
Operating System: mac
ARCH of the OS: ARM64
Kubernetes Cluster:
Cloud Provider: local
Kubernetes Version: Client: 1.23.3 and Server 1.22.5

Anything else we need to know?
Per the ingress-nginx documentation:

Ingress resources evolved over time. They started with apiVersion: extensions/v1beta1, then moved to apiVersion: networking.k8s.io/v1beta1 and more recently to apiVersion: networking.k8s.io/v1.

Here is how these Ingress versions are supported in Kubernetes: - before Kubernetes 1.19, only v1beta1 Ingress resources are supported - from Kubernetes 1.19 to 1.21, both v1beta1 and v1 Ingress resources are supported - in Kubernetes 1.22 and above, only v1 Ingress resources are supported

And here is how these Ingress versions are supported in NGINX Ingress Controller: - before version 1.0, only v1beta1 Ingress resources are supported - in version 1.0 and above, only v1 Ingress resources are

As a result, if you're running Kubernetes 1.19 or later, you should be able to use the latest version of the NGINX Ingress Controller; but if you're using an old version of Kubernetes (1.18 or earlier) you will have to use version 0.X of the NGINX Ingress Controller (e.g. version 0.49).

The Helm chart of the NGINX Ingress Controller switched to version 1 in version 4 of the chart. In other words, if you're running Kubernetes 1.19 or earlier, you should use version 3.X of the chart (this can be done by adding --version='<4' to the helm install command).

No matter what version I install of ingress-nginx, devspace render will always show apiVersion: extensions/v1beta1 is being used. Thus, if I'm using Docker Desktop with Kubernetes version +1.22, then the ingress controller quits working.
# Source: component-chart/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: "admin"
  labels:
    "app.kubernetes.io/name": "admin"
    "app.kubernetes.io/managed-by": "Helm"
  annotations:
    "helm.sh/chart": "component-chart-0.8.4"
    "helm.sh/chart": "component-chart-4.0.16"
spec:
  rules:
  - host: "localhost"
    http:
      paths:
      - backend:
          serviceName: admin
          servicePort: 4001
        path: "/v2/admin"
        pathType: "Prefix"

/kind bug

Thanks for opening this issue. The relevant component-chart template is here (see selected lines): https://github.com/loft-sh/component-chart/blob/master/templates/ingress.yaml#L21-L27
Not sure why this is not rendered correctly but we do support the newer ingress api group. Does this just appear for devspace render? Does it deploy the correct api group when using devspace dev/deploy?

Mhh seems like capabilities is not correctly working if helm template is used, seems like we need to change the component chart for this

@FabianKramm We don't need to change the helm chart. Instead, we need to set the --api-versions flag for helm template for Capabilities to work correctly: https://github.com/helm/helm/pull/5392

@LukasGentele
Hi,
What I'm able to find is the following. Let me know if I can provide any other information:
 $ kubectl describe ing admin -n app-dev
Name:             admin
Labels:           app.kubernetes.io/managed-by=Helm
                  app.kubernetes.io/name=admin
Namespace:        app-dev
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)

Rules:
  Host        Path  Backends
  ----        ----  --------
  localhost
              /v2/admin   admin:4001 (<IP_ADDRESS>:4001)
Annotations:  acme.cert-manager.io/http01-ingress-class: nginx
              helm.sh/chart: component-chart-0.8.4
              meta.helm.sh/release-name: admin
              meta.helm.sh/release-namespace: app-dev
Events:
  Type    Reason             Age   From          Message
  ----    ------             ----  ----          -------

And another:
$ kubectl describe pod admin-5867cc4467-5bdtd
Name:         admin-5867cc4467-5bdtd
Namespace:   app-dev
Priority:     0
Node:         docker-desktop/<IP_ADDRESS>
Start Time:   Thu, 03 Feb 2022 07:52:15 -0800
Labels:       app.kubernetes.io/component=admin
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=devspace-app
              pod-template-hash=5867cc4467
Annotations:  helm.sh/chart: component-chart-0.8.4
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/admin-5867cc4467
Containers:
  container-0:
    Container ID:   docker://59b000c769073046fca63e9cc039527013efba767acc491c724b759dddbf0864
    Image:          app/admin-dev:kTOqPiN
    Image ID:       docker://sha256:15eaed105dafaf3be2b1e034ae1ff6530ffc5c9d5394c8af3f8a82cbe35397dc
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Thu, 03 Feb 2022 07:52:16 -0800
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-tvc6v (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-tvc6v:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  25m   default-scheduler  Successfully assigned app-dev/admin-5867cc4467-5bdtd to docker-desktop
  Normal  Pulled     25m   kubelet            Container image "app/admin-dev:kTOqPiN" already present on machine
  Normal  Created    25m   kubelet            Created container container-0
  Normal  Started    25m   kubelet            Started container container-0

Also, I see this message in the ingress-nginx-controller:
I0203 15:52:23.204929       8 store.go:420] "Ignoring ingress because of error while validating ingress class" ingress="app-dev/api" error="ingress does not contain a valid IngressClass"

@cheslijones Actually, what you found is a separate issue. However not one that DevSpace can fix. You need to an an ingress class to the ingress in devspace.yaml for the values of this deployment:
values:
  ingress:
    ingressClassName: xyz

To figure out xyz, run: kubectl get ingressclass
To prevent having to set ingressClassName for every ingress, you could also mark one of the ingress classes in your cluster as default, by running kubectl edit ingressclass xyz and adding this annotation:
ingressclass.kubernetes.io/is-default-class: "true"

@LukasGentele Thanks for pointing that out that it is an unrelated issue.
I haven't had to specify that before, but it looks like now that I have added it that error has cleared up.
Is there anything I can send you related to the apiVersion? The only place I'm able to find it clearly stated is with devspace render.
devspace dev and checking various svc, pod, and ing about the only thing I can find is helm.sh/chart: component-chart-0.8.4. I think this should be helm.sh/chart: component-chart-4.x.x though.

@gradox2020 this should be fixed with the newer component chart version


Short solution needed: "Connect to Redis with username and password" (python-redis)

Please help us write most modern and shortest code solution for this issue:
Connect to Redis with username and password (technology: python-redis)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Connect to Redis with username and password


Fix for UpdateIsLatestAsync retry connection string

Regression from PR #3548, found during dev deployment
EntitiesContext default ctor pulls connection string from web.config (localdb), but we needed cloud configuration.
Updated functional test to push first package non-concurrently to avoid conflict on registration creation, and to spread remaining pushes over 5s period (~6 pkg/second) which is more realistic.

:shipit:


Remove ComplexNotebookEditorModel and friends

If not used anymore.

Friendly ping, my understanding is we still carry around old notebook code pre-working-copy times? Why not get rid?
//cc @jrieken

I believe LS is still on the old API but they are inching away from it.

@mjbvz this is what's used by the notebook content provider, once LS moves off the API, we can also remove this.

This is blocked by https://github.com/microsoft/vscode/issues/147248

This can finally happen 👯

Still blocked on #163377

🥳


drill through on working in embedded report

I have switched on the option for drill through for a visual in the data/drill tab.
It is working fine in desktop and service but not when embedded.

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

ID: 8caeb04f-19a3-320d-2bfa-147c5377728e
Version Independent ID: d3785a20-eeaa-a3a0-5198-b6a4c8fd475b
Content: Set up drill through in Power BI reports - Power BI
Content Source: powerbi-docs/desktop-drillthrough.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

It is working with options menu on the right click but i need it to work on the left click as it does in the desktop and the service.

Hi @vivekParanjape , thanks for reaching out to us. This looks like a support request or product question rather than documentation feedback. You might find a solution in the Power BI Community. If not, try our support page. Thanks and good luck!


[WIP] implement HTML representation

Initial minimal scaffolding for review and comment.  Notes:

idea is to pass wfs3 types into HTML template
HTML templates are strings (not files) for ease of deployment
f=text/html overrides HTTP Accept header

Check out these changes & consider if we should pass config to MarshalHTML() or just the pieces we want:
https://gist.github.com/JivanAmara/f06f151c20cd8fec0e02dba027d8052d#file-conformance-go

Thansk @JivanAmara. Comments:

will update to have struct methods
same for map[string]string
what's the downside of passing the config?  What is there now is minimal, but things like service metadata are valuable to the HTML representation.  What about passing sections of the config as an option?
I would stay away from things like https://gist.github.com/JivanAmara/f06f151c20cd8fec0e02dba027d8052d#file-conformance-go-L30 given we want the template to render HTML, not code per se.

The down sides to passing the config is an unnecessary coupling of the config w/ the templates with pretty clear opportunity for future developers to trip on it.  I think that the stuff we want to pass from the config probably belongs to a "page" template that the top-level element templates extend.
For the wfs3 types, yes since each has a dedicated template the first context variable should be the time, for anything needed outside of that, or for the html of properties that are also wfs3 types, a map[string]string context type.
The example at https://gist.github.com/JivanAmara/f06f151c20cd8fec0e02dba027d8052d#file-conformance-go-L30 isn't how I think this template should be rendered, but is to illustrate how this will generalize for contained types.  For example, a number of wfs3 types use the wfs3 Link in their properties, such as CollectionInfo.  With this approach we don't re-create how to render a Link in the CollectionInfo template, but call Link.MarshalHTML() and pass the result to the CollectionInfo template to put where it would like it.  It makes the rendering of the elements as composable as the elements themselves & avoids repeating logic for rendering some types in multiple places.

Closed in lieu of #97


Documenting Platform Support

As discussed in the last meeting, we want to clarify what platforms, vendors, and versions we support, and what we're focusing on right on now. the outcome of this would be a page in the GPU dev guide that provides an overview the support and what that kind of support means for the platforms.

I think we should just focus on Vulkan 1.1 at the moment (MoltenVK supports 1.1 and it fixes a whole bunch of issues that 1.0 has).
I think staying on SPIR-V 1.3 at the moment is fine, but if we want to have some more sane reasonings around memory and the memory model we shouldn't hesitate to bump our min-req to 1.5 + VK_KHR_vulkan_memory_model (Or Vulkan 1.2 which requires that ext).
For all other APIs and versions of APIs we should have a really good discussion about the potential costs / merits about them; for example OpenGL support we probably should ignore entirely for now because it brings with it a whole new set of rules, guarantees (different memory model (!)) etc. Instead it's probably better for us right now to point people who don't want the Vulkan experience to something like wgpu that is more straight forward to use.

Many different options here of what and how to specify it, though would be good to start with something decent.
So a few things off the top of my head.
Minimum SPIRV version: 1.3
Graphics API:

Primary: native Vulkan 1.1
Secondary: wgpu/gfx-rs can translate to Metal & DX12, but is extra layer and complexity
Minimal effort, you are own your own: OpenGL

GPU:

Primary: Nvidia and AMD Vulkan 1.1 / DX12 compatible GPU (most modern)
Secondary: Recent Intel (can we specify a gen? does it matter?)

OS:

Primary: Windows 10 & Linux.

Specify some recommended/used Linux variant (we use many)?

Secondary: Mac Catalina+, supported to best of our ability. Goes through both API and shader translation (MoltenVK or gfx-portability) which adds complexity
Later target: Android (modern) - will be a pain, but want to be able to test on it.

Drivers:

Make sure you have latest available for your GPU and OS from the IHVs, (Nvidia, AMD, Intel) before filing issues
Open source drivers may work, but you are on your own.

Minimum SPIRV version: 1.3

Just to be clear, we can't reach that right now, right? We need to fix wgpu to use vulkan 1.1 first.

Open source drivers may work, but you are on your own.

On Linux the open source drivers are the official drivers for Intel and AMD and maintained by the respective vendor itself. The closed source driver from AMD is derived from the opensource and only exists for professional usage like CAD, not for gaming. Intel doesn't have a closed source driver. Only for Nvidia the opensource driver is not maintained by the vendor.


Request for Stimulation Artifact Correction registered as technique

Metadata for the F-TRACT dataset will need a Stimulation Artifact Correction to be registered as a Technique.
It sounds very general, but the reference describing details, is the following one:
http://dx.doi.org/10.1016/j.jneumeth.2016.03.002

@maciej-jedynak thank you for the term suggestion. We will add it to the techniques.

@apdavison I already committed the new technique by accident. Could you review the RAW file to make sure that I defined it correctly: https://raw.githubusercontent.com/HumanBrainProject/openMINDS_controlledTerms/v1/instances/technique/modelBasedstimulationArtifactCorrection.jsonld

NOTE: correct instance; add also "stimulation artifact correction" as super-class and "average-based artifact correction" as additional method.

It seems good to me :)

In the @id, "modelBasedstimulationArtifactCorrection" should probably be "modelBasedStimulationArtifactCorrection".

@apdavison thanks for spotting this. I will correct it with the PR for moving all analysis techniques from Technique to AnalysisTechnique terminology


Components for Checkboxes

Any more details on what this is?

Closing for now. We can reopen if these more detail


support selected section output for generate_latfile

We had discussed about this issue with Takashi.
As a basic usage, user should input the arbitrary initial beam state.
If not, the initial beam state is the same as the full section case.
For example, in the case of the function calculate the initial beam state at the input start point >automatically, the function will use the lattice parameter between the original start point and the input >start point. But, due to the input information, user will not assume to the function uses the out of section.
So, there is a possibility the lattice parameter out of section is wrong, and we should not "calculate" the >beam state inside the function.

I would suggest to write this message into the code as warning or note.

I agree.
In the io/lattice.py , we have not use "logging" module now.
Should I introduce "logging" and change all print statements?

Yes, logging should be added for all modules. The note could be just added into docstrings.


Allow user to send and recieve custom messages to and from the SMT solver

Fixes #30

Published 0.2.3 with this


Improvement in Contact Us  Section

The current implementation of the Contact Us page has an issue where the input fields do not clear, I want to tackle this issue, Please assign this task to me, as I am eager to contribute to the project during this GSSoC and Hacktoberfest. I believe these enhancements will be beneficial for our users and improve the overall functionality of the page.

Kindly look for another issues
It is completed already


Improve readme.md by adding dev howto

Which node.js version? Info about the different commands, etc.
❯ node -v
v12.19.1

~/Dev/companion-remote master
❯ yarn dev-electron
yarn run v1.22.10
$ yarn build:main && electron dist/electron.js
$ tsc -p tsconfig.build.json
App threw an error during load
Error: The module '/Users/williamv/Dev/companion-remote/node_modules/usb-detection/build/Release/detection.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 82. Please try re-compiling or re-installing```

I've added a section to the readme that should help https://github.com/Julusian/companion-remote#development


Authorizing controller actions are not working

Hello, when I'm adding the $this->loadAndAuthorizeResource(); inside on each constructor of each controller I'm getting the following error message
ReflectionException in Container.php line 776:
Class Dashboard does not exist

but when I'm removing the loadAndAuthorizeResource, the controller is working fine. If I add the loadAndAuthorizeResource inside the abstract class Controller which extends BaseController, is working but is not validating the user if has the roles to add, edit a post. How i can fix it? thank you
here is my authority
        $user = Auth::guest() ? new All4FX\Models\User : $authority->getCurrentUser();

        // Define abilities for the passed in user here. For example:
        if ($user->hasRole('Super Administrator'))
        {
            $authority->allow('manage', 'all');
        }
        else if ($user->hasRole('Editor'))
        {
            $authority->allow('read', 'all');
            $authority->allow('create', 'all');
        }
        else
        {
            $authority->allow('read', 'all');
        }

Hi @giwrgos88,
Can you post your DashboardsController class, please?
Cheers,
TortueTorche

middleware('auth');
	}

	/**
	 * Show the application dashboard to the user.
	 *
	 * @return Response
	 */
	public function index()
	{
        if(Auth::check()) {

            return view('admin.dashboard.index')->with('pages', Category::where('category_type', '=', 'pages')->count())->with('posts', Category::where('category_type', '=', 'posts')->count())->with('my_activity',$user_activity);
        }
        else
        {
            return redirect('/auth/login');
        }
	}

}

Do you have a Dashboard model?

@tortuetorche the dashboard doen't have it's own model but, the categories have. do you want me to send you the category controller and model?

@tortuetorche the dashboard doesn't have it's own model but, the categories have. do you want me to send you the category controller and model?

Your issue occurs on the Dashboard controller, on the Categories controller or on both?
For the Dashboard controller, Authority-Controller throws an error because it search a Dashboard model, but you can config the loadAndAuthorizeResource() method to use the Category model instead.

I put the loadAndAuthorizeResource on the constructor of the CategoryController and I had the same issue. Each of my controllers are stored inside to folders, for example for the DashboardController.php is stored inside the Htttp/Controllers/Administrator/Dashboard and the CategoryController.php inside to Htttp/Controllers/Administrator/Category
From the message is look like that it takes the folder and makes it class?

OK, can you tell me where is your Category model ?

Yes is inside app/Models/Categories/Category.php
Here is the model
< ? php namespace APPPATH\Models\Categories;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Nicolaslopezj\Searchable\SearchableTrait;
/**

@property $this|bool|\Carbon\Carbon|\DateTime|mixed|static category_type
*/
class Category extends Model
{
use SearchableTrait;
/**

The database connection
*/

protected $connection = 'mysql';
/**

The database table used by the model.

@var string
*/
protected $table = 'category';
use SoftDeletes;
protected $dates = ['deleted_at'];

/**

The attributes that are mass assignable.

@var array
*/
protected $fillable = [
'category_title',
'category_type',
'category_slug',
'category_active'
];

/**

The attributes excluded from the model's JSON form.

@var array
*/
protected $hidden = [];

protected $searchable = [
'columns' => [
'category_title' => 10,
'category_type' => 10,
'category_slug' => 2
]
];
public function relationships() {
return $this->hasMany('APPPATH\Models\Properties\Properties_relation');
}
protected $guarded = ['category_id'];
protected $primaryKey = 'category_id';

}

Yes is inside app/Models/Categories/Category.php
Here is the model
< ? php namespace APPPATH\Models\Categories;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Nicolaslopezj\Searchable\SearchableTrait;
/**

@property $this|bool|\Carbon\Carbon|\DateTime|mixed|static category_type
*/
class Category extends Model
{
use SearchableTrait;
/**

The database connection
*/

protected $connection = 'mysql';
/**

The database table used by the model.

@var string
*/
protected $table = 'category';
use SoftDeletes;
protected $dates = ['deleted_at'];

/**

The attributes that are mass assignable.

@var array
*/
protected $fillable = [
'category_title',
'category_type',
'category_slug',
'category_active'
];

/**

The attributes excluded from the model's JSON form.

@var array
*/
protected $hidden = [];

protected $searchable = [
'columns' => [
'category_title' => 10,
'category_type' => 10,
'category_slug' => 2
]
];
public function relationships() {
return $this->hasMany('APPPATH\Models\Properties\Properties_relation');
}
protected $guarded = ['category_id'];
protected $primaryKey = 'category_id';

}

Your Category controller is in a sub namespace (Administrator), so you need to config the loadAndAuthorizeResource() method inside your controller constructor to set the full path of your Category model.
Something like that:
$this->loadAndAuthorizeResource(['class' => 'APPPATH\Models\Categories']);

You can read this Wiki doc section for more informations.
For the Dashboard controller it's a little bit different, because you don't have a Dashboard model.
So you can associate the Category model with it or use manual authorizations check, you can read the first paragraph of this Wiki doc page for more informations

@tortuetorche thanks a lot I will give a try!

one last question and i will close the issue, if i want to define authority rules for specific controllers how i will write for example Category controller?
let say the category controller is has class name CategoryController and file name CategoryController.php and is stored inside App/Http/Controllers/Administrator/Category
so the rule will be
$authority->allow(['read', 'create', 'update', 'destroy'], ['CategoryController']);
or I have to specify any special path?
Btw if i have a specific function inside the CategoryController like displayall_categories
I will use the addAlias to specify the function name?

so the rule will be
$authority->allow(['read', 'create', 'update', 'destroy'], ['CategoryController']);
or I have to specify any special path?

In your authorization rule, you should use the Category model instead of the Category controller.

Btw if i have a specific function inside the CategoryController like displayall_categories
I will use the addAlias to specify the function name?

For your custom Controller action you can read this.

I'm closing this issue, feel free to reopen it if you have bugs.

I found something. when you pass the model class into the loadAndAuthorizeResource and the model has underscore for example Category_Model the loadAndAuthorizeResource is trying to load CategoryModel , instead of Category_Model.
Last questions the authorize function inside to each request form is affected from the library? I mean because I'm using your library to control the actions of each user the authorize function must be always true right? Because now it says that i don't have permission for editing a user but on the authority-controller I have $authority->allow('manage', 'all');

Why your model names have underscores? You should follow the PSR-2 coding style guide and name your class only in StudlyCaps format.
When you said request form you means Laravel's Form Request Validation?

@tortuetorche yes i know the coding style but because in order for some people to understand that the model is related to a specific table which has the same name i had to use the underscore. Yes the form request validation

The authorize() method of FormRequest objects are not related to Authority-Controller, it's another way to check authorizations in your Laravel 5 application.
You should not use the Laravel's Form Request authorization system with Authority-Controller.
Here what say the Laravel doc:

If you plan to have authorization logic in another part of your application, simply return true from the authorize method

/**
 * Determine if the user is authorized to make this request.
 *
 * @return bool
 */
public function authorize()
{
    return true;
}

Ok I this is what i did. Thanks a lot for your help and time

in order for some people to understand that the model is related to a specific table which has the same name i had to use the underscore. Yes the form request validation

You can set a custom table name in your Model class. Here the Laravel doc:

Note that we did not tell Eloquent which table to use for our User model. The "snake case" name of the class will be used as the table name unless another name is explicitly specified. So, in this case, Eloquent will assume the User model stores records in the users table. You may specify a custom table by defining a table property on your model:

class User extends Model
{
    protected $table = 'my_users';
}

Yes this is what i did after all. I removed all the underscores from the models who had underscore. Thanks a lot for your help, once more!!

You're welcome, have a good week-end!

@tortuetorche you too!


[iOS][a11y] VoiceOver on UIKitView seems to be broken

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Hello !
I've already opened a question on this topic #131780 and by searching more on my side, I may have found the problem.
I need the native iOS Apple Pay button for my application. So I'm using the pay_ios library and I realised that the accessibility focus is stuck on this button.
So I quickly recreated the plugin with a FlutterPlatformView and I have the same problem (so I don't think it's due to the package used).
Then I tried changing the semantics directly in the native part, but the problem is still there.
Finally, I put an ExludeSemantics around the UIKitView, which I then wrapped with a Semantics widget and that's when the problem was solved.
I really think there's a problem in the UiKitView widget about semantics.
In my logs, a debug message appears when the focus is on the UiKitView and it is blocked:
[Accessibility] Went all the way up the container chain from @, but could not find any container that was one of the ordered children of @.  This may be acceptable if it happened right around a layout change, but it would be best to double check by swiping left/right to see if you can get to all elements.
It's as if the UiKitView widget wasn't visible in the semantics tree and so VoiceOver was mixing up the widgets and crashing.
I hope I've made myself clear, but please don't hesitate if you need any further explanation.
Expected results
When you slide the cursor to the left, your attention is drawn to the next widget.
Actual results
When swiping left, when the focus goes on UiKitView, it remains blocked and the error appears in the log.
Code sample
return Scaffold(
      body: Center(
          child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          const Text("first example"),
          const Text("second example"),
          const Text("third example"),
          Container(
            color: Colors.red,
            child: RawApplePayButton(
              style: ApplePayButtonStyle.black,
              type: ApplePayButtonType.plain,
            ),
          ),
          const Text("last example"),
        ],
      )),
    );

Screenshots or Video
https://github.com/flutter/flutter/assets/72022928/822aa667-79da-4c12-921e-900342c55298
Logs
[Accessibility] Went all the way up the container chain from @, but could not find any container that was one of the ordered children of @.  This may be acceptable if it happened right around a layout change, but it would be best to double check by swiping left/right to see if you can get to all elements.
Flutter Doctor output
• Flutter version 3.13.4 on channel stable at /Users/romain_greaume/fvm/versions/3.13.4
! Warning: dart on your path resolves to /opt/homebrew/Cellar/dart/3.0.7/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/romain_greaume/fvm/versions/3.13.4.
Consider adding /Users/romain_greaume/fvm/versions/3.13.4/bin to the front of your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 367f9ea16b (13 days ago), 2023-09-12 23:27:53 -0500
• Engine revision 9064459a8b
• Dart version 3.1.2
• DevTools version 2.25.0
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
• Android SDK at /Users/romain_greaume/Library/Android/sdk
• Platform android-33, build-tools 33.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E222b
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.4)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 75.1.3
• Dart plugin version 231.9161.14
[✓] VS Code (version 1.82.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.72.0
[✓] Connected device (3 available)
• iPhone 14 (mobile) • 968A4248-A23D-468B-9605-32E3C6ABD134 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
• macOS (desktop)    • macos                                • darwin-arm64   • macOS 13.5 22G74 darwin-arm64
• Chrome (web)       • chrome                               • web-javascript • Google Chrome 116.0.5845.187
[✓] Network resources
• All expected network resources are available.

Thanks for the detailed report @romgrm

So I quickly recreated the plugin with a FlutterPlatformView and I have the same problem (so I don't think it's due to the package used).

Can you provide us the complete code for platformview as well so that we can run it thoroughly ?
The code sample you shared has RawApplePayButton which I think is coming from pay_ios library as you mentioned.

Hello @darshankawar :)
Thanks for your quick reply.
I made a repo with the custom plugin: https://github.com/romgrm/UiKitView_A11Y_Issue
Very basic, but you can easily see the problem with UiKitView.
Feel free to edit and don't hesitate if you have any questions 👍

Thanks for the update. Using the repro, I do see the same behavior as reported.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.13.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.13.5 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 12fccda598 (32 hours ago), 2023-09-19 13:56:11 -0700
    • Engine revision bd986c5ed2
    • Dart version 3.1.2
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.15.0-10.0.pre.12, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.15.0-10.0.pre.12 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bea63d7c81 (5 hours ago), 2023-09-26 20:46:25 -0400
    • Engine revision 0a8ad236e4
    • Dart version 3.2.0 (build 3.2.0-199.0.dev)
    • DevTools version 2.28.0-dev.12
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Similar to https://github.com/flutter/flutter/issues/93024 which was supposed to be fixed by https://github.com/flutter/engine/pull/29531
It seems like a regression, I will bisect

Bisected to https://github.com/flutter/flutter/pull/131958, the engine roll is from<PHONE_NUMBER>1c9b5040edc1ab7e6ba03f8af221ee to c1f977f72b68da673ec493ab5df0beacacc7a88b
It is possibly https://github.com/flutter/engine/commit/b8332e3c4870512a941d685d7d375b1d2d62983c. I will bisect the engine

https://github.com/flutter/engine/commit/b8332e3c4870512a941d685d7d375b1d2d62983c caused the regression. I will look into it.


apg_bmp: Fix building C source as C++

apg_bmp used implicit void*->type* cast which compiles in C but not in
C++.

Got it, thanks!


Integration: Agent Zero

Hey this is quite cool project and quite active. Let me know if this will be feasible
https://github.com/frdel/agent-zero

Thanks for bringing it to my attention, it should be doable from the first glance, I'll be able to understand better once started with the integration

yeah, agreed because that is by design. not sure what can be done in this case


[cxx-interop][SwiftCompilerSources] Include Clang headers

This will allow using Swift headers that include Clang headers from SwiftCompilerSources.
For example, some headers in swift/Basic include headers from clang/Basic. Currently adding those Swift headers to the modulemap causes a build error.

@swift-ci please smoke test


fix: bug conversion?

paymentAmount is type as Satoshis. If we want to go to MilliSats, then we want to divide by 1000, not the way around?

nevermind. the actual code is good


When is removeAll method called?

I was using the Cookie Persistor, I noticed that the removeAll method is being called if there are no cookies on the REST return. Is that correct? This prevents me from using the cookies previously stored.

removeAll is only called from loadForRequest and it only removes expired cookies. May your problem be related to your cookies being already expired?


Bind ctrl+shift+c to copy path

Testing https://github.com/Microsoft/vscode/issues/14318
Mac, Linux, Windows: ctrl+shift+c -> workbench.action.files.copyPathOfActiveFile

Awesome! Added.


Errors while restore database to PostgreSQL DB

Hello,
I tried to restore ChEMBL database to my PostgreSQL DB. I followed the instruction inside the unzipped file but it gave me three errors while pg_restore:
$ sudo pg_restore --no-owner -h localhost -p 5432 -U ken -d chembl_27 chembl_27_postgresql.dmp
pg_restore: warning: invalid creation date in header
Password:
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 6; 2615 2200 SCHEMA public postgres
pg_restore: error: could not execute query: ERROR:  schema "public" already exists
Command was: CREATE SCHEMA public;

pg_restore: from TOC entry 2823; 0 0 COMMENT SCHEMA public postgres
pg_restore: error: could not execute query: ERROR:  must be owner of schema public
Command was: COMMENT ON SCHEMA public IS 'standard public schema';

pg_restore: from TOC entry 2824; 0 0 COMMENT EXTENSION plpgsql
pg_restore: error: could not execute query: ERROR:  must be owner of extension plpgsql
Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';

Could you please help me to solve these three errors?
Best regard,
Ken

Ken, sorry we've missed this issue :(
I hope you managed to load the dump. In case you didn't please feel free to reopen the issue.


[staging and production] file upload times do not match versions; versions are not rendered properly

Steps
1. Upload a file to the OSF
2. Make changes to that file, save it, and upload a new version to the OSF.
3. Visit the file's detail page and look at the version history.
Outcome
1. The times and dates of the versions are incorrect. They appear to be listed in reverse chronological order, such that if you have three versions, Version 1 has the most recent upload time, Version 2 has the middle upload time, and Version 3 has the earliest upload time.
For an example visit this file: https://staging.osf.io/ynx7i/
Expected Outcome
1. Upload times should become more recent as the version numbers rise so that version 1 is the oldest version.

@jlcohoon This should now be fixed. Can you verify?

looks good!
On Wed, Apr 29, 2015 at 9:28 PM, Steven Loria<EMAIL_ADDRESS>wrote:

@jlcohoon https://github.com/jlcohoon This should now be fixed. Can you
verify?
—
Reply to this email directly or view it on GitHub
https://github.com/CenterForOpenScience/osf.io/issues/2608#issuecomment-97628610
.

Thanks!


Add a more obvious approve button for MRs

Feature Description
It is currently quite difficult for people to figure out how to approve a MR.  They need to know to first switch to the "Files changed" tab, then they need to pretend to start a review by clicking on the "Review" button, then realize that the comment is optional, and finally click the "Approve" button.
All of this is decidedly non-obvious to anyone that hasn't been shown it before, and difficult to remember even if you have.
Please add an Approve button on the initial conversation page of a MR.
Screenshots
No response

This UI closely mirrors what GitHub has and the primary color should indicate the primary action for a reviewer. I don't think we should introduce a second "Approve" button.
If you strongly think this should change, please provide a mock up how it would look.

Yes, I definitely agree that blindly approving PRs is to be avoided.
However, many reviews don't happen on the "Files Changes" tab, with reviewers looking at commits individually on the "Commits" tab, or even in a clone.  Even when changes are reviewed there, people note their comments on individual lines, resolve those conversations as each one is addressed, and then end up at a loss at to what to do next - they've just finished their review, so have no reason to click on a button that would seem to start a new review.
An example of what I’d hope to see is the approach that Gitlab uses, where it shows an “Approve” button on its overview page:

For Gitea, it would be nicer if it showed a similar button next to the “doesn't have enough approvals” message, perhaps like this (don't particularly care whether it's blue, or green, or whatever):


[🐛 BUG] Timezone problem on initialization

What went wrong? 🤔
I have a question about how Taipy manages date and time. I see that Gui().run has timezone parameter, that defaults to client.
When I instantiate a variable with datetime.datetime.now(), I think this uses the server's local datetime.
What I observe by playing around with it, is that when a date is modified from a date visual element, that date is stored in GMT, but is displayed, in the date element,  in the selected timezone.
I see 2 potential problems:
1- The timezone that I use to initialize the values is not GMT (unless the server is in a GMT zone). So this can lead to inconsistencies.
2- If I display the date in a text() element, I get the GMT date, but the date element shows the timezone I selected within run().
Date and time is always a painful thing, so I don't know if this is a bug, or if I'm being too maniac. This is not a technical bug, it would be a malfunction at most.
Expected Behavior
Time zones should be consistent acoss visual elements, and across time.
If Taipy uses GMT datetimes, values should always e in GMT, even if they are initialized before the run() (I think that is one of the problems, but I'm not 100% sure).
Steps to Reproduce Issue
This code helps to reproduce the issue, but you need to interact to data element to see it better:
import datetime as dt

import taipy.gui.builder as tgb
from taipy import Gui

with tgb.Page() as page:
    tgb.text("# Date and times", mode="md")

    tgb.text("{str(just_a_date)}")
    tgb.date("{just_a_date}", with_time=True)

if __name__ == "__main__":
    just_a_date = dt.datetime.now()
    print(f"Now it's: {just_a_date}")

    gui = Gui(page=page)
    gui.run(
        # time_zone="Indian/Maldives", # for example - a different timezone for me
    )

Runtime Environment
Windows 10, I used Python 12 within Anaconda, Taipy develop
Browsers
Brave
OS
Windows
Version of Taipy
4.0.0
Acceptance Criteria

[ ] A unit test reproducing the bug is added.
[ ] Any new code is covered by a unit tested.
[ ] Check code coverage is at least 90%.
[ ] The bug reporter validated the fix.
[ ] Related issue(s) in taipy-doc are created for documentation and Release Notes are updated.

Code of Conduct

[X] I have checked the existing issues.
[ ] I am willing to work on this issue (optional)

@FabienLelaquais Could you help on this?

I'd welcome any help. I was able to reproduce this malfunction on windows 11 microsoft surface. I'd imagine the source of the error is here. I am interested because I recently worked with a scheduler app addressing similar issues.
I look forward to hearing how we would like to proceed. And worst case, I can see if there are other issues where I would be of more assistance.

Hello everyone, I just have a look at this issue. After reading the whole description and retesting the code, it is not obvious to me what the current issue is. I would appreciate if you can help me understand more on what issue you are having. You are right on the timezone parameter enforcing the time on the frontend side. If you want to display the time that you have selected in the correct timezone then tgb.text("{just_a_date}") will give you the correct time.


Store actions sync

https://github.com/MitsuhaKitsune/vuex-webextensions/blob/eec51ff6652d497b010115a625dafdda9e4d4f85/src/backgroundScript.js#L35
Do you plan to implement this.store.subscribeAction?
I need to capture action invokation in popup via background's, but only mutations fired...
store.subscribe(({type, payload}) => {
    console.log(`[syncWithStore][mutation] type %o, payload %o`, type, payload);
});
store.subscribeAction(({type, payload}) => {
    console.log(`[syncWithStore][action] type %o, payload %o`, type, payload);
});

Yes sorry, I didn't implement it before because when I start the plugin vuex don't have this method implemented (it's a new API method of vuex 2.5.0).
I think that I can implement and relase this feature tomorrow.
A lot of thanks for the report, didn't know that this method are available on vuex.

Implemented on a508561, a lot of thanks for the sugestion ^^


Single flows (-gs) is missing flows after second level

When generating single flows with -gs option, flow relation depth after 1st level is not being rendered. The main consolidated diagram is correct though.

Fixed with #109 in v0.5.1


New version: Microsoft.Azure.StorageExplorer version 1.33.1

Checklist for Pull Requests

[ ] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

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

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

Microsoft Reviewers: Open in CodeFlow

Hi @,
Do you approve of these changes?
(Automated response - build 876.)


Hull Factory Multiblock

The hull factory would be a multiblock that, using power, takes stone blocks inputted into the factory and turns them into any hull block.
(A hull block is any block that has an equivalent blast rating to stone brick and has a stair and slab variant.)
The block that the factory outputs would be determined by what 'hull block' is placed in a predetermined part of the multiblock. Placing a quartz block there would make the factory output quartz blocks, while placing a blackstone brick block there would make it output blackstone bricks.

Pretty much almost done with this, just need to test my code and fix any mistakes I might've made

a lot of mistakes to fix...

I forgot to comment progress but yeah pretty much almost working, just need to test the latest fix we did


started unit tests for intf deserialize

issue #5658
the actual intf db interface "zif_abapgit_oo_object_fnc" is mocked. no objects are created.

I'll resolve them.
I need to add some more unit tests for description and documentation anyway. Otherwise the tests cover too less code.

we dont have any requirement for a percentage of code covered in abapGit 😄
btw, there is https://coverage.abapgit.org which shows the coverage of the unit tests  that run under the transpiler
and https://ci.abapgit.org shows the results for actual storing the artifacts to database

we dont have any requirement for a percentage of code covered in abapGit 😄
But I have :)

btw, there is https://coverage.abapgit.org which shows the coverage of the unit tests that run under the transpiler
and https://ci.abapgit.org shows the results for actual storing the artifacts to database
thx

Can this be merged?
PR #5698 based on this one is in the pipe and needs resolve.

welcome to abapGit as a contributor 🎉

welcome to abapGit as a contributor 🎉

thanks. happy to be here


Reproducing evaluation results issue

I'm trying to reproduce the evaluation results via the code provided.

Can you please let us know how many GPUs are sufficient for evaluation? I've tried it on A100 8-80GB GPU with batch size 16 (as mentioned in the code), 8, 4, 2, 1 but I'm still getting CUDA OUT OF MEMORY error (I am not using the SLURM so I've commented out that line instead and running directly on a GPU node.)

In evaluation.py the file "main.py" is used. Can you confirm if that's the file of the other repository "amber-train"?

Hey ash, thanks for your questions and we are working on addressing them!

I usually run the evals with 1 A100, sometimes 2. We are working on improving the amber eval scripts, trying to separate the slurm args and cmds so that users without slurm can also run evals fine. Details can be found at https://github.com/LLM360/Analysis360/pull/3.
yes this is a nice catch, upload it in the PR mentioned above.

When I'm trying to reproduce the code, it continuously throws cuda out of memory error even with the batch size of 1. It does loads the evaluation task but gives OOM. Any possible fix to that?
I believe the missing main.py is not the same as there in amber-train as that's the code for training only and not the evaluation.

Did you try with the new code and it still gave you OOM?
you are right, I don't think that's the same main.py. This main.py is for amber eval only.

The last updated code was 2-3 weeks ago. Are there any further changes after that? I just commented out srun in my version and ran the bash on the GPU node only.
There's currently no main.py file in the repo. I see one file in the PR but not in the actual repo.

Oh I mentioned above we are fixing both 1 and 2 in https://github.com/LLM360/Analysis360/pull/3. You could try to use the latest dev branch to see whether it resolves your issue.

I am trying the evaluation script from llm-harness directly as you've mentioned in your repository. On the HellaSwag evaluation metric, two sub-metrics are showing up. Can you please confirm which one was picked for evaluation (acc or acc_norm)?

Similarly, for arc_challenge evaluation, there's no acc_norm, so was "acc" picked for these evaluation tasks? PFA

Hello. I was able to reproduce your code with the dev branch on a single GPU. However, I had the following questions:

Is there a way to run on Multi-GPUs locally? By default, it's just running on a single node.
Can you let us know which evaluation metric you've used in the paper?
The results had different metrics. for eg, see the snapshot below.
For MMLU did you take the average of all sub-tasks acc/acc_norm scores?
For TruthfulQA, did you use only bluert_acc/bleu_acc for both truthfulqa_mc/_gen?

Hi,
to your question:

Since we use slurm workload management system, which will allocate gpus automatically. We don't have multi-gpu script by default. You can refer to official lm-evaluation-harness for multi-gpu guideline, this page may also help.
all these details are present in utils.py. You can find for each dataset, which metric were we use. Overall, we follow the open-llm-leaderboard setting.

Hi, looks like all your issues are resolved, I will close this for now.


Queued Export By using the FromQuery , How to handler query result ?

Prerequisites

[✅ ] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[✅ ] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[✅ ] Checked that your question isn't already asked before.
[✅ ] Filled in the entire issue template

Versions

PHP version: 7.1
Laravel version: 5.5
Package version: 3.1

Description
Hello Sir, I have a question，
Queued Export By using the FromQuery , How to handler query result ?
because i need  to additional handler the query result .
Not used Queue ，This is how I deal with it
use Illuminate\Database\Eloquent\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithStrictNullComparison;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Cell\Cell;
use PhpOffice\PhpSpreadsheet\Cell\DataType;
use PhpOffice\PhpSpreadsheet\Cell\DefaultValueBinder;
use Maatwebsite\Excel\Concerns\WithCustomValueBinder;

class OrderExport extends DefaultValueBinder implements
    FromCollection, WithEvents, WithStrictNullComparison, WithCustomValueBinder
{

      protected $data;

       public function __construct($data)
       {
           $this->data = $data;
        }
        public  function collection()
        {
            return new Collection($this->handlerData());
        }

        public function handlerData()
        {
            // 表头
            $header[] = ['订单编号', '主分订单', '用户名', '商品ID', '商品名称', '多规格商品名', '商品货号', '商品条形码', '商品数量' ];

            $exportData = [];
            foreach ($orders as $item) {
                $orderItem = [
                    'order_sn'   => $item->order_sn,
                        'main_order' => $item->main_order == 1 ? '是' : '否',
                        'user_name'  => $item->userInfo->user_name,
                        'shop_name'  => $item->shopInfo->shop_name,
                        'address'    => $item->province_name . $item->city_name . $item->district_name . $item->address,
                        'mobile'     => $item->mobile
                        'pay_name'   => $item->pay_name,
                ];

                $orderGoods = [];
                if (count($item->order_goods) > 1) {
                    foreach ($item['order_goods'] as $goods) {
                        $goodsItem = [id,
                            'goods_name'      => $goods->goods_name,
                            'product_name'    => $this->getProductName($goods->product_id),
                            'goods_sn'        => $goods->goods_sn,
                            'goods_number'    => $goods->goods_number,
                            'goods_price'     => $goods->goods_price,
                            'shop_name'       => $item->shopInfo->shop_name,
                        ];

                        $orderGoods[] = $goodsItem;
                    }
                }

                $exportData[] = array_merge([$orderItem], $orderGoods);
            }

            $exportData = array3_to_array2($exportData);

            return array_merge($header, $exportData);
        }

but queued export by using the FromQuery , I don't know how to deal with it，Look forward to your reply！

sorry，Maybe I don't fully understand the document，End use  map()  handler data，I got the data I wanted


Task: add tooltips

Where relevant, add tooltips for more information on parts the dashboard, e.g., filters. Consult with UX team to get a list of what these are + where they go.

closed by #218


Add JetStream support

Leaving this branch open. Includes functionality that we might use in the future.

Branch will stay open as it includes functionality regarding streams that we might use in the future.


chore: set AREnableNewNavigation as ready for release

Description
This PR sets AREnableNewNavigation as ready for release.

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

set AREnableNewNavigation as ready for release - mounir

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (set AREnableNewNavigation as ready for release - mounir - MounirDhahri)

  Generated by :no_entry_sign: dangerJS against 62268f331f45a7c007c82b84ac1870040eb1436c


Create a NewView in lua fails

When running the following plugin.lua
function nView(args)
    local buf = NewBufferFromString('Lorem', '')
    local view = NewView(buf)
end

MakeCommand('nview', 'plugin.nView', 0)

An error is raised
3: attempt to call a non-function object
However, NewView is defined in micro/view.go.
func NewView(buf *Buffer) *View

Do you have any idea what's going on?
Commit hash: 1856891
OS: macOS Mojave

Looks like NewView isn't exposed as a Lua global;
https://github.com/zyedidia/micro/blob/1013b0331427d47d4eaf3d69d2dd882badcca44a/cmd/micro/micro.go#L403-L460

That' s right, thank you, I'm thinking about making a pull request.
L.SetGlobal("NewView", luar.New(L, NewView))


Deprecate M2 curves

These have 1:1 replacements with a new name, introduced in https://github.com/flutter/flutter/pull/129942
Land after https://github.com/flutter/packages/pull/4898
Part of https://github.com/flutter/flutter/issues/116525
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Blocked on https://github.com/flutter/packages/pull/4898 landing, which itself is blocked on the next stable release

(triage): @guidezpl said this is unblocked and back on the radar.


Can't PM the bot

When the whitelist is enabled the bot doesn't respond to commands sent in a private message (in slack). Need a way to whitelist private messages.

Apparently this is a failure of hubot-slack, and not a result of the whitelist.

This is apparently not an issue with hubot-slack, and will need to be fixed through the middleware.

I'll take a look and see if it's possible to derive if a message event is a DM.

I discovered that someone used your addon as a starting point to build https://www.npmjs.com/package/hubot-slack-blacklist-middleware, which accomplishes a similar goal while allowing PMs.


Polish a few things in Vulkan RD

A few little silly things. Summoning Production as reviewer, since this is not even about rendering, but area-agnostic code maintenance.
(Comments added to the changes via GH feature about why each change.)

Thanks!


Webhook receiver doesn't properly update its status when subscription resume

Cashier Version: 9.3.1
Laravel Version: 5.7.28
PHP Version: 7.3.1
Database Driver & Version:

Description:
When you resume canceled subscription from Stripe it sends out customer.subscription.updated event to cashier webhook. In that webhook there is a new value "cancel_at_period_end": false passed, however Cashier doesn't properly interpret this and doesn't update its ends_at attribute.
As the result there is a discrepancy in between Stripe and local subscription data.
Local copy still returning recurring() as false and onGracePeriod() as true.
Expected behavior: ends_at attribute updated to null and methods
recurring() returns true and onGracePeriod() returns false.
Steps To Reproduce:

Setup Cashier webhooks

Through Cashier framework:

Create a customer
Add any subscription with any recurrent plan
Cancel the subscription

Through Stripe admin panel

Resume the subscription

Stripe will send a webhook with the following attribute in the payload:
"cancel_at_period_end": false
Check ends_at attribute in the local database for the subscription.

You're free to send in the original pr along with the notes I made on it.

I've sent in a PR for this here: https://github.com/laravel/cashier/pull/689

Pr was accepted and will be included in v10


Can't import VKCells into PDK repo

When trying to import an euler bend in a PDK repo, if I use the virtual version I get an error
This is fine
bend = kf.cells.euler.bend_euler_factory(pdk)(width=1, radius=10, angle=15, layer=pdk.infos.MYLAYER)
This gives an error:
e_bend = kf.cells.virtual.euler.virtual_bend_euler(pdk)(width=1, radius=10, angle=15, layer=pdk.infos.MYLAYER)
TypeError: unhashable type: 'MY_PDK'
Is this a bug, or am I doing something wrong?
Thanks

You need to use the factories for this. Tje cells are registered to the default KCLayout, i.e. kf.kcl. The factories allow you to register default functions to arbitrary KCLayouts/PDK. Also important, you need to make sure you only register it once, if you do it twice, you will have a cache miss and it will create a duplicate cell.
So, do:

/path/to/pdk/my_submodule_for_virtuals.py
bend_euler_virtual = kf.factories.virtual.bend_euler_factory(MYPDK)

/path/to/pdk/kther_submodule.py
from .. import bend_euler_virtual

@MYPDK.cell
def cell_with_virtual(...) -> kf.KCell:
    c = MYPDK.kcell()
    # ...
    bend = c << bendeuler_virtual(...)

Sorry, just got to this, It seems that creating the factory first
bend_euler_virtual = kf.factories.virtual.bend_euler_factory(MYPDK)
creates the same error as before
TypeError: unhashable type: 'MY_PDK'

s_bend = c.create_vinst(kf.cells.euler.bend_euler_factory(MYPDK)(width=1, radius=10, angle=15, layer=pdk.infos.MYLAYER,))
This worked tho.


success doesn't fire when before returns false

I am trying a custom dom insert as below. The  'done'/success for 'form' never fires. Please advise.
		loadjs([
			'/assets/js/jquery.jsForm.min.js'
		], 'form', {
			async: false,
			success: function(){console.log('*form success*') /* doesn't fire */},
			error: function(pathsNotFound) {console.log('form error'+pathsNotFound)},
			before: function(path, scriptEl) {
				$('#content-wrapper').append(scriptEl)
				console.log('*before*') /* works */
				return false;
			}
		})
	loadjs.ready('form', function(){
		console.log('*form done*') /* doesn't fire */
	})

I think the issue is with $('#content-wrapper').append(scriptEl). I'm not sure exactly what jQuery is doing under the hood but given that the .append() is operating on a collection maybe jQuery is copying scriptEl and replacing it with a new element. Performing the operation on the raw javascript object works:
$('#content-wrapper')[0].append(scriptEl);

https://jsfiddle.net/muicss/mpnt5jx4/

Works like a charm, thanks!


Add GA plugin

Background
Ricky is looking into metrics tracking on Cronos Docs funnel.
Setup
https://vuepress.vuejs.org/plugin/official/plugin-google-analytics.html#install
Need to further check whether it's working properly after deployment.

/staging


The image_mask in the below image becomes all Falses, when i use LoRA.

Thanks for the issue.
Does the latest commit still has the issue?

I have modified the data.py file:
data.zip
Please use the diff command to compare the differences.

Maybe your dataset is a bit different from the format I've worte in the README. I have '\n' between the <image> token and the text. I use the dataset as LLaVA format.


MVP 1 completed

IBM Cloud toolchain: Delivery Pipeline deployed LRP-web-app to prod, including commit a0f3aca8bb480e7666e76b8f9a4f7c9c9328b322


Update CONTRIBUTING.md

What does this PR do?
This PR updates the contributor's docs to ensure all PR's follow some unified guidelines.
Any relevant issues this PR addresses? (optional)
#63
Any background context you want to add?
N/A

Do you think we should cover any sort of guide here?
Also is the ## Guidelines name perfect?

@BolajiAyodeji another thing to think about is: do we add people's profiles whose GitHub link is not there? This was more for GitHub profiles, and the names of leads can be seen on the global listing website anyway?

@saranshkataria I think we can still leave their names still. Every lead should have a GitHub or GitLab account already, so we might deal with less PR's without GitHub profiles (+ the docs already shows that it is required).

@BolajiAyodeji I see a few PR's of people just adding the names. And a lot of these are not leads adding them, it's community members. So they might not know the github profiles I guess. Maybe we should make it explicit to add github profile links, and not merge PRs if it doesn't have them?

@saranshkataria I agree with you on this now. Let's do it!

Would you want me to make any more changes to the guideline? I think it's clear enough that we want them to include GitHub only.

I was thinking of rewording it like : Lead(s) name(s) should be linked to their GitHub account and not their Facebook account
On second thought, it might be a bit redundant


Using SHAP for feature selection with noisy high-dimensional data

First, thank you very much for this great library. It has been extremely useful to me.
I have a dataset with 5,000 features and multiple (imbalanced) classes. Most of those features are mostly noise and even the ones that have predictive power also have a fair amount of noise on them. The predictive power of some features is affected by interactions between them. Feeding all those features to a classifier such as XGBoost or LightGBM with proper hyperparameters results in predictions that are often better than a random guess but only by a small margin.
As a feature selection strategy, I'm using SHAP to calculate feature importance scores with XGBoost, LightGBM, and CatBoost and selecting the features with the highest importance. Are those feature importance scores reliable even if the classifiers that generated them have low accuracy (e.g., F1 score on cross-validation)?
Thank you :bow:

Are those feature importance scores reliable even if the classifiers that generated them have low accuracy (e.g., F1 score on cross-validation)?

In general, the feature importance scores are only as good as the model they are obtained from.  If the model is totally random, the feature importances will be accurate in the sense that they will explain what features change the model's output.  Unfortunately, if the model only learned spurious relationships, the importance scores will reflect that.

Instead of just calculating the mean of the 3 classifier's feature importance scores, would it make more sense to give higher weight to the classifiers whose cross-validation F1 scores were higher?
This is probably out of scope (please feel free to ignore), but would you recommend another feature selection strategy altogether?

One alternative for feature selection is to use the Shapley value of the loss, rather than the model output (I'm not sure if this is supported for multi-class tree objectives though).  There is an example of this in Figure 9 of the Supplement for the TreeExplainer paper.

Thank you very much for the clarification, @HughChen. Using the Shapley value of the loss is an interesting idea, I will experiment with that.

Sure thing - best of luck!

By loss, do you mean shap values for log loss and not probability scores from the model?

By loss, do you mean shap values for log loss and not probability scores from the model?

Everyone looking for SHAP for feature selection (and hyperparameters tuning), I suggest shap-hypetune
A python package for simultaneous Hyperparameters Tuning and Features Selection for Gradient Boosting Models
It supports feature selection with RFE or Boruta and parameter tuning with Grid or Random Search.


Tool does not work with VS 2017 Build Tools

After installing the VS 2017 build tools and using vswhere -all, nothing is returned.
This is a problem as VSWhere is used by the Azure DevOps "VSTest" build task. On our build machines we don't want to install the full IDE and only the build tools. This fails saying that visual studio, specifically the VS test console, is not installed but this is because VSwhere does not return any values.
https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/VsTestV2/versionfinder.ts#L114

That's not what -all does. You need to use -products *. See #8.

Apologies, i assume this is an issue with the command line used by the test task then.

Yes. Please file a bug in the https://github.com/Microsoft/vsts-tasks project against the VSTestV2 task.

i have same problem, but

vswhere -products *  did not help

C:\>vswhere -products * Visual Studio Locator version 2.5.2+gebb9f26a3d [query version 1.17.1230.42073] Copyright (C) Microsoft Corporation. All rights reserved.

If it's a prerelease, you also need -prerelease. If the install wasn't 100% successful, you'll also need -all. Put them all together anyway and you should see it.