text:
Organize level 8+ sub-topics

Levels 1 - 7 are organized as flat CSVs, but at some point the sub-topics will need to branch off. For discussion, below are some screenshots of the current organization and some alternative options.

Level 1-8

Levels 8+ as described by the Unified Data Policy with domain expert input so far highlighted in yellow.

Option A, following current approach above, should require that we maintain consistency whereever possible.

Option B, branching occurs at level 9 as "datatype or category" for predictions, observations, advisories-warnings.

TT-WISMD 2023-05-10:

go with option A (consistent sub-category under each Earth System Discipline [level 9])
add common subtype under earth system discipline:

surface-based-observations
space-based-observations
advisories-and-warnings
predictions (whether to subqualify or not?)

...but allow domains to request additional common subtype as needed.

need to verify validation of topics complexity from GB (@golfvert)

@alexandreleroux recommends having the top level be "observations" and the type under that (space, ground, surface)

Up to level 8 and some 9 (when available in Res. 1), we want to stick to Res. 1 denomination. I don't think this proposal is consistant with this.

see draft at: https://github.com/amilan17/wis2-topic-hierarchy/tree/main/topic-hierarchy

Up to level 8 and some 9 (when available in Res. 1), we want to stick to Res. 1 denomination. I don't think this proposal is consistant with this.

In my opinion, UDP is too inconsistent to follow exactly. For example, "space-based" and "surface-based" are only sub-categories under weather and space-weather disciplines, but satellite data are also listed for hydrology and cryosphere disciplines, but not under any sub-category. Furthermore, I find it hard to believe that core satellite data may not apply at all under atmosphere, ocean or climate....
For reference, see Annex 1 of WMO Unified Data Policy: https://library.wmo.int/index.php?lvl=notice_display&id=22100

TT-WISMD 2023-06-22:

@amilan17 / @antje (and possible @jsieland / @gaubert) will prepare something for the next meeting (2023-07-07)

...wondering if it is really not consistant to add a level "observations" with WMO Unified Data Policy (https://library.wmo.int/doc_num.php?explnum_id=11256 , Annex 1)

Weather-related data
1.1 Core observational data
1.1.1 Surface-based
1.1.2 Space-based

e.g.
origin/a/wis2/deu/dwd/data/core/weather/surface-based-observations/
update to
origin/a/wis2/deu/dwd/data/core/weather/observations/surface-based/

update to
origin/a/wis2/deu/dwd/data/core/weather/observations/surface-based/

This is indeed a recommendation put forth by TT-NWPMD as well, in order to maintain a simple and concise structure on Level 9.

update to
origin/a/wis2/deu/dwd/data/core/weather/observations/surface-based/

We could.
Looking at hydrology in the mind map above:

If we create an observation level, what do we do with the other two categories ?
The real (only ?) goal of the topic hierarchy is to have a filtering mechanism to receive only useful messages. With MQTT we have two wildcards ? (anything at this level) and # (anything below this level). With this in mind, from a user point of view and management of subscription point of view, what is the "best" option.
origin/a/wis2/deu/dwd/data/core/weather/surface-based-observations/
or
origin/a/wis2/deu/dwd/data/core/weather/observations/surface-based/

Looking again at the 4 categories for hydrology, what is useful to filter for a user ? The 4 at the same level ? 2 at one level and two below observation ?
For me, these are the key questions...

Suitable filter options for the different use cases is relevant, I absolutely agree with that. But from my point of view, there is nothing to be said against it for this reason as well....
new TH:
.../weather/observations/surface-based/
.../weather/observations/space-based/
.../weather/analysis-prediction/
.../weather/advisories-warnings/
old TH:
.../weather/surface-based-observations/
.../weather/space-based-observations/
.../weather/analysis-prediction/
.../weather/advisories-warnings/
But maybe I'm overlooking some use cases, the ones I would think of are:

all observations
subscribe to
new - .../weather/observations/#
old - .../weather/surface-based-observations/#    &    .../weather/space-based-observations/# (to avoid simultaneous subscription to  .../weather/analysis-prediction/ and .../weather/advisories-warnings/)
+1 for new

only surface-based-observations
new - .../weather/observations/surface-based/#
old - .../weather/surface-based-observations/#
even though the new one has one more level, the total string length is hardly longer, so i would rate both versions as equal

only space-based-observations
see 2

for analysis-prediction & advisories-warnings
no difference

all messages under weather
new - .../weather/#
old - .../weather/#
no difference

Tag up 2023-07-05 (w/ Antje, Julia and Anna)

(Antje) notifications about services should be classified as 'report' and 'service' is not needed, because it's only information for the users
prefer to have /observations  (9) (with the space-based, surface-based, etc (9)) as options underneath, because users can filter out level 10 -- if they don't care if it's space-based or surface -based

TT-WISMD 2023-07-07:

@amilan17 to create PR based on the approach (will not include climate)

PR #53 includes decisions discussed in July tag up: https://github.com/wmo-im/wis2-topic-hierarchy/issues/38#issuecomment-1621604073

Is it ok to have flat levels (1-7) and then nested levels (8+)? It feels like we are changing the rules mid-game....
Should every level have a CSV listing the child folders? This is necessary for committing "empty" folders in GH but is it useful for other things too? (see https://github.com/wmo-im/wis2-topic-hierarchy/tree/38-organize-level-8%2B-sub-topics/topic-hierarchy/weather vs https://github.com/wmo-im/wis2-topic-hierarchy/tree/38-organize-level-8%2B-sub-topics/topic-hierarchy/atmospheric-composition)
Child column is removed from nested levels, do we still need it?
Do we need definitions?

TT-WISMD 2023-09-12:

PR #53 to be reviewed and approved/merged thereafter (@amilan17 to update)

Are we saying that any combination of elements from each level is a valid topic ?
So .../data/core/climate/observations/forecast/green-house-gases  is acceptable (I chose on purpose the weirdest combination).

comments from meeting with Enrico:

we need the tree approach

We need a tree approach to cover the diversity of data destined for WIS 2.0. As @golfvert and @efucile mention, we leave the door open for nonsense on one hand (.../data/core/space-weather/observations/surface-based/...), and preclude precision on the other

Associated PR now in #70

authors: SimonElliottEUM amilan17 antje-s golfvert tomkralidis yhe-wmo


text:
Add ability for many nox tasks to reuse the same session/virtual env

How would this feature be useful?
On windows its slow to build a new environment, having to build identical environments seems a waste.
Describe the solution you'd like
import nox

@nox.session(python="3.6")
def all_tests(session):
    session.install('-rrequirements.txt')
    session.install('-rrequirements_test.txt')
    session.install('-rrequirements_docs.txt')
    session.install('-rrequirements_dist.txt')

@nox.session(reuse="all_tests")
def build_docs(session):
    session.run('sphinx-build', 'source', 'build/html')

@nox.session(reuse="all_tests")
def pylint(session):
    session.run("pylint", "code")

@nox.session(reuse="all_tests")
def yapf(session):
    session.run("yapf", "-r", "-d", "code")

reuse is the new "function"
Describe alternatives you've considered
Havent found an easy way to reuse environments.

I think a way of doing this would be using https://nox.readthedocs.io/en/stable/config.html#nox.sessions.Session.posargs, of course you'll lose the feature of listing sessions (nox -l)
Also, maybe https://github.com/theacodes/nox/issues/72 is more useful here?

Maybe doing this from the command line? Like nox -s lint tests --share-env.

Are there plans to implement this? I'd be happy to work on this and create a PR.

Go for it! Let us know if you need help.
On Fri, Jan 10, 2020, 6:37 PM Marko Paunovic notifications@github.com
wrote:

Are there plans to implement this? I'd be happy to work on this and create
a PR.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/theacodes/nox/issues/167?email_source=notifications&email_token=AAB5I44HNJKAQQ5ROSA7PI3Q5EBCDA5CNFSM4GYEQ5TKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIVQ6AA#issuecomment-573247232,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB5I43APPEA33IG5BFJNLDQ5EBCDANCNFSM4GYEQ5TA
.

A related approach that would save time around environment creation/reuse is https://github.com/theacodes/nox/pull/265.

I like the solution proposed at https://github.com/theacodes/nox/issues/286#issuecomment-689474925

Hi all! There is an implementation of this over on https://github.com/wntrblm/nox/pull/631#issuecomment-1185998020. It would be great to get some feedback there.

The best way to achieve this is with decorators:
import nox

def with_common_setup(session_func):
    def wrapper(session, *args, **kwargs):
        # do your common setup with the session here...
        return session_func(session, *args, **kwargs)
    return wrapper

@nox.session
@with_common_setup
def my_first_session(session):
    ...

@nox.session
@with_common_setup
def my_second_session(session):
    ...

We can generalize this into a do_first decorator that runs a set of functions them before your main session function:
def do_first(*first_funcs):
    def decorator(main_func):
        def wrapper(session, *args, **kwargs):
            for f in first_funcs:
                f(session)
            return main_func(session)
        return wrapper
    return decorator

def common_setup(session):
    ...  # do your setup here

@nox.session
@do_first(common_setup)
def my_session(session):
    ...

FYI, this was the syntax I came up with thinking about this before reading the issues:
import nox

@nox.env(python="3.6")
def all_tests(session):
    session.install('-rrequirements.txt')
    session.install('-rrequirements_test.txt')
    session.install('-rrequirements_docs.txt')
    session.install('-rrequirements_dist.txt')

@all_tests.session()
def build_docs(session):
    session.run('sphinx-build', 'source', 'build/html')

@all_tests.session()
def pylint(session):
    session.run("pylint", "code")

@all_tests.session()
def yapf(session):
    session.run("yapf", "-r", "-d", "code")

You could even pass a restricted session in this case that wouldn't allow install in the sessions to reduce potential for order dependent behavior. I assume this is quite a bit of work, just putting down what I though of.

After some consideration, we're in the process of adopting Nox for https://github.com/spyder-ide/spyder-docs [^1] and potentially many of the other, higher-traffic Spyder-IDE org repositories in the future. On Spyder-Docs, we have only a handful of direct dependencies across all tasks (docs, lint, translate, etc) and have adopted a streamlined workflow with them in a single requirements.txt file that all of our various CI services, jobs and local pip/conda could install. Particularly given we want contributions to the docs to be as low-friction as practical, the long delay (on the order of a minute) creating venvs and installing duplicate environments for each of our numerous related sessions was a significant regression from our previous Make-based approach and a blocker to Nox adoption.
@Spectre5 's workaround was very helpful in suggesting a viable path forward, and we've made a number of further improvements and optimizations that avoid most of the (non-inherent) limitations of that approach. In particular, we:

Simplified the main venv session and kept the logic for each session together by factoring them out to separate functions
Avoided verbosity and fragility, and simplified adding new sessions by passing the function objects to the venv session directly as a posarg instead requirng of a whole elif block, keeping "install" free of any
Added support for passing multiple function objects to the venv session, allowing developers to easily pre-define groups of sessions to run sequentially with minimal boilerplate.
Added passthrough for the existing posargs, so user-specified custom args can still be passed to sessions (commonly needed in our use case)
Minimized the several-second overhead starting each session down to zero by skipping venv creation by default for all tasks but the install one [^2]

Here's what that looks like:
import nox

nox.options.sessions = ["run_all"]
nox.options.default_venv_backend = "none"

@nox.session(venv_backend="virtualenv", reuse_venv=True)
def install(session):
    session.install("-r", "requirements.txt")
    if session.posargs:
        for task in session.posargs[0]:
            task(session)

def _docs(session):
    session.run("python", "-m", "sphinx", "doc/", "doc/_build/html", *session.posargs[1:])

@nox.session
def docs(session):
    session.notify("install", posargs=([_docs], *session.posargs))

def _lint(session):
    session.run("pre-commit", "run", *session.posargs[1:])

@nox.session
def lint(session):
    session.notify("install", posargs=([_lint], *session.posargs))

@nox.session
def run_all(session): session.notify("install", posargs=([_docs, _lint]))

You could also even implement a simple run session that can run multiple arbitrary user-specified tasks. Its of course somewhat hacky and not critical for our use case so we didn't go that route, but it could look something like:
@nox.session
def run(session):
    funcs_to_run = [globals()[f"_{name}"] for name in session.posargs]
    session.notify("install", posargs=[funcs_to_run])

It would then be used like so:
$ nox custom -- docs lint

A real implementation would want to register each function in an explicit lookup table instead of just relying on arbitrary globals (and add friendlier error handling, of course).

Sidenote: An alternate approach I explored in depth would be to use nested private functions with pre-baked posargs, e.g.
@nox.session(venv_backend="virtualenv", reuse_venv=True)
def install(session):
    session.install("-r", "requirements.txt")
    if session.posargs:
        for task in session.posargs:
            task(session)

@nox.session
def lint(session):
    posargs = session.posargs
    def _docs(session):
        session.run("pre-commit", "run", *posargs)
    session.notify("install", posargs=[_docs])

However, due to the private nested, pre-baked functions it doesn't work with all, the custom run or functions running pre-defined task groups.
[^1]: As a cross-platform, Python-native replacement for Make, in this case—we of course considered Invoke, but with apparently poor project health and minimal maintenance it seems very unwise to rely on
[^2]: Sidenote: Setting nox.options.reuse_venvs = True didn't appear to have any effect per our initial testing (not sure what was going wrong), so we instead set it individually on the one session that actually needs it.

source: gharchive/issue

authors: CAM-Gerlach DDaxler cs01 gschaffner henryiii paunovic rmorshea stsewd theacodes

repo: wntrblm/nox

license_type: permissive

license_source: github-api


text:
Add a single character shortcut for --no-reuse-existing-virtualenvs

How would this feature be useful?
A common way to use Nox that saves a lot of time when re-running sessions over and over by avoiding recreating venvs is to set:
nox.options.reuse_existing_virtualenvs = True

You can see the pip developers use this:

https://github.com/pypa/pip/blob/main/noxfile.py#L19

When dependencies do change, the developer can then run:
nox --no-reuse-existing-virtualenvs -s test

Given this can be a very common work flow, avoiding having to type out --no-reuse-existing-virtualenvs on the command line would be a great improvement to UX.
A note on tox
What I'm describing above is also the default workflow for tox users. Many people moving from tox will be familiar with this workflow. (e.g. tox re-uses venvs by default, and tox -r is an opt-in recreation).
Describe the solution you'd like
Add a new alias for --no-reuse-existing-virtualenvs, for example -C for "Create"
nox -C -s test

Related to #488

The CLI supports multicharacter short options and does not currently use -n (which would cause ambiguity), so it may be possible to use the more intuitive -nr short option.

-nr would also be a suitable fix for this if the team agrees.

I don't see any blockers to do this. Any thoughts @wntrblm/nox?

By default environments are destroyed and recreated, so wouldn't this be a noop?

@crwilcox Not if the user has set in their noxfile.py:
nox.options.reuse_existing_virtualenvs = True

Alright. So, to me this sort of feels like an antipattern, but since we already have the  long flag, I'd be okay with adding -nr.

I don't know how prevalent setting args in noxfile.py really is, but as it is allowed, that might not be that relevant

The pip developers seem to like them 😄

https://github.com/pypa/pip/blob/main/noxfile.py#L19

authors: DiddiLeija crwilcox johnthagen ktbarrett


text:
update File.exists? -> File.exist? for ruby 3.2.6

update File.exists? -> File.exist? for ruby 3.2.6

Our branches are out of sync so I cherry-picked, thanks!

source: gharchive/pull-request

authors: majikthys woahdae

repo: woahdae/croppable

license: MIT


text:
docker-compose up fails

First time trying to use this. Taking the basic route and following the instructions at https://docker4drupal.readthedocs.io/en/latest/#1-run-vanilla-drupal-from-image-default. No changes made to docker-compose.yml and docker-compose up -d fails.
Here is where the errors started.
Creating d8dev1_mariadb_1

ERROR: for d8dev1_mailhog_1  dictionary update sequence element #0 has length 23; 2 is required

Recreating d8dev1_php_1 ... error

Creating d8dev1_mariadb_1 ... done

ERROR: for php  no such image: sha256:177e2c6bd6831252b64dd622c945de3f7a35be11933cac4d346d50ab9a413b75: No such image: sha256:177e2c6bd6831252b64dd622c945de3f7a35be11933cac4d346d50ab9a413b75

ERROR: for mailhog  dictionary update sequence element #0 has length 23; 2 is required

ERROR: for portainer  dictionary update sequence element #0 has length 25; 2 is required
Traceback (most recent call last):
  File "bin/docker-compose", line 6, in <module>
  File "compose/cli/main.py", line 68, in main
  File "compose/cli/main.py", line 121, in perform_command
  File "compose/cli/main.py", line 952, in up
  File "compose/project.py", line 455, in up
  File "compose/parallel.py", line 70, in parallel_execute
ValueError: dictionary update sequence element #0 has length 25; 2 is required
Failed to execute script docker-compose

These images were downloaded:
$ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
traefik               latest              79f625300972        2 days ago          45.6MB
portainer/portainer   latest              6cafdc66421d        3 days ago          33.1MB
wodby/drupal-nginx    8-1.13-3.0.1        aafde4bcfbe2        5 weeks ago         31.2MB
wodby/drupal          8-7.1-3.0.0         1e6618bc71c9        5 weeks ago         362MB
wodby/mariadb         10.1-2.3.5          37582351402a        2 months ago        205MB
mailhog/mailhog       latest              669347153085        7 months ago        19.1MB

Codebase
Built-in vanilla Drupal
Host OS
Debian Stretch
Docker info output
Containers: 5
 Running: 2
 Paused: 0
 Stopped: 3
Images: 7
Server Version: 17.09.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.0-4-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.6GiB
Name: ithilien
ID: ZXR4:MQLX:4HLZ:YQNH:EJJE:5S4Q:RXA2:V4OO:T7VF:MGMQ:2ISN:246V
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Docker compose file
Downloaded docker-compose.yml v2.40. Made no changes to the file.
Logs output
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [NEW RELIC] Skipping...
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [Thu Nov 16 02:04:02.767089 2017] [mpm_prefork:notice] [pid 22] AH00163: Apache/2.4.10 (Debian) configured -- resuming normal operations
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [Thu Nov 16 02:04:02.767115 2017] [mpm_prefork:info] [pid 22] AH00164: Server built: Sep 20 2017 04:37:43
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [Thu Nov 16 02:04:02.767121 2017] [core:notice] [pid 22] AH00094: Command line: 'apache2 -D FOREGROUND'
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [NEW RELIC] Skipping...
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [Thu Nov 16 22:35:19.352604 2017] [mpm_prefork:notice] [pid 21] AH00163: Apache/2.4.10 (Debian) configured -- resuming normal operations
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [Thu Nov 16 22:35:19.352622 2017] [mpm_prefork:info] [pid 21] AH00164: Server built: Sep 20 2017 04:37:43
049aaef39184_049aaef39184_049aaef39184_d8dev1_php_1 | [Thu Nov 16 22:35:19.352627 2017] [core:notice] [pid 21] AH00094: Command line: 'apache2 -D FOREGROUND'

Downgrading docker-compose to 1.16 should solve the issue.

Did you try to upgrade to 1.17.1?

Thank you. Both versions got me past the python dictionary error.

authors: PavelPrischepa finex quietone1

license: mit

license_source: bigquery


text:
Time doesn't pass in some games.

Some games needs to sincronize in game time with the phone, and games like The sims 3 and virtual villagers needs it to progress!
Virtual villagers babes don't grow!

Next time, please use the "Bug report" template and fill in all fields.
I tried virtual villagers - I didn't see any problems, everything works as it should.
Describe your actions in more detail, indicate the version of the game and emulator.

repo: woesss/JL-Mod


text:
Use (optionally?) inet6 transport option

Hi, sorry if that's a bad issue, I'm just not sure where this configuration should be on a user level or library one.
I was trying to do some requests to an ip6 host where dns nameserver is also an ip6. So inet could not resolve the domain.
The only thing that worked for me is to create a separate Finch instance with config
    %{
      default: [
        conn_opts: [
          transport_opts: [
            inet6: true
          ]
        ]
      ]
    }

and use it with Req.
I'm also not entirely sure ip4 connections will still work, would it fallback to use ip4? By the looks of it, it does

Thank you for reporting it, that's definitely a limitation. Yes, currently the only way to configure connection options is to start your own Finch pool. I want to make it easier, most likely starting a pool with custom options for you, but I haven't think that through. Regarding ipv4 on ipv6, no idea.

Just for the sake of interest I tried running a request against a domain with only A record configured (no AAAA) with above config, it resolves correctly to ipv4 address. Obviously it's not good enough reason for just adding this option to the Finch instance that Req starts by default, and also I practically have no knowledge how it works/suppose to work.
Either way thanks for the reply! It was relatively straightforward to find right option, just needed to dive through Req -> Finch -> Mint -> inet docs :smile: but as always, everything was well documented.
p.s. thanks for the library and good docs!

authors: sysashi wojtekmach

repo: wojtekmach/req


text:
1 to params.seq_length -1 ?

https://github.com/wojzaremba/lstm/blob/master/main.lua#L212
Shouldn't this be 1 to len?

It was scurried up. It's good that I was looking only on the validation
before.  Thanks a lot !
On Fri, Mar 27, 2015 at 10:59 AM, Nicholas Léonard <notifications@github.com

wrote:

https://github.com/wojzaremba/lstm/blob/master/main.lua#L212
Shouldn't this be 1 to len?
—
Reply to this email directly or view it on GitHub
https://github.com/wojzaremba/lstm/issues/7.

--
Regards,
Wojciech Zaremba
pursuing PhD in deep learning
Courant Institute, NYU

authors: nicholas-leonard wojzaremba

repo: wojzaremba/lstm


text:
fix: Error: Member not found: 'FragmentProgram.compile'

Description
I'm getting a FragmentProgram.compile error after generate the flutter-widget through the CLI. This prevents to run the code.
The whole error:
lib/widgets/water_ripple.dart:41:25: Error: Member not found: 'FragmentProgram.compile'.
        FragmentProgram.compile(
                        ^^^^^^^
../../.pub-cache/hosted/pub.dev/umbra_flutter-0.1.0-dev.4/lib/src/umbra_widget.dart:88:32: Error: The method 'shader' isn't defined for the class 'FragmentProgram'.
 - 'FragmentProgram' is from 'dart:ui'.
Try correcting the name to the name of an existing method, or defining a method named 'shader'.
                return program.shader(
                               ^^^^^^
Target kernel_snapshot failed: Exception

Steps To Reproduce

Add umbra_cli: 0.1.0-dev.4 and  umbra_flutter: 0.1.0-dev.4 to pubspec.yaml
Generate a flutter widget from any glsl file. (it could be the most basic one)
Run the app.
See error

Expected Behavior
No error after generating either a flutter widget or a pure dart shader
Additional Context
Flutter version: 3.13.4
Flutter 3.13.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 367f9ea16b (4 weeks ago) • 2023-09-12 23:27:53 -0500
Engine • revision 9064459a8b

That is to be expected as this package hasn't been updated to the latest Flutter version where the ShaderProgram syntax changed

Oh... got it!
Is it an update on the way?
thanks for your answer and hard work on this!

authors: cdmunoz wolfenrain

repo: wolfenrain/umbra


text:
Cannot create select if it does not have ID

We usually do not add IDs - it has no importance to us. However it fails to create a select this way. The line that fails:
customDropdown.classList.add(originalSelect.id),
I cannot even fathom how to make a PR as I do not how much you actually use it. I am not even sure why one would add an ID to a class list...

This is also causing an issue for us in a tabbed layout where there is filter form on each tab.   The filter forms are generated by generic code, so their select widgets don't have unique id's.
I'm not much of a JS programmer, but I wonder if it might be possible to store a reference to the select DOM element rather than relying on its id?  I'd be happy to work on this, but would like to know if this is even something that the maintainers would consider or think might be a fruitful direction?
Excellent job with this component btw - so good to have such a great option with zero dependencies.

authors: TivoSoho powderflask


text:
Add Moog's End Structures & Bigger End Cities

They both look great and function fine with Nullscape. I'll include some pics below

In-game pictures w/ Nullscape

Hm, the second image worries me but I don't know if that is good or bad. From what I can see, 4 end ships in one end city which means 4 elytras.

Hm, the second image worries me but I don't know if that is good or bad. From what I can see, 4 end ships in one end city which means 4 elytras.

True. Tbh I included the bigger end cities because woodiertexas was looking at it. Love Moog's structures tho I think they fit in really well

authors: Imzxhir sleepy-evelyn


text:
Collapsable/group output by command

Clear and concise description of the problem
Currently executed command with trace script is being added +  prefix and in large output it's hard to see what output is for what command if multiple commands is used for one step
Suggested solution
Replace +  with something more unique, example ❯ ? And display in log similarly how github actions does display steps.
Alternative
No response
Additional context
No response
Validations

[X] Checked that the feature isn't part of the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

That would be really cool 🤩

authors: anbraten lafriks

repo: woodpecker-ci/woodpecker


text:
ISA: aarch64 vs arm64

Component
agent
Describe the bug
The Woodpecker agent registers itself as running on linux/aarch64
{
"message":"starting Woodpecker agent with version 'next-0b34578923' and backend 'docker' using platform 'linux/aarch64' running up to 1 pipelines in parallel"
}

and does not work when using the platform linux/arm64 in workflows.
Steps to reproduce

Compile Woodpecker agent from the current main branch on AARCH64
Install and configure the agent
Setup a workflow which uses linux/arm64 as platform.
Observe, that linux/aarch64 is not regarded the same as linux/arm64 by Woodpecker.

Expected behavior
Woodpecker recognizes arm64 and aarch64 as synonyms for the same CPU ISA or uses one of these consistently - the agent sets linux/arm64 on AARCH64.
System Info
Linux debian 6.1.0-23-arm64 #1 SMP Debian 6.1.99-1 (2024-07-15) aarch64 GNU/Linux

{
  "source": "https://github.com/woodpecker-ci/woodpecker",
  "version": "next-0b34578923"
}

Additional context
No response
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]

Seems, the same as https://github.com/woodpecker-ci/woodpecker/discussions/2861
https://ci.daniil.it/repos/65/pipeline/1469/config

authors: Release-Candidate zc-devs


text:
Create pipeline mock backend

create a pipeline backend to mock exec for integration testing
TODO:

[x] document mock backend in development docs
-> https://woodpecker-ci-woodpecker-pr-3820.surge.sh/docs/next/development/testing

close #3503

mock found already first error :dagger:
build and use cli exec with this config:
steps:
  - name: echo
    image: dummy
    commands: echo ja

we get:
8:38PM DBG cli/common/hooks.go:38 > Checking for updates ...
8:38PM DBG cli/update/updater.go:25 > Current version: next-1f21033432
8:38PM DBG cli/update/updater.go:28 > Skipping update check for development & next versions
8:38PM DBG cli/common/hooks.go:49 > No update required
8:38PM FTL cmd/cli/main.go:27 > error running cli error="[bad_habit] Please set an event filter for all steps or the whole workflow on all items of the when block"

I expect the cli to not fail just lock the error - as error type is bad_habit

if we would have this framework merged ... the bugfix for #3821 could add an regression test for this exact case ...

@anbraten with this we could in the long term also catch ui glitches like: https://cloud.obermui.de/s/gcZfzD7SDLxBs6i/download/vid-20240622-220313.mkv
(in the main branch, we don't get notivied via eventstream when services are stoped ...)

Well I personally do see value in have it shipped in the normal cli and agent binarys ... but as of now if i realy would need it i can compile stuff myselfe.
will do ...

@qwerty287 I dont get the problem ?!?
yes this does not help us right now at all but I have to do the init groundwork at some point

ah that's what you want ... well it's posible but we have to alter how we register backend engines into cli and agent ...

moved unrelated changes int new pull: https://github.com/woodpecker-ci/woodpecker/pull/3831

Started using the dummy backend for some unit (almost integration) testing:
Works quite nice already. Would like to set all behavior options using env vars instead of using the name. Some additional options I tried:

FAIL_START_STEP=true, FAIL_TAIL_STEP=true, etc  (so we can let any of the backend functions fail)
STEP_EXIT_CODE=123 So we can pass a special exit code
STEP_OOM_KILLED=true to say one step failed due to an oom error

The runner_test.go I have used:
package agent

import (
	"context"
	"fmt"
	"testing"
	"time"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/mock"

	"go.woodpecker-ci.org/woodpecker/v2/pipeline/backend/dummy"
	"go.woodpecker-ci.org/woodpecker/v2/pipeline/backend/types"
	"go.woodpecker-ci.org/woodpecker/v2/pipeline/rpc"
	"go.woodpecker-ci.org/woodpecker/v2/pipeline/rpc/mocks"
)

type peery struct {
	*mocks.Peer
}

func (p *peery) Done(ctx context.Context, id string, state rpc.WorkflowState) error {
	return nil
}

func TestRunnerCanceledState(t *testing.T) {
	backend := dummy.New()
	_peer := mocks.NewPeer(t)

	peer := &peery{_peer}

	hostname := "dummy"
	filter := rpc.Filter{
		Labels: map[string]string{
			"hostname": hostname,
			"platform": "test",
			"backend":  backend.Name(),
			"repo":     "*", // allow all repos by default
		},
	}
	state := &State{
		Metadata: map[string]Info{},
		Polling:  1, // max workflows to poll
		Running:  0,
	}
	r := NewRunner(peer, filter, hostname, state, &backend)
	ctx, cancel := context.WithCancel(context.Background())

	workflow := &rpc.Workflow{
		ID: "1",
		Config: &types.Config{
			Stages: []*types.Stage{
				{
					Steps: []*types.Step{
						{

							Name: "test",
							Environment: map[string]string{
								"SLEEP": "10s",
							},
							Commands: []string{
								"echo 'hello world'",
							},
							OnSuccess: true,
						},
					},
				},
			},
		},
		Timeout: 1, // 1 minute
	}

	peer.On("Next", mock.Anything, filter).Return(workflow, nil).Once()
	peer.On("Init", mock.Anything, "1", mock.MatchedBy(func(state rpc.WorkflowState) bool {
		return state.Started != 0 && state.Finished == 0 && state.Error == ""
	})).Return(nil)
	peer.On("Done", mock.Anything, "1", mock.MatchedBy(func(state rpc.WorkflowState) bool {
		return state.Started != 0 && state.Finished != 0 && state.Error == ""
	})).Return(nil)
	peer.On("Log", mock.Anything, mock.Anything).Return(nil)
	peer.On("Wait", mock.Anything, "1").Return(nil)
	peer.On("Update", mock.Anything, "1", mock.Anything).Return(nil)
	peer.On("Extend", mock.Anything, "1").Return(nil).Maybe()

	go func() {
		time.Sleep(100 * time.Millisecond)
		fmt.Println("canceling ...")
		cancel()
	}()

	err := r.Run(ctx)
	assert.NoError(t, err)
}

Started using the dummy backend for some unit (almost integration) testing:

jep not for this pull :)


text:
Make page more mobile friendly

We don't want to have to pinch to zoom

PR #7 addresses this by hooking into the website's responsive layout

repo: wooken/mptlog


text:
processor.Parser is undefined

If I use the example at https://github.com/wooorm/retext#usage, I get the error
C:\Users\Morten\node_modules\retext-emoji\index.js:133
    var proto = processor.Parser.prototype;
                                ^

TypeError: Cannot read property 'prototype' of undefined
    at emoji (C:\Users\Morten\node_modules\retext-emoji\index.js:133:33)
    at Retext.use (C:\Users\Morten\node_modules\retext\index.js:113:19)
    at Object.<anonymous> (C:\Users\Morten\Desktop\retext.js:8:6)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:475:10)
    at startup (node.js:117:18)
    at node.js:951:3

I have installed retext, retext-emoji and retext-smartypants and I'm using node v4.0.0.

Sorry, I should put a note up. I’m in the process of updating retext, and all its plugins. Could you try installing with @next? npm install retext@next should do the trick?!

I havent got the time to update the docs yet, but you should be able to run the example as follows:
/* Require dependencies. */
var Retext = require('retext');
var emoji = require('retext-emoji');
var smartypants = require('retext-smartypants');

/* Create an instance using retext-emoji and -smartypants. */
var retext = new Retext()
    .use(emoji, {
        'convert' : 'encode'
    })
    .use(smartypants);

/* Read a document. */
retext.process(
    'The three wise monkeys [. . .] sometimes called the ' +
    'three mystic apes--are a pictorial maxim. Together ' +
    'they embody the proverbial principle to ("see no evil, ' +
    'hear no evil, speak no evil"). The three monkeys are ' +
    'Mizaru (:see_no_evil:), covering his eyes, who sees no ' +
    'evil; Kikazaru (:hear_no_evil:), covering his ears, ' +
    'who hears no evil; and Iwazaru (:speak_no_evil:), ' +
    'covering his mouth, who speaks no evil.',
    function (err, file, doc) {
        /* Handle errors. */
        if (err) {
            throw err;
        }

        /* Log the text content of the tree (the transformed input). */
        console.log(doc);
        /**
         * This logs the following:
         *   The three wise monkeys […] sometimes called the three
         *   mystic apes—are a pictorial maxim. Together they
         *   embody the proverbial principle to (“see no evil,
         *   hear no evil, speak no evil”). The three monkeys are
         *   Mizaru (🙈), covering his eyes, who sees no evil;
         *   Kikazaru (🙉), covering his ears, who hears no evil;
         *   and Iwazaru (🙊), covering his mouth, who speaks no evil.
         */
    }
);

Oh okay. I'm just about to learn nodejs in order to use this amazing library :-)
Your example works!. Thank you!

Wow, i’m honoured :) Great to hear it’s working. I’ll let this issue open ’till i update the readme.

Do you also have any plans for implementing https://en.wikipedia.org/wiki/Tf–idf?

Never had the need, but i don’t doubt if someone could implement it. I’m actually not that familiar, but I could probably help you if you’d wanted to!

I will take a look at it when I become better at programming :-)
I guess it's something like
// build corpus
var document1 = "This text is about node.";
var document2 = "This text is about ruby.";
var document3 = "This text is about nothing."
var corpus = [document1, document2, document3];

// some long text
var document = "This text is about node and ruby.";

// stopwords to filter out
var stopwords = ['it', 'is', 'am'];

// split into terms
var terms = document.split(/\W+/).filter(function(token) {
  // lowercase words (ignore case)
  token = token.toLowerCase();

  // filter out short words and stopwords
  return token.length >= 2 && stopwords.indexOf(token) === -1;
});

// loop through remaining terms
for (var i=0; i<terms.length; i++) {
  var term = terms[i];

  // compute tfidf for term
  var tfidf = tfidf(term, document, corpus);

  // print
  console.log(term + '(tfidf: ' + tfidf + ')');
}

// function to compute tf-idf
function tfidf(term, document, corpus) {
  // compute term frequency (occurances in text)
  var num_occurances_in_document;
  var tf = num_occurances_in_document;

  // compute inverse document frequency as idf=log(N/df_t)
  var num_documents_in_corpus;
  var num_documents_containing_term;
  var idf = Math.log(num_documents_in_corpus / document_frequency);

  // return tf-idf
  return tf * idf;
}

but I guess many of the needed functions are already implemented in retext.

Yup, retext has real good support for finding “words” :)

Closed by 08a095d9748e6d3b06aad82f32752ca6d39b3aef.

repo: wooorm/retext


text:
只发送消息，不消费

我们项目的消费者在另一个系统已经建好，现在我只想发送消息不消费，应该怎么操作呢？

我们项目的消费者在另一个系统已经建好，现在我只想发送消息不消费，应该怎么操作呢？

以下两种方案：

使用command命令将指定builder close即可
在config/plugin/workbunny/webman-rqueue/process.php中注释掉对应builder的消费者进程

repo: workbunny/webman-rabbitmq


text:
Add Combo Point APL

Is your feature request related to a problem? Please describe.
Ability to add combo points via APL action for redirect and HaT
Describe the solution you'd like
An APL action drop down in misc to add combo points to the character on a target.
Describe alternatives you've considered
Attempted to cast as part of prepull debuffs but didnt have the CP to apply it.
Additional context
Add any other context or screenshots about the feature request here.

#649 fixed

repo: wowsims/sod


text:
Integração Pagamentos.

Integração com metodos de pagamentos do whatsapp @icleitoncosta .

Olá @lucazin, não é necessário marcar.
Você diz enviar pedidos ou de fato, enviar pagamentos?

Opa!
Desculpe, achei que não teria problema.
No caso sería enviar pagamentos..
Mas essa de enviar pedidos já tem no swagger?
Abs
Em ter., 14 de nov. de 2023 22:59, Cleiton Carvalho <
@.***> escreveu:

Olá @lucazin https://github.com/lucazin, não é necessário marcar.
Você diz enviar pedidos ou de fato, enviar pagamentos?
—
Reply to this email directly, view it on GitHub
https://github.com/wppconnect-team/wppconnect-server/issues/1585#issuecomment-1811680690,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGXVDFSVHTE2QC5FNGYMBXDYEQOYHAVCNFSM6AAAAAA7LRSXNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJRGY4DANRZGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Opa! Desculpe, achei que não teria problema. No caso sería enviar pagamentos.. Mas essa de enviar pedidos já tem no swagger? Abs Em ter., 14 de nov. de 2023 22:59, Cleiton Carvalho < @.> escreveu:
…
Olá @lucazin https://github.com/lucazin, não é necessário marcar. Você diz enviar pedidos ou de fato, enviar pagamentos? — Reply to this email directly, view it on GitHub <#1585 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGXVDFSVHTE2QC5FNGYMBXDYEQOYHAVCNFSM6AAAAAA7LRSXNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJRGY4DANRZGA . You are receiving this because you were mentioned.Message ID: @.>

A função de enviar pagamentos ainda não está disponível no whatsappweb, então conseguimos isnerir por aqui, pelo menos não no momento. Vou transferir para o wajs para em breve tentarmos uma solução (se essa for possível). A de envio de pedidos, estou fazendo um PR na lib, e vou fazer um PR aqui também para inserir ela.

authors: icleitoncosta lucazin

repo: wppconnect-team/wppconnect-server


text:
Import seemingly not working amongst modules

I think that the best way to put this is with an example:
I have some modules that I want to be able to import to my scripts. Those are of course not compiled through wrenInterpret(), but instead the strings with their code are retruned when required using loadModule().
I have a problem trying to export a specific module into another, I get that the class I try to import is Null, so if course trying to call static functions in a Null doesn't work.
It's pretty weird, because I can import modules to scripts and modules between modules, but for some reason this specific combination of modules doesn't work.
This is the "Physics" module
import "ObjectLinker" for Vec3, EngineComunicator
import "UI" for ButtonComunicator

...
class ComponentPhysics{
        ...
	getEuler(){
		ButtonComunicator.C_ButtonGetState(0,0)
		EngineComunicator.consoleOutput("hello")
		return Vec3.new(PhysicsComunicator.C_GetEulerX(gameObject, component),
                PhysicsComunicator.C_GetEulerY(gameObject, component),
                PhysicsComunicator.C_GetEulerZ(gameObject, component))
	}
        ...
}

This is the scripts that calls it
import "ObjectLinker" for ObjectLinker,
EngineComunicator,
InputComunicator,
ComponentType

class bug is ObjectLinker{

construct new(){}

 Start() {
	_rigid_body = getComponent(ComponentType.PHYSICS)
 }

 Update() {
	_rigid_body.getEuler()
 }

}

This is the function that belongs to ObjectLinker that returns the instance
getComponent(type){
	var component_uuid = ObjectComunicator.C_GetComponentUUID(gameObject, type)
...
	if(type == ComponentType.PHYSICS){
		return ComponentPhysics.new(gameObject, component_uuid)
	}
 ...
}

I know this code makes no sense without context, but the thing is that calling ButtonComunicator.C_ButtonGetState() works, while calling EngineComunicator.consoleOutput() tells me that EngineComunicator is Null
I know for sure that the ObjectComunicator module works, since I use it everywhere, so why can this happen?
I don't want to copy all the code that I use here, since it would be a really long issue, but if it is needed I can send a .zip with the files or something.

From a quick look, is the issue here maybe circular reference? If module A imports module B which imports module A again, one of these will be null because it was still busy importing the first one.
Typically you can resolve this by import later on, closer to the usage site.

Closing for now until hearing back.

repo: wren-lang/wren


text:
ARM64 platform

worked fine on arm64

Coverage remained the same at 64.7% when pulling 2ef291f701482ec5f66f4392aea3bff6b8fe7f48 on v12aml:master into 3ecfd46549fa19006dd2399f79349cdf5a653ec8 on wrouesnel:master.

Would you mind drafting a release including this change to have a release including binaries for arm64?


text:
Fix syntax issues

Purpose
This PR fixes syntax issues in the package.

Closing since these changes are in https://github.com/wso2-ballerina/package-twilio/pull/30.


text:
Add cell wait for telepresence and improve error message of test cmd

Purpose

Add cell wait for telepresence and improve error message of test cmd

Codecov Report

Merging #741 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #741   +/-   ##
=======================================
  Coverage   54.21%   54.21%
=======================================
  Files          56       56
  Lines        2182     2182
  Branches      213      213
=======================================
  Hits         1183     1183
  Misses        948      948
  Partials       51       51

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 f9539a3...82ddc17. Read the comment docs.

authors: azinneera codecov-io


text:
Error when trying to disable the Resident Key Manager

Description
It does not allow to disable the Resident Key Manager from the APIM Admin Portal. When trying to disable it, an error is being displayed on the portal that says "Missing required configuration" and on the server logs an error is being logged that says "Error while Retrieving Key Manager configuration".
Steps to Reproduce

Set up WSO2 IS as the Resident Key Manager
Login to the Admin Portal and disable the Resident Key Manager

Affected Component
APIM
Version
4.0.0 and 4.1.0
Environment Details (with versions)
No response
Relevant Log Output
[2022-06-29 13:24:33,991] ERROR - GlobalThrowableMapper Error while Retrieving Key Manager configuration for 68c333af-281d-46b8-8514-0491aad4474c in organization carbon.super

Related Issues
No response
Suggested Labels
No response

Closing the issue as it was resolved by the update. Thanks @dulithsenanayake for the support.


text:
Merge release-4.9.3 branch back to 4.9.x

Purpose

$subject

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: sahandilshan:x: wso2-jenkins-botYou have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant sahandilshan


text:
[4.8.x] Upgrade Jettison to 1.5.4

Jettison 1.5.3 has been identified with a vulnerability

Jettison orbit - https://github.com/wso2/orbit/tree/master/jettison/1.5.4.wso2v1


text:
Added 'docs' folder to contain documentation

Added a README.md file containing the basic details of building blocks of UUF in point form.

@roonyh If there is an issue for this, better to mention it with one of the keywords [1] to auto-close it once this is merged.
[1] - https://help.github.com/articles/closing-issues-via-commit-messages/

@chamilad Got it. Thanks! Looks like there is no issue for this yet.

@roonyh Please create an issue for this.

Closing as repo is deprecated.

authors: chamilad roonyh this


text:
[API-M 2.6.0] Change the download link of war file

This latest war file includes the fix for [5], which has been done for a customer requirement. Also, you can find the created doc issue in [6]. Appreciate if you could update the docs at your earliest, so that we can share the doc with the customer.
[1] https://docs.wso2.com/display/AM260/Initializing+projects+using+the+CLI+Tool
[2] https://docs.wso2.com/display/AM260/Migrating+the+APIs+to+a+Different+Environment
[3] https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment
[4] https://docs.wso2.com/display/AM260/Building+CICD+Pipeline
[5] https://github.com/wso2/product-apim/issues/11876

This is now fixed.

Another change was added to api-import-export-2.6.0-v17.war file recently to fix a bug (introduced by the previous change). Hence, we have to replace the current file with the file attached below.
Can you please update the APIMCLI related doc pages ([1], [2], [3], and [4]) with the attached api-import-export-2.6.0-v17.war file?
Appreciate if you could update the docs at your earliest, so that we can share the docs with the customer.
[1] https://docs.wso2.com/display/AM260/Initializing+projects+using+the+CLI+Tool
[2] https://docs.wso2.com/display/AM260/Migrating+the+APIs+to+a+Different+Environment
[3] https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment
[4] https://docs.wso2.com/display/AM260/Building+CICD+Pipeline

Updated.


text:
(Master branch) Updating the default ports documentation

Merging https://github.com/wso2/docs-apim/pull/4060 to Master.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


text:
Fix heading

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Fixed with https://github.com/wso2/docs-choreo-dev/pull/932


text:
Request Schema Validator issue when resolving Open API 3 $ref definitions

Description:
The APIM 4.0.0 currently has an issue of not being able to validate Open API 3 definitions when the schema validation is enabled.
After debugging the carbon-apimgt repo it was identified that the parameters/components referenced with $ref in the Open API 3 definitions are not getting resolved in the swagger-parser [1] library.

Example:
paths:
  /users/{userId}:
    get:
      summary: Returns a user by ID.
      parameters:
        - in: path
          name: userId
          required: true
          schema:
            type: integer
            format: int64
            minimum: 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'    # <-------
  /users:
    post:
      summary: Creates a new user.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'      # <-------
      responses:
        '201':
          description: Created

This could be easily solved by passing the ParseOptions object into the OpenAPIParser.readContents() method with the ParseOptions.resolveFully set to true like below:
OpenAPIParser openAPIParser = new OpenAPIParser();
ParseOptions parseOptions = new ParseOptions();
parseOptions.setResolveFully(true);
SwaggerParseResult swaggerParseResult =
        openAPIParser.readContents(swagger, new ArrayList<>(), parseOptions);

The above fix too does not work due to an issue [2] in the swagger-parser version used in APIM 4.0.0
[1] https://github.com/swagger-api/swagger-parser
[2] https://github.com/swagger-api/swagger-parser/issues/1579
Suggested solution:
The APIM 4.0.0 currently uses the swagger-parser version 2.0.20 and the fix for the aforementioned issue is fixed in 2.0.29 version, therefore the fix would be to upgrade the swagger-parser version used in APIM 4.0.0 to 2.0.29
Steps to reproduce:

Publish an Open API 3 definition with referenced parameters/components ($ref)
Enable schema validation
Create an application
Subscribe to the API
Invoke the API with invalid referenced parameters/components to check if it gets validated
If it does not get validated this issue is reproducible

Affected Product Version:
APIM 4.0.0

Optional Fields
Related Issues:

Suggested Labels:

Suggested Assignees:

Did not have to update the swagger-parser version to fix this issue. Adding Parse Options and setting resolve fully to true solves this issue.
Same as this PR https://github.com/wso2/carbon-apimgt/pull/10504/files


text:
[APIM 2.6] /publisher Peer not authenticated on login

Description:
When logging into the /publisher or /store, I get the "Peer not authenticated" error.
To give more context, I created a new keystore, exported its .pem certificate and imported it into the client-trustore.jks and finally updated the SSL keystore configuration to use this new one, as written here: https://docs.wso2.com/display/ADMIN44x/Configuring+Keystores+in+WSO2+Products#Configuring keystores for SSL connections
WSO2 Carbon Log:
TID: [-1234] [] [2020-03-10 15:03:32,866]  INFO {org.wso2.carbon.core.internal.permission.update.PermissionUpdater} -  Permission cache updated for tenant -1234 {org.wso2.carbon.core.internal.permission.update.PermissionUpdater}
TID: [-1234] [] [2020-03-10 15:03:32,898]  INFO {org.apache.axis2.transport.http.HTTPSender} -  Unable to sendViaPost to url[https://<serverPublicIP>:9443/services/AuthenticationAdmin] {org.apache.axis2.transport.http.HTTPSender}
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
        at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:450)
        at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.verifyHostName(SSLProtocolSocketFactory.java:276)
        at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:186)

Affected Product Version:
APIM 2.6

Updating the log with SSL Debug enabled:
%% Invalidated:  [Session-11, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384]
http-nio-9443-exec-25, SEND TLSv1.2 ALERT:  fatal, description = certificate_unknown
http-nio-9443-exec-25, WRITE: TLSv1.2 Alert, length = 2
http-nio-9443-exec-25, called closeSocket()
http-nio-9443-exec-25, handling exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
http-nio-9443-exec-25, IOException in getSession():  javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
http-nio-9443-exec-45, READ: TLSv1.2 Alert, length = 2
http-nio-9443-exec-45, RECV TLSv1.2 ALERT:  fatal, certificate_unknown
http-nio-9443-exec-45, fatal: engine already closed.  Rethrowing javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
http-nio-9443-exec-45, fatal: engine already closed.  Rethrowing javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
http-nio-9443-exec-45, called closeOutbound()
http-nio-9443-exec-45, closeOutboundInternal()
http-nio-9443-exec-45, SEND TLSv1.2 ALERT:  warning, description = close_notify
http-nio-9443-exec-45, WRITE: TLSv1.2 Alert, length = 2

I reinstalled wso2 from scratch and now it is working, even after adding the keystore certificate. Not sure which bad configuration caused this. Closing this issue as possibly not solvable without additional configuration infos.


text:
Enable travic CI build for all identity repos

Noticed that we have not enabled Travis CI for PRs in the following repos,

https://github.com/wso2-extensions/identity-outbound-auth-email-otp
https://github.com/wso2-extensions/identity-outbound-auth-totp

There is a very good chance we have other missed repos as well. It would be nice to have Travis enabled for the repos.

We have enabled build based on github actions and moved away from from travic for PR builds


text:
Catching general Exception and using specific error messages

Describe the issue:
Following code, block exists in 15 places inside the carbon kernel (4.7.x branch too).  Also, we do catch catch (Exception in hundreds of places.
  } catch (Exception e) {
      String errorMessage = "Error occurred while getting database type from DB connection";
      if (log.isDebugEnabled()) {
          log.debug(errorMessage, e);
      }
      throw new UserStoreException(errorMessage, e);
  }

This will give misguiding error messages because it is not only caching exceptions related to connection creating but any exception thrown from other methods called inside the try block.
For example, doUpdateUserListOfRoleWithID() [1] calls DatabaseUtil.udpateUserRoleMappingInBatchMode() and that method throws UserStoreException. But with the following implementation, the error message would be "Error occurred while getting database type from DB connection".
    public void doUpdateUserListOfRoleWithID(String roleName, String[] deletedUserIDs, String[] newUserIDs)
           throws UserStoreException {

       ...
       try {
           ...
           DatabaseUtil.udpateUserRoleMappingInBatchMode(dbConnection, sqlStmt1, roleName, tenantId,
            ...
       } catch (SQLException e) {
           DatabaseUtil.rollBack(dbConnection);
           String msg = "Database error occurred while updating user list of role : " + roleName;
           if (log.isDebugEnabled()) {
               log.debug(msg, e);
           }
           throw new UserStoreException(msg, e);
       } catch (Exception e) {
           String errorMessage = "Error occurred while getting database type from DB connection";
           if (log.isDebugEnabled()) {
               log.debug(errorMessage, e);
           }
           throw new UserStoreException(errorMessage, e);
       } finally {
           DatabaseUtil.closeAllConnections(dbConnection);
       }

   }

[1] https://github.com/wso2/carbon-kernel/blob/22dc3a72d436c2cfb219b055d54e005c66f18add/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/jdbc/UniqueIDJDBCUserStoreManager.java#L1501-L1582

The UserStoreException thrown from DatabaseUtil.udpateUserRoleMappingInBatchMode() is not handled properly in any of the places. Some places are expecting the error code ERROR_CODE_DUPLICATE_WHILE_WRITING_TO_DATABASE, but the above method never throws this code, and also skipping the error in a duplicate error is not acceptable during a batch process, because a duplicate in a batch process means there was a single record which was duplicated.
Sample applied for DatabaseUtil.udpateUserRoleMappingWithExactParams() as well.
Also DatabaseUtil.udpateUserRoleMappingInBatchMode() tries to commit the transaction which is incorrect.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!

authors: isharak rksk


text:
Do we need to restart server to update tenant wise data from UI

As in this document we can update tenant wise session time out and save it from UI.
But is says we have to restart the server ? Is that true ?
https://docs.wso2.com/display/IS550/Configuring+Session+Timeout

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


text:
Bump versions

bump framework and identity-apps-core versions

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7839406328

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7839406328
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7840155283

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7840155283
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7840190078

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7840190078
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7840201037

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7840201037
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/7841625981

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/7841625981
Status: failure

https://github.com/wso2/product-is/pull/19476


text:
input stack overflows when \rmfamily is redefined by polyglossia and option Scale is used

This was triggered by this question: https://tex.stackexchange.com/questions/375517/xelatex-fontspec-hebrew-tex-capacity-exceeded-sorry-input-stack-size-5000
polyglossia with language hebrew redefines \rmfamily. Its code now contains a \addfontfeature. If the option Scale=MatchLowercase is used this \addfontfeature calls it too.
The code of the Scale-option on the other side contains \rmfamily. And so there is a loop of \rmfamily calling \rmfamily and one get a
      ! TeX capacity exceeded, sorry [input stack size=5000].

\documentclass{article}
\usepackage{fontspec}

\ExplSyntaxOn
\cs_set:Nn \__fontspec_calc_scale:n
 {
  \group_begin:
    \rmfamily %breaks
    %\fontfamily{\rmdefault}\selectfont %works
    \__fontspec_set_font_dimen:NnN \l__fontspec_tmpa_dim {#1} \font
    \__fontspec_set_font_dimen:NnN \l__fontspec_tmpb_dim {#1} \l_fontspec_font
    \tl_gset:Nx \l__fontspec_scale_tl
     {
      \fp_eval:n { \dim_to_fp:n {\l__fontspec_tmpa_dim} /
                   \dim_to_fp:n {\l__fontspec_tmpb_dim} }
     }
    \__fontspec_info:n {set-scale}
  \group_end:
 }
\ExplSyntaxOff

\setmainfont[Scale=MatchLowercase]{Noto Sans Hebrew}
\usepackage{polyglossia}
\setmainlanguage[]{hebrew}

\begin{document}

{\rmfamily blub }

\end{document}

I'm not quite sure who to blame -- polyglossia or fontspec -- but on the whole I think that a user command like \rmfamily should not be used in the internal code of fontspec.

Hmmm, I don’t like that \rmfamily is patched but I think your correction is good. Actually my change probably needs to be tested — I guess it’s not robust since it assumes that fontspec has been the one that set rmfamily. Probably need some additional guards!

authors: u-fischer wspr

repo: wspr/fontspec


text:
用creator v2.12 最新版打开label的demo，VMLabel如果带有template mode的，其对应Label组件中String值会被自动清空。

旧版本2.09没问题，麻烦看看是不是有什么兼容问题。
新建的label带templatemode的，重新打开场景或者编辑下代码刷新同样也会丢失。

我也遇到这个问题

看了下，是上次提交在label中假的if(!this.originText)return "";导致的

我在vmlabel.ts加了个保护暂时解决这个问题，在编辑器模式下不让他去改动这个值
setLabelValue(value) {
if (CC_EDITOR) return;
this.getComponent(this.labelType).string = value + '';
}

VMLabel 中 CC_EDITOR 条件取反了：
start(){
if (CC_EDITOR) return; //修改此处
this.onValueInit();
}

authors: aiversonwk wsssheep xuzhiping7


text:
Issue 205 override field name

Fixes #205
Brings the ability to customize a field HTML name attribute.

I think we need to track both the Python name and HTML name, because the data can come from different sources. When passing in obj, data, or kwargs, it should match the Python name. The HTML name should only be matched for incoming data.

Adjusted the name matching and updated the docs.
@azmeuk going forward, use calculated == expected order for asserts, I changed them here.

authors: azmeuk davidism

repo: wtforms/wtforms


text:
重构测试用例数据缓存

开始运行时，读取所有测试用例文件，按照文件名称将数据依次写入 redis，存储文件 hash，用于判断是否更新缓存数据
测试用例中将不读取文件，而是从 redis 中获取数据
关联测试用例：在写入测试用例数据时，同步写入一个 case_id 项目，包含 {"文件名称": [case_id]}，用于处理关联测试用例

测试数据存储key：httpfpt::case_data::文件名
测试文件hash存储key：httpfpt::case_file::hash
测试用例id存储key：httpfpt::all_case_id

测试数据存储key：httpfpt::case_data::文件名
测试数据文件hash存储key：httpfpt::case_file::hash
测试用例id存储key：httpfpt::all_case_id

测试数据存储key：httpfpt::case_data::文件名
测试数据文件hash存储key：httpfpt::case_file::hash
测试数据用例id存储key：httpfpt::all_case_id

测试数据存储key：httpfpt::case_data::文件名
测试数据文件hash存储key：httpfpt::case_file::hash
测试数据用例id存储key：httpfpt::case_id

repo: wu-clan/httpfpt


text:
Error querying custom integer scalar

Hi! I have a GQL schema that defines a custom scalar type
scalar Duration
and this is the implementation of marshaling/unmarshaling using github.com/99designs/gqlgen
// UnmarshalGQL implements the graphql.Unmarshaler interface.
func (ft *Duration) UnmarshalGQL(v interface{}) error {
	var value int64
	switch val := v.(type) {
	case int:
		value = int64(val)
	case int32:
		value = int64(val)
	case int64:
		value = val
	case string:
		intVal, err := strconv.Atoi(val)
		if err != nil {
			return fmt.Errorf("Duration: %w", err)
		}
		value = int64(intVal)
	default:
		return fmt.Errorf("Duration: %w", errTypeUnsupported)
	}

	t := time.Millisecond * time.Duration(value)

	*ft = TreasuryFlowTimeDuration(t)
	return nil
}

// MarshalGQL implements the graphql.Marshaler interface.
func (ft Duration) MarshalGQL(w io.Writer) {
	const base = 10
	conv := time.Duration(ft).Milliseconds()
	s := strconv.FormatInt(conv, base)
	_, _ = w.Write([]byte(s))
}

This works fine when querying the service directly, receiving
"value": 123
But doing query through federation and enginev2 the query fails with an error
"invalid value type 'number' for path /to/my/type, expecting string, got: 0. You can fix this by configuring this field as Int/Float Scalar"
It is fixed if I add strconv.Quote to MarshalGQL method, but in this case the value returned is a string, while I need a number.
I would much appreciate any ideas on the issue. Thanks!

When you combine the federated Schema, you have to replace the Duration scalar with Int.
This can be done, e.g. by using the ast walker/visitor from graphql-go-tools or graphql.js.
Here's an example of how we do it in WunderGraph: https://github.com/wundergraph/wundergraph/blob/a1b82a1204401e538b3341e797e19f8e67b69095/packages/sdk/src/graphql/schema.ts#L147
The execution engine of graphql-go-tools doesn't understand the encoding of custom scalars. So, to support custom scalars, you have to rewrite them into the best fitting GraphQL/JSON scalar, e.g. Float, Int, Boolean or String.

authors: dchukmasov jensneuse

repo: wundergraph/graphql-go-tools


text:
Mask IP address on demand

It changes the last octet of the IP address to zero. In default It will not modify the IP address.
Configuration file was extended with the following line:
"masked_ip": false|true,

@soobrosa please take a look at this PR.

LGTM!

authors: bfaludi soobrosa

repo: wunderlist/hamustro


text:
wxPython 2.8 compatibility: SendSizeEventToParent and SetNativeFontInfo

Added compat.SendSizeEventToParent
Adapted SetNativeFontInfo call to wxPython 2.8

Thanks a lot.

Regarding font size changes:
StaticText is not a real widget with  GTK.
You may want to change EditStaticText._properties_changed to  add "recreate2" under certain conditions, i.e. font change and 2.8 and WXGTK.
Alternatively, if you also observe mouse event problems on this platform you may want to use lib.gen.StatText again in create_widget.
Until 0.7.2  that was used. I went away mainly for unwanted behaviour on Windows, e.g. when people are using screen readers.

I see, thanks! I'll make another PR

Well, I just read your message on the list.
Does swapping these lines fix your problem with 2.8?
WindowBase.on_size:

        if event.GetEventObject() is None: return
        event.Skip()

If yes, I will do so. I think it's safe.

Yes it works! This is way cleaner than PR #437 :)

OK, then I will undo #437 and implement this modification instead.

1.0.0a5 is online. Next update after the weekend only.

authors: DietmarSchwertberger Jorilx

repo: wxGlade/wxGlade


text:
[Chore] Remove end to end test from lib and distribution package

Remove mix task from lib so it's not included in the realeased package.

For some reason this change is not reporting an error on the CI even thought a test seems to have failed 🤔

Would you mind taking another look?

It's reporting the error now 🙌
I think if we rebase with master now it will pass the test

repo: wyeworks/boom


text:
Feature request: pop()

I would like to request a pop method, if possible pop_front and back.

And while I am at it, what about push, or is this kind of queue only everything or nothing?

If I'm understanding correctly, popping a single element (assuming you use ArrayBuffer/VecBuffer) can be done using BufferSlice::into_iter, see example. "pop_back" is not supported by the algorithm, which is FIFO.
Regarding "push", I didn't really understand the question. What are you trying to achieve that Queue::enqueue can't?

I am not sure how this intended to work, it looks like enqueue takes a list of elements, push would take a single element.
So it's like all or nothing.
Because .into_iter() consumes.

I am not sure how this intended to work, it looks like enqueue takes a list of elements, push would take a single element.
So it's like all or nothing.
Because .into_iter() consumes.

You can use my_queue.enqueue([my_single_element]) (like in the example linked), and it will boil down to the same thing. I admit that the current API is not the best, and it should be possible to support both enqueuing single item and arrays of items — it's already in my drafts for the next version, among other things.

Because .into_iter() consumes.

Can you develop? In the example linked, you can see that the buffer is requeued after into_iter().next(), so the next into_iter().next() will get the second item of the buffer.
However, the best way, in term of performance, to achieve one-by-one dequeuing is to use keep the iterator instead of calling dequeue().unwrap().into_iter() each time, which costs several atomics operations. This is what I've done in my channel implementation for benchmarking.
It's indeed possible to implement a "classical" MPSC channel (with roughly the same API as crossbeam/tokio/etc.) using swap-buffer-queue, so you should be able to do a "pop".
Keep in mind that swap-buffer-queue is a lower-level primitive than other MPSC channels. While Queue::pop could be possible to implement simply with Ok(self.dequeue()?.into_iter().next()), as explained above, this operation would not be very efficient, and it wouldn't have beat crossbeam with such implementation.
That's why there is no Queue::pop equivalent, and why should use Queue::dequeue. And if you want to proceed items one by one, you can still use BufferSlice::into_iter.
Could you develop about your use case for which you would like to have Queue::pop? Isn't possible to use BufferSlice::into_iter instead? For example, this loop
while let Ok(item) = my_queue.pop() {
    // use item
}

could be rewritten with the more efficient version
while let Ok(slice) = my_queue.dequeue() {
    for item in slice {
        // use item
    }
}

Ok I did not get it that it would requeue itself if it's not exhausted, not a regular Vec for sure, thanks this gets me going.

Ok I did not get it that it would requeue itself if it's not exhausted, not a regular Vec for sure, thanks this gets me going.

I don't see this mentioned, how would I work with this queue in a multi threaded manner? Mutex?

The queue is Multiple Producer Single Consumer (almost[^1]) lock-free. You can share it across multiple threads by wrapping it in an Arc, and use Queue::enqueue concurrently in all the threads, the same way you use classical channel Sender objects. Dequeuing on the other hand can only be done in a single thread. However, there is no special Receiver object, and you can use Queue::dequeue in any threads using your Arc. If you try to use it concurrently in multiple threads, only one will succeed and others will fail with DequeueError::Conflict.
You should find some examples spawning threads in the documentation. But I agree the documentation needs to be improved.
[^1]: the algorithm only use atomic operations, but if a thread is abruptly stopped in the middle of the two-phase enqueueing, the queue will be kind of "blocked", as dequeuing will no more be possible. So it doesn't fully match the lock-free definition, more precisely the "Termination Safety" property. This is also the case for crossbeam for example.

authors: beckend linkenquydinhhexagon wyfo

repo: wyfo/swap-buffer-queue


text:
Crash while recording video with audio

This crash started to appear in our logs. I couldn't find any pattern and I couldn't produce the error with the devices I have.
[libCGE.so] CGE::CGEVideoEncoderMP4::getAudioStreamTime()
SIGSEGV
---
#00  pc 0x000000000004821c  /data/app/appname/lib/arm/libCGE.so (CGE::CGEVideoEncoderMP4::getAudioStreamTime()+4)
#01  pc 0x0000000000446253  /data/app/appname/oat/arm/base.odex (org.wysaid.nativePort.CGEFrameRecorder.nativeGetAudioStreamtime [DEDUPED]+82)
#02  pc 0x000000000042e375  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#03  pc 0x00000000004011c1  /system/lib/libart.so (art_quick_invoke_stub+224)
#04  pc 0x00000000000a82b9  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
#05  pc 0x00000000001f0529  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236)
#06  pc 0x00000000001eb017  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814)
#07  pc 0x00000000003fcc89  /system/lib/libart.so (MterpInvokeDirect+196)
#08  pc 0x0000000000421114  /system/lib/libart.so (ExecuteMterpImpl+14484)
#09  pc 0x000000000133b17c  /data/app/appname/oat/arm/base.vdex (org.wysaid.nativePort.CGEFrameRecorder.getAudioStreamtime+16)
#10  pc 0x00000000001cf793  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.589044918)+378)
#11  pc 0x00000000001d3e79  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152)
#12  pc 0x00000000001eafff  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790)
#13  pc 0x00000000003fe261  /system/lib/libart.so (MterpInvokeVirtualQuick+428)
#14  pc 0x0000000000424d94  /system/lib/libart.so (ExecuteMterpImpl+29972)
#15  pc 0x000000000133c9bc  /data/app/appname/oat/arm/base.vdex (org.wysaid.view.CameraRecordGLSurfaceView$c.run+298)
#16  pc 0x00000000001cf793  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool) (.llvm.589044918)+378)
#17  pc 0x00000000001d3dbf  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
#18  pc 0x00000000003ebd3d  /system/lib/libart.so (artQuickToInterpreterBridge+880)
#19  pc 0x00000000004328ff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
#20  pc 0x0000000000270911  /system/framework/arm/boot.oat (java.lang.Thread.run+64)
#21  pc 0x000000000042e375  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
#22  pc 0x00000000004011c1  /system/lib/libart.so (art_quick_invoke_stub+224)
#23  pc 0x00000000000a82b9  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
#24  pc 0x000000000035e36d  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
#25  pc 0x000000000035f0c5  /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+320)
#26  pc 0x0000000000380ba3  /system/lib/libart.so (art::Thread::CreateCallback(void*)+866)
#27  pc 0x0000000000064975  /system/lib/libc.so (__pthread_start(void*)+22)
#28  pc 0x000000000001e875  /system/lib/libc.so (__start_thread+24)

 CGE::CGEVideoEncoderMP4::getAudioStreamTime()
Maybe the function is called with a dangling pointer? Please check if this is called after the object released.

It has been more than a year, but you were right. Another exception was causing the screen to close without the object being released. After I fixed that, it has never occurred again.

authors: ozaneb wysaid

repo: wysaid/android-gpuimage-plus


text:
How do I contribute this repository?

I would like to submit some simple pull requests, however, I didn't see how do I compile the source javascript file to a dist/index.js, is there a predefined command defined in package.json? Or could you add the webpack settings into the repo?

Sorry for the late reply.
You can edit src/index.js, which is later compiled with ncc to generate dist/index.js

Thank you @frunkad!

repo: wyugen/shopify-theme-action


text:
[request -> application launcher] Add a application launcher officially to the repository

After installing Wyverkiss with Wayland, I tried every application launcher but it would always complain either about some error that's undocumented, or a dependency that doesn't exist in the repository or something else like this. My request to you is to add at least one application launcher (preferably wofi or bemenu) with patches (if required).

bemenu is in the community repository.

[Child 1217, MediaDecoderStateMachine #1] WARNING: Decoder=7f8d983eda10 Decode error: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006) - static MP4Metadata::ResultAndByteBuffer mozilla::MP4Metadata::Metadata(mozilla::ByteStream *): Cannot parse metadata: file /home/adios/.cache/kiss/proc/17952/build/firefox/dom/media/MediaDecoderStateMachine.cpp:3502
Hey do you have any idea why the above is happening in Firefox? Thanks for the reply btw.

Since Wyverkiss aims to be 1:1 in terms of packages with KISS (with the sole exception of GNU utils), I'm not adding any packages except when the main KISS repo adds it.

Since Wyverkiss aims to be 1:1 in terms of packages with KISS (with the sole exception of GNU utils), I'm not adding any packages except when the main KISS repo adds it.

As you say, thanks for the reply.

You could open this issue on the main KISS repository and try your luck there.

authors: azwyver f1nniboy konimex

repo: wyvertux/wyverkiss


text:
🛑 Wordpress-blog is down

In d8e4fa7, Wordpress-blog (https://wangye.page) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wordpress-blog is back up in 5b325ac.

repo: wyvwly/upptime


text:
Support config and limit

storage:
  driver: oss
  parameters: {}
  redirectLinks: ""
  linkExpires: 1h

mirrors:
- domain: "registry-1.docker.io"
  alias:
  - "docker.io"
  auth:
    username: xxx
    password: xxx

  limitRules:
  - matchImage: *
    request: 100r/m
    bandwidth: 10G/h
  - matchIP: 0.0.0.0/0
    bandwidth: 100m/m

limitRules:
- matchIP: 0.0.0.0/0
  bandwidth: 500m/m

这个是配置文件吗，我应该如何使用呢

计划支持的限流的能力, 在纠结是否有这么细粒度的必要

代理服务器拉取镜像过多会触发这个：
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
匿名用户6个小时有100个镜像拉取额度，登录后可以增加到200个，但貌似没法登录。

是的 你需要给 crproxy 配置一个 docker 账号

参考 -u 参数  user:pass@docker.io

如何配置呢
发自我的iPhone
------------------ Original ------------------
From: Shiming Zhang @.>
Date: Tue,Jun 11,2024 6:37 PM
To: wzshiming/crproxy @.>
Cc: 凡之 @.>, Comment @.>
Subject: Re: [wzshiming/crproxy] Support config and limit (Issue #5)
是的 你需要给 crproxy 配置一个 docker 账号
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

感谢，了解了
发自我的iPhone
------------------ Original ------------------
From: Shiming Zhang @.>
Date: Tue,Jun 11,2024 6:38 PM
To: wzshiming/crproxy @.>
Cc: 凡之 @.>, Comment @.>
Subject: Re: [wzshiming/crproxy] Support config and limit (Issue #5)
参考 -u 参数  @.***
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

如果你要本地存储, 建议用 https://github.com/distribution/distribution

这个项目最初就是配合 https://github.com/distribution/distribution 一起, 作为一个多源聚代理合用的

好的，我试试
发自我的iPhone
------------------ Original ------------------
From: Shiming Zhang @.>
Date: Tue,Jun 11,2024 6:42 PM
To: wzshiming/crproxy @.>
Cc: 凡之 @.>, Comment @.>
Subject: Re: [wzshiming/crproxy] Support config and limit (Issue #5)
这个项目最初就是配合 https://github.com/distribution/distribution 一起, 作为一个多源聚代理合用的
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

./crproxy_linux_amd64 -a :8888 --total-blobs-speed-limit "20MB" --blobs-speed-limit "1MB"

这两个限制参数有详细说明吗，假如我服务器带宽30M，这两个参数我应该配置多少。
另外
cat registry/config.yml
version: 0.1
log:
  accesslog:
    #disabled: true
    disabled: false
storage:
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: "/var/lib/registry"
  maintenance:
    uploadpurging:
      enabled: false
    readonly:
      enabled: true
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]

health:
  storagedriver:
    enabled: false

validation:
  disabled: true

proxy:
  remoteurl: http://crproxy:8080

如果crproxy在registry后面貌似没法使用 ip的限制了，因为它获取不到客户端真实地址：
./crproxy_linux_amd64 --ips-speed-limit "10"

./crproxy_linux_amd64 -a :8888 --total-blobs-speed-limit "20MB" --blobs-speed-limit "1MB"

这两个限制参数有详细说明吗，假如我服务器带宽30M，这两个参数我应该配置多少。
另外
cat registry/config.yml
version: 0.1
log:
  accesslog:
    #disabled: true
    disabled: false
storage:
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: "/var/lib/registry"
  maintenance:
    uploadpurging:
      enabled: false
    readonly:
      enabled: true
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]

health:
  storagedriver:
    enabled: false

validation:
  disabled: true

proxy:
  remoteurl: http://crproxy:8080

如果crproxy在registry后面貌似没法使用 ip的限制了，因为它获取不到客户端真实地址：
./crproxy_linux_amd64 --ips-speed-limit "10"

是的, 限流不适合在 registry 后面使用.

我现在部署的形式在服务器上已经把 registry 这一层拿掉了

这种可以，但不支持本地存储。

你是想在 服务器 上本地文件 存 blobs?

服务器磁盘够??

如果registry 中已经有的镜像，就不会找crproxy了吧

腾讯oss可以挂载磁盘上

那服务器带宽呢?

这种场景, 我建议你在前面的 nginx 配置限流

crproxy 不做任何限制

oss和服务器之间走内网，上下都免费。只收存储费用。

oss和服务器之间走内网，上下都免费。只收存储费用。

这个我知道, 我是只服务的外网下行带宽, 这部分一般超过 5M 就很贵

基本上, 拉一两个镜像就能导致你服务器, 带宽占满

请问：
我现在的架构是 nginx->官方registry(数据保存磁盘)-->crproxy,
磁盘中的数据量越来越大了，如何分析 拉取量低的，并将它们删除呢。

写个脚本分析 nginx 日志统计使用量然后删除, 或者等 7 天会自己 GC

是的 七天 不用就删除

这种机制, 适合在内网集群做缓存, 不太适合提供公开服务

authors: gebangfeng wzshiming

repo: wzshiming/crproxy


text:
Easy get crash chrome , firefox browser

Hi all
when i try using browser on x11vnc-desktop . I see it easy to crash
reproduce bug :  open several tab , quick scroll mouse up then down serveral time  or press page up/ page down several time
google-chrome-stable
[2712:2823:0817/200238.637506:ERROR:bus.cc(394)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[2751:2751:0817/200238.758995:ERROR:sandbox_linux.cc(378)] InitializeSandbox() called with multiple threads in process gpu-process.
[2712:2712:0817/200238.772510:ERROR:gpu_process_transport_factory.cc(1016)] Lost UI shared context.
(google-chrome-stable:2712): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Unknown or unsupported transport \u201cdisabled\u201d for address \u201cdisabled:\u201d
[2712:2712:0817/200248.055402:ERROR:CONSOLE(1)] "Not allowed to load local resource: chrome-search://local-ntp/theme.css", source: https://www.google.com/_/chrome/newtab?ie=UTF-8 (1)
[1:14:0817/200256.685075:ERROR:render_media_log.cc(30)] MediaEvent: MEDIA_ERROR_LOG_ENTRY {"error":"FFmpegDemuxer: open context failed"}
[1:1:0817/200256.718458:ERROR:render_media_log.cc(30)] MediaEvent: PIPELINE_ERROR DEMUXER_ERROR_COULD_NOT_OPEN
[1:18:0817/200257.100358:ERROR:adm_helpers.cc(73)] Failed to query stereo recording.
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
[1:17:0817/200324.370884:ERROR:adm_helpers.cc(73)] Failed to query stereo recording.
zsh: bus error  google-chrome-stable
firefox
(/usr/lib/firefox/firefox:765): dconf-WARNING **: Unable to open /var/lib/menu-xdg/dconf/profile/user: Permission denied
(/usr/lib/firefox/firefox:725): dconf-WARNING **: Unable to open /var/lib/menu-xdg/dconf/profile/user: Permission denied
[Parent 641, Gecko_IOThread] WARNING: pipe error (47): Connection reset by peer: file /build/firefox-x_t4I3/firefox-61.0.1+build1/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
[Parent 641, Gecko_IOThread] WARNING: pipe error (56): Connection reset by peer: file /build/firefox-x_t4I3/firefox-61.0.1+build1/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
[Parent 641, Gecko_IOThread] WARNING: pipe error (55): Connection reset by peer: file /build/firefox-x_t4I3/firefox-61.0.1+build1/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
###!!! [Parent][MessageChannel] Error: (msgtype=0x16007F,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
Does need patch chrome / firefox before to work fine on docker environment ?
Thanks you

Are you using the latest script ubuntu_desktop.py to launch the Docker image?
It is important that the "docker run" command is started with the arguments "--shm-size 2g".
https://github.com/x11vnc/x11vnc-desktop/blob/master/ubuntu_desktop.py#L373
By default, Docker assigns only 64m to /dev/shm, which is too small and causes firefox or chrome to crash.

I will try it .
Thanks for your support


text:
ОФ: Не открывается форма тестирования в 8.3.5 с отключенным режимом синхронности расширений и внешних компонент #416

Продолжение задачи #416 для ОФ
ОФ: Не открывается форма тестирования в 8.3.5 с отключенным режимом синхронности расширений и внешних компонент #416

А нужен ли данный функционал в ОФ? Сомнительно, что будут конфигурации с ОФ и отключенным режимом использования синхронности.

я сделал задачу, чтобы был отмечен технический долг.
Если вдруг появятся заинтересованные лица, тогда и можно будет плотнее позаниматься

Создал новую базу, поменял режим форм на "обычный" и вот уже запрет асинхронности включен, запрет модальных окон включен и т.д.

То, что это можно сделать никто не спорит, но какой в этом смысл? Асинхронность и отсутствие модальности нужна только для корректной работы в браузере, а обычные формы там не откроешь. Так, что, приведенный пример, какой-то нежизненный.

authors: ValeraS artbear pumbaEO


text:
Failed to change directory to 'util/genMarketFiles'

when I run the binary with this command ./backtest -i -f 2018-09-23 -t now
It show this error message:

Failed to change directory to 'util/genMarketFiles': No such file or directory at script/backtest.pl line 489.

I think the currect folder path will be

/exchange/util/genMarketFiles/

also at line 469 it should be "exchange/wrappers/$sets[0]-markets.json", otherwise import won't start

I'm on a raspberry PI 2 and i have the same problem. When i run the command with the -i parameter the backtest-tool fails with the same error.
I need to import fresh data to test some strategies.

repo: xFFFFF/Gekko-BacktestTool


text:
Add support for StarkNet v0.7.0

Support StarkNet v0.7.0.
TODOs:

[ ] pending block query
[ ] events in transaction receipts

While pending block query is live on both alpha-goerli and alpha-mainnet, events seem to be on alpha-goerli at the moment.
If we simply add events to transaction receipts, the client will fail on alpha-mainnet. Making the field optional seems just wrong to me: it really isn't optional in a up-to-date network, after all.
Generally speaking, how should we handle situations like this?
@milancermak Any thoughts?

Another option is to review and approve the branch, but not merge it into master until alpha-mainnet is updated to support said features.

Oops. Funny. They removed the status field of transaction receipts in get_block responses, which breaks our provider on alpha-goerli because we defined that field as optional.
Let me check with StarkNet to see if this is part of the v0.7.0 upgrade. If so we need to also add it to the TODO list.

If we take the "not merging to master until on mainnet" approach, we should probably maintain a "testnet" branch, which is strictly not-behind master and contains all feature additions and removals.
But there's still a problem. We can't possibly write our tests (especially integration tests) against mainnet. So we'll effectively still be running master tests against testnet, but the problem is master isn't supposed to be compatible with testnet anymore.

Well... in this very case I'm gonna just request the removal of those fields into master anyways, but the discussion above on the management of feature addition/removal still stands. Maybe we should turn that into a GitHub Discussion instead.

One more breaking change found. Before v0.7.0 calling get_transaction_receipt on non-existent transaction hashes result in an object containing the hash passed in as transaction_hash. Now it's just 0x0.

What about having master in sync with the testnet (alpha-goerli) and whatever is  cargo released working with mainnet?
I'm assuming Starkware wants to eventually have on mainnet what's on testnet, possibly with some tweaks that come out of testing. Hence testing will always be more fluid, mainnet stable.
I agree with you that this discussion is relevant, but also Starknet is still alpha and true to its label :) I think even Starkware is still learning how to do deploys and network upgrades in the best way possible.

Good idea. I think that would serve us well, especially when we don't have a fully working library yet lol. Let's just keep master in sync with alpha-testnet then.

All tasks done. The library should now work with StarkNet 0.7.0.

authors: milancermak xJonathanLEI

repo: xJonathanLEI/starknet-rs


text:
ArmorStand water move enhancement

If you're using papermc, you can accomplish preventing armorstands from moving in water quite easily without disabling gravity:
    @EventHandler
    public void onEntityMove(EntityMoveEvent event) {
        if (event.getEntity() instanceof ArmorStand armorstand) {
            if (armorstand.isInWater()) {
                event.setCancelled(true);
            }
        }
    }

I don't have enough time to make a pull request, but since you're using spigot-api, I'd recommend using reflection to check if the papermc event exists.

Hi @kaxon-dev,
thanks for the advice.
As soon as I have a moment I add it to the checks.

I found the method you mentioned above (armorstand.isInWater()) in the spigot API. I'm not sure if it is present in all versions, as soon as I have a moment I take a look.
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Entity.html#isInWater()
for now the idea is to diversify these two checks for what they are, so
1 => to disable the gravity
2 => to disable movement in the water
but i'm sure that i don't need to add paper-api for now.

Hi @kaxon-dev,
I analyzed the thing a bit, and in my opinion it could be heavy as a process for a spigot server.
For a papermc I don't know how such an event can be optimized, it always check the location of each entity every time, (Imagine the weight of this process if you have millions of entities in the world).
So, after a few attempts I believe that it is not the best way to block this type of event,
reasons:

It is compatible only for paper and for versions 1.17+ compiled in java 16-17.
Also, by doing this, I block the use of the resource to who uses previous versions (like 1.12-1.13).
In addition this event could also be heavy if you have a server with many entities.

Yes, you could do the listener by hand, i.e. check all the armorstand 1 to 1 for each x tick, but in my opinion it is bullshit:

You should make 1 thread to get every entity in the world (obviously in loaded chunks) and check if it is anarmorstand...
to then manage and archive its location.

And then every tick (minimum 1, otherwise then you have the animation effect that goes back), you should check if the location is different and if it is in the water you should take the armorstand and move it back every time the location changes.

I don't know, but in my opinion it seems like bullshit, when you could just block gravity since the generation of the entity.
Ah yes, I assume that paper does this thing like that, for each entity, I don't know how it doesn't make it overlap, but in my opinion some slight delay is present with the increase of entities and players.
So in summary, I'm sorry but it's not possible at the moment.
If you have any better ideas to handle it, say it... for now, I don't see a better way than to turn off the gravity.

Thanks for the information. Since that solution isn't feasible, how about instead of disabling armor stand gravity altogether, you add a configuration setting for scanning the chunks every X amount of minutes and set their gravity depending on whether or not they're in water?
if (entity.getType() == EntityType.ARMOR_STAND) {
    entity.setGravity(!entity.isInWater());
}

Hi,
Yes it is a good idea, but I do not do the method for everyone, I mean, I would do something that does not involve the change of the gravity of all the armorstands, in order to avoid delays, I'd rather do something like:
If condition: armorstand is in water and gravity is enabled
do: disable gravity
else: continue;
The only thing now is to figure out if I can add this check to the thread that checks the number of armorstand x chunk/xyz... or do a new thread...
Anyway, I'll try to optimize the controls, also if i can, i try to manage everything from 1 single common thread.

authors: kaxon-dev xSavior-of-God

repo: xSavior-of-God/ArmorStand-Limiter


text:
[BUG] npm init @xshadowblade doesn't work

Describe the bug
Running npm init @xshadowblade doesn't work even though it should (it reverts to default behavior).
To Reproduce
Steps to reproduce the behavior:

Run npm init @xshadowblade

Expected behavior
Running npm init @scope should run npx @scope/create but doesn't.
Screenshots
N/A
Desktop (please complete the following information):

Node v22

Additional context
N/A

Fixed, works now.
Probably takes some time to index it on npm.

repo: xShadowBlade/template-defaults


text:
Log Info State value

Habe folgenden Eintrag im Info Log:
"(16658) State value to set for "wallpanel.0.kueche.lastInfoUpdate" has to be type "boolean" but received type "number"
Meldung kommt alle 30 sec, also jeden Abfrageintervall.

Installiere dir die neue Version und mache ein Upload

dann lösche den wallpanel.0.kueche.lastInfoUpdate state warte kurz ab dann wird der Adapter ihn neu erstellen

Perfekt! Danke!


text:
Show if a PR has already been reviewed

Is your feature request related to a problem? Please describe.
You can't see whether a PR was already reviewed by a team member
Describe the solution you'd like
It would be nice if the dashboard could show if a PR was approved or reviewed.

Sounds good. This feature should also show if changes have been requested.

@HenrikHoreis4321 what should be the expected behaviour? A pull request may have multiple reviews.
The following is a sample query obtaining the first 10 reviews for each PR:
{
  organization(login: "<example_organization>") {
    team(slug: "<example_team>") {
      repositories(first: 100, orderBy: {field: NAME, direction: ASC}) {
        nodes {
          name
          pullRequests(states: [OPEN], first: 100) {
            nodes {
              url
              createdAt
              author {
                login
              }
              title
              reviews(first: 10) {
                nodes {
                  state
                }
              }
            }
          }
        }
      }
    }
  }
}

repo: xalvarez/github-team-dashboard