Dependency in /body module seems to be in the wrong scope.

Problem Description
Dependency "com.networknt:status" in the "body" module is set to the default scope compile. However, it seems that it's only used in the tests with classes [com.networknt.exception.ClientException, com.networknt.status.Status].
        <dependency>
            <groupId>com.networknt</groupId>
            <artifactId>status</artifactId>
        </dependency>

Possible Outcome
This brings redundant compile time dependency not only for light-4j, but also for projects using light-4j. Changing its scope to test can reduce the size of dependency tree.
Solution
To fix the problem, i change the dependency scope to test, recompile the module and run the tests. The module is successfully compiled and all tests have passed after the changes.

@stevehu Could you help me review this issue? Thx :p

@HappyHacker123 You are right. I have merged the PR. Thanks a lot for your help.


finalist submission

Application for Registering Team to CODE CAMP 1.0
This pull request template helps you complete an application to the CODE CAMP 1.0 HACKATHON. Use the checklist below to verify that you have followed the instructions correctly.
(Put x inside [] like [x])
Select the type of Pull Request
[] Registration Pull request.
[x] Submission Pull request.
Checklist ✅

[x] I have read the instructions on the README file before submitting my application and gone through CODE_OF_CONDUCT.
[x] I have Submitted my team's details by making a folder of my team as instructed in How to send Pull Request page.
[x] I have used the Markdown file template to add my information for the Hackathon.
[x] I have given all the necessary details as mentioned in template index.md file and the details are correct and best to my knowledge.
[x] I understand that a reviewer will merge my pull request after examining it or ask for changes in case needed.
[x] I understand I should not tag or add a reviewer to this Pull Request.
[x] I understand the Details added to the template will be used as a means of communication at the time of result declaration.
[x] I have added the event to my calendar.

@rxhxt You were required to create a new folder by the name of your team. You made the changes inside the team folder itself. Please refer here https://codecamphackathon.netlify.app/FinalSubmission/.
Please make a new PR

@rxhxt You were required to create a new folder by the name of your team. You made the changes inside the team folder itself. Please refer here https://codecamphackathon.netlify.app/FinalSubmission/.
Please make a new PR

can i fork it again and then do it?

Yes.


serializing.py zoneinfo.Zoneinfo object has no attribute 'localize'

Hey there, I had an issue with using tasklib along with taskwiki for managing due dates and opening information splits. The expected result was to have the information split open in vim when pressing the [CR] key over the task, and having the document save without errors when using :w; what instead occurred was an error being thrown (in the title) and an information split not opening as well as an error popping up when I go to save the markdown file.
I've read about a few different methods of alleviating this issue, such as reverting tzlocal version, and would like to share how I fixed the issue (at least as a short-term band-aid). In the serializing.py file, on line 233 in the datetime_normalizer() function, the if value.tzinfo is None condition attempts to convert to a localized datetime object. To fix the error, I converted the Zoneinfo object to string and localized it with pytz.timezone() instead, so the new line(s) look like this:
quickfix = str(local_zone)
localized = pytz.timezone(quickfix).localize(value)

It's not pretty or super efficient, but it's a quickfix that I thought may be useful to some. Thank you for your time and consideration, and feel free to share criticisms with this approach (we are all students after all).

The post is a suggestion for those running into issues.


Revert "LiveLab 8022 : Lab 4 - Kafka-TEQ code and Load okafka project as library"

This PR tries to revert oracle/microservices-datadriven#326 to get back deleted stuff from other projects.

@paulparkinson I reviewed all 369 files and the revert process is bringing back the other projects' stuff. Please could you approve this PR?


Issue/414

Check List:

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

one recurrent comment is do not use toIterable() just to make the tests to pass as we want to test Iterator not Iterable. It the assertions used is not available anymore for Iterator use one that exists like hasNext

I performed a diff to master after the last push today and as far as I can see, the other toIterable calls are used in classes to directly related to the Iterator assertion.

Integrated thanks @stovocor!


go/build: Import does not find source directory for code in modules

go/build's Import and Context.Import can't find import paths in modules. We've been assuming this was unfixable and that people should move to golang.org/x/tools/go/packages. But I think we can and should fix this for Go 1.11.
I've been thinking about the problem wrong. I assumed people were using the export data from GOPATH/pkg, because that would be the only way to handle large programs efficiently. And I assumed that we really needed to get all the information out of the go command in one shot, instead of asking for every package in sequence. But it sounds like most tools actually just use the source importer, slow as that may be in general, since they are working with relatively small code bases.
It occurred to me this morning that we can keep the source importer working as long as we make package go/build's Context.Import invoke the go command to ask what directory to look in, for each package.
Using the go command this way will have a pseudo-quadratic behavior where you ask the go command about the top-level package, it loads everything it needs to know about that package (including info about transitive dependencies), and then reports only the directory of the top-level package. Then this repeats for each dependency, which in turn reloads all the information about the dependency's dependencies, hence the pseudo-quadratic (depending on the shape of the import graph). But if people are OK with the source importer, then that may be a signal that the package graph is small enough not to worry about this. And in any event, "a little slow" is certainly better than "not working at all", so it's a better stopgap for tools that aren't ready to convert to golang.org/x/tools/go/packages.
We can limit the go command invocation to happen only when:

the AllowBinary and IgnoreVendor flags are not set,
Context describes the local file system (all the helper functions are nil),
srcDir is outside GOPATH/src (or GO111MODULE=on),
there's a go.mod in srcDir or above,
the release tags are unmodified from Default.Context,
and path does not name a standard library package.

Those limitations should mean that invoking the go command only happens when is really needed, so that existing uses will be completely unaffected and still use the non-go-command code paths. The standard library constraint is not necessary for correctness but avoids unnecessary invocations to ask about the standard library, which can still be found by the old code.
In the long term we still want to move people to golang.org/x/tools/go/packages, but this should provide a much smoother transition.
Would fix most of #24661, magefile/mage#124, and probably many other issues, at least provisionally.

Maybe this is a silly question, but why do we need to shell out to the go command at all? (Can we move modload and its dependencies someplace where go/build can import them?)
Are tools invoking Import multiple times from the same binary? If so, it seems like we could avoid at least some of the quadratic behavior by using the -deps flag and caching all of the packages it returns in an in-process (and per-srcDir) cache.

Maybe this is a silly question, but why do we need to shell out to the go command at all? (Can we move modload and its dependencies someplace where go/build can import them?)'

A very real problem we've had with go/build is that tools built with one Go version are used with another Go version. Concretely, if I go get github.com/magefile/mage, we want that one binary to work no matter which version of Go I am using.  Same for golint, etc. The fundamental mistake here is to allow tools to have a copy of the logic for where you get source code from. The last source layout change was the introduction of vendor directories and we ran into the same problem. There should be one canonical implementation - inside the go command. Other tools should invoke the go command to access this implementation. If you update to a new Go distribution, you get a new go command, and all the tools that invoke it automatically adapt to whatever has changed.
It matters a lot that there's one source of truth.

Are tools invoking Import multiple times from the same binary? If so, it seems like we could avoid at least some of the quadratic behavior by using the -deps flag and caching all of the packages it returns in an in-process (and per-srcDir) cache.

If we must, we could think about using -deps and adding a cache. But I don't think we must - I think most things will run plenty fast enough. And there are two significant drawbacks to using -deps and adding a cache: -deps and the cache.
 We really do want tools that work with multiple releases. We may issue a point release for Go 1.10 with more flags in go list, for use by golang.org/x/tools/go/packages, but if we can avoid making go/build depend on that hypothetical point release, it's better not to.
Second, the cache: for a one-shot program analysis, yes, the cache would make sense. But in general go/build.Import returns information about the current file system, so there are likely to be long-running programs that occasionally load packages, do things, and throw them away. Those need to not see stale results. The API has no cache invalidation because it has never had a cache. It does not seem prudent to add one at this point.
Programs that are too slow with the modified go/build should almost certainly update to golang.org/x/tools/go/packages instead of us adding a cache to go/build.

without having to maintain "mage for Go 1.10" vs "mage for Go 1.11beta2"

Thank you!  I was really worried about that.

If so, it seems like we could avoid at least some of the quadratic behavior by using the -deps flag and caching all of the packages it returns in an in-process (and per-srcDir) cache.

As another data point, some time ago I created the very much temporary https://github.com/myitcv/hybridimporter:

myitcv.io/hybridimporter is an implementation of go/types.ImporterFrom that uses non-stale package dependency targets where they exist, else falls back to a source-file based importer.

My experience with hybridimporter is that having even moderately complex import graphs pushes you rapidly towards wanting to cache the result of go list -deps. I take Russ' point about long running programs and stale data, but I'm not aware that go/packages has a "solution" for that either (https://go-review.googlesource.com/c/tools/+/116359/1/go/packages/doc.go#51) as yet.
This isn't per se an argument in favour of caching; just a note of what I observed. I don't know what the "best" answer for go/build is.

But it sounds like most tools actually just use the source importer, slow as that may be in general, since they are working with relatively small code bases.

If you mean go/importer.For("source", nil), I think it has had more to do about correctness than size of input. For example, go/importer.For("gc", nil) has historically been a source of confusion for users if they forgot to go install the packages first.


Created make_level script to automatically generate new level files

heyo, I pushed the finished version. It's a little jank so let me know if I should change something.

@bthayer2365 just to make sure you saw this

Thanks for the reminder! Just put my head down for the last few hours trying to get the test suites up and running. It's done now, pull master and check it out!
I'll review this now

I was reviewing that whole time but it was worth it. This is going to be very useful...
After those changes, I'll look deeper into the code and let you know about anything else

Regarding the changes requested above:

Which init.py? And do you mean at the very end of the file?
Added newline after pkg_resources
Tabs replaced with four spaces. Originally used .replace("\t", " " * 4) but this caused problems so just ctrF and replaced the \t's with "    ". fight me lol
I am not sure what the test cases are. Let me know what they do/where they are and how they interact with this stuff.
Is this for creating the empty text files? Could you explain this syntax a little more?
Contingent on 5.
Re-added os.path and os.path.join
Changed prompt
Done-zo
That wasn't actually supposed to be there lol, I was just using that to check that the file pointers closed. I'm not sure if python magic takes care of that for you and I didn't want a memory leak lmao.
By logs, do you mean display on the terminal whether files were successfully created?
Fixed!

Regarding the changes requested above:

Which init.py? And do you mean at the very end of the file?

I mean gitgud/skills/blah/__init__.py at the end

Added newline after pkg_resources

great

Tabs replaced with four spaces. Originally used .replace("\t", " " * 4) but this caused problems so just ctrF and replaced the \t's with "    ". fight me lol

o.0

I am not sure what the test cases are. Let me know what they do/where they are and how they interact with this stuff.

I think it's self-explanatory, but let me know. They're in each skill folder, so there's one in gitgud/skills/basics/test_levels.py

Is this for creating the empty text files? Could you explain this syntax a little more?

It creates a file for writing. 'w+' means write ('w') and create if it doesn't exist ('+')
What you had before, 'a+' means append and create if it doesn't exist
The with syntax uses a closable type, it's the equivalent of

file = open(file_name, 'w+')
pass
file.close()

Contingent on 5.
Re-added os.path and os.path.join
Changed prompt
Done-zo

💯

That wasn't actually supposed to be there lol, I was just using that to check that the file pointers closed. I'm not sure if python magic takes care of that for you and I didn't want a memory leak lmao.
By logs, do you mean display on the terminal whether files were successfully created?

Basically. Just let me know every time something I care about happens. "File X created" "Level added in Y" "Test created" etc

Fixed!

👍

I've got something else fun for you to do.
pip install flake8
flake8 make_level.py

Google pep8. It's a standard that tries to make code more readable and consistent. It has all kinds of things from spacing standards to what to name your variables and such. Flake8 tells you where you violate pep8.

Let me know when you're ready for a review

Everything should be done except the test cases. I was confused because I forgot to pull. I'll figure out what they do and look up pep8 my next worktime. Today, I'm probably gonna stop here.

Sounds good. I'll get the review going and then you can continue whenever. If you don't understand the test cases, just ask

Addressed all separate comments above and the newline issue you mentioned in the change request.
Still need to do test case generation, and look at flake8/template files. That's it for now

Hey, we're also going to need to add an entry to setup.py to register the package

For the setup thing do i just add it to packages?

No, more like
packages=[
    'gitgud',
    'gitgud.skill.newskill'
],

make_level.py is just a utility for us as developers, not something we need to deploy to everyone

Ok, can you explain what that does?
This code you wrote:
packages=[
'gitgud',
'gitgud.skill.newskill'
],

Yeah, this is not something that you will notice, only something that matters when I'm deploying the code and someone installs it. When you're running locally, python just looks through the filesystem and sees that the packages are there, but for example, there may be tests we don't want to include in the package, so we don't specify it as a module. When we specify it, python's setuptools knows which packages to include

If you pull the most recent version of the code, you'll notice that there's also
    package_data={
        'gitgud.skills.basics': ['_*/*'],
        'gitgud.skills.extras': ['_*/*'],
        'gitgud.skills.rampup': ['_*/*'],
    },

You'll need to add this too

Done with comments, pep8. Let me know if the logging looks good. If not, let me know what you want it to look like using an example format.
still need to do testcases

test case file generation complete!

In setup.py, the entry in package_data is missing a colon

Beyond that, most everything looks good. I'm moving onto reviewing the code itself

In setup.py, the entry in package_data is missing a colon

Thanks for getting this done, the file officially works perfectly!

New exception code and renamed folder.

For test_levels.py, I made it a text file because if I leave it as a python file, CircleCI tries to compile it and it breaks because of the placeholder key. When it is actually used, it is renamed with a python format.


[RFC]: Add Ascend NPU as a new backend

Motivation.
VLLM provides an easy-to-use backend access machanism and there are many backends have been integrated.
As shown in https://github.com/vllm-project/vllm/issues/6368, https://github.com/vllm-project/vllm/issues/6728, https://github.com/vllm-project/vllm/issues/6066, many users want to use vllm on Ascend NPU.
The main purpose of this RFC is to follow the existing backend access machanism and make Ascend NPU available for VLLM.
Proposed Change.

We introduce Ascend Executor/Worker(s) as Ascend runtime management and worker on NPU. Then there are two ways for model management.
First way is the single ops mode which is same as the NVIDIA GPU Custom Ops. PageAttention/Flash Attention ops are needed for prefill/decode inference in Attention layer. Second way is the whole graph mode which is same as the Transformers Neuronx Model. This way uses ATB-models(Ascend Transformers Boost models) which contains more acceleration features, such as Continuous Batching/PageAttention/FlashDecoding. Users only need to load and run model inference without caring about the implementation of those features.
Both way need to implement the AttentionBackend, and the second way does not need to implement the get_impl_cls().

The second way is more faster but the model supports are limited, the first way is a more general and there are no model limited. So there will be a Model Router to control which model management to use. Models supported by MindIE will use whole Graph mode for better acceleration performance, otherwise will go to single ops mode. People also can use a variable to control which model management to use.
Feedback Period.
A month
CC List.
@mgoin
@WoosukKwon
Any Other Things.
Background
Ascend NPU is a range of AI processors using Neural Processing Unit. It will efficiently handle matrix-matrix multiplication, dot-product and scalars. There are many projects have supported Ascend NPU, such as onnxruntime, deepspeed, llama.cpp
MindIE is the Ascend inference engine, a high-performance deep learning inference framework, is designed based on Ascend hardware.
RoadMap
The initial version will include the following:

Ascend Executor
Ascend Worker
Ascend Model Runner
Ascend MindIE Backend
Ascend SingleOps Backend

I've just added 3 scripts "npu_worker.py", "npu_model_runner.py" and "npu_executor.py", some additional small modifications to use "npu" instead of "gpu" as the device and I've managed to run the vLLM on Ascend. I'm not sure why the MindIE and SingleOps are needed. But first integration should take like an hour..

mark


Use direct RKI API

With this PR the lib uses direct RKI API instead of https://api.corona-zahlen.org.
Abstractions and URLs of RKI API were overtaken from https://github.com/marlon360/rki-covid-api project.
This should fix #28.

Really thanks four your effort, but as already announced I created a python library for the parsing.
With the latest version the parsing inside this component is not required anymore.


Fix warnings/issues reported in Windows and by CodeQL/Coverity

Fix the warnings and issues reported:

in Windows platform
by CodeQL static code analyzing
by Coverity static code analyzing

And update CodeQL script to build exception handling and memory features.

LGTM

Merge the PR since it was reviewed and tested.


Added support for bulk operations

While adding tests I've found and fixed two bugs:

handle multi=False in db.collection.remove
fix in update with upsert=True (extra document should not be inserted if any other modified)

Thank you for contributing! I'd currently only have some comments regarding coding style and PEP-8 compliance but since the project does not have an automated style checker (yet!), I wont be that pedantic. Nevertheless would it be possible for you to write a simple back-to-back test with pymongo like it is done in the tests in test__mongomock.py? That would be awesome!

finally... it was hard because unfortunately it occurred that {{nModified}} key sometimes is not returned and it is dependent on mongo server version. I've added one hacky solution to know if server returns {{nModified}} key or not but it's only used with {{CollectionComparisonTest} that is skipped if there is no pymongo.

Looks good to me now. Thank you very much!


Stop inheriting write_to_console after forking

Without this change, the monitoring/parent process sets
write_to_console = true and then when the child workers fork
that setting is still true on Loops.logger. Even though we basically
never want that and it’s inconsistent with the threading engine which
creates a brand new logger.

:+1:


Release 2.3.0

See https://github.com/umccr-illumina/libica/milestone/9?closed=1

 libica 2.3 release: TOPIC


Website Design Issues

[x] Make Favicon transparent
[x] Change deploy logo to a documents logo and adapt text
[x] Clarify FAQ questions besser and write about ODbL
[x] Where should we put style reference in the maps section?
[x] How to work together with Mapbox Studio online? Upload small extract or  just deploy afterwards?

[ ] Thanks Switch for the hosting of the MBTiles files

Add note (ref to tutorial) to tileserver-mapnik

[ ] Upload lower zoom levels on download page

[ ] Link something in vector maps (repo of mapbox-gl-js-example)
[ ] Fork mapbox gl styles and work on it to provide example

[ ] Change license text in FAQ

@klokan I created a pull request for the reference to the getting started tutorial on the tileserver-mapnik repository https://github.com/klokantech/tileserver-mapnik/pull/5

Vector Tileserver link: http://klokantech.tileserver.com/v1/index.json?key=WQ5sRntXphOrWgesmtmU


Configure Bibucket Pipelines to run build in parallel

Pull Request Test Coverage Report for Build 994

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 95.992%

Totals

Change from base Build 989:
0.03%

Covered Lines:
3042

Relevant Lines:
3169

💛  - Coveralls


936 block number range

Added !EthImpl.blockTagIsLatestOrPending(blockNumberOrTag) to the conditional check to avoid multiple calls to the mirrornode.
Fixes #936

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (7711dd4) 75.08% compared to head (abfa94c) 75.08%.

:exclamation: Current head abfa94c differs from pull request most recent head 16dce7b. Consider uploading reports for the commit 16dce7b to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1265   +/-   ##
=======================================
  Coverage   75.08%   75.08%
=======================================
  Files          31       31
  Lines        2304     2304
  Branches      452      452
=======================================
  Hits         1730     1730
  Misses        442      442
  Partials      132      132

Impacted Files
Coverage Δ

packages/relay/src/lib/eth.ts
83.35% <100.00%> (ø)

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


Add config file and cache_dir property

I added a config.ini file and changed get_cache_dir() in utils to get cache_dir from the config file. Let me know if it's okay.

Nice work! I will try to extend the idea and add a few commits to this!

All right. Currently every time the cache directory is changed, a new config file is made inside the new cache directory. I've realised that it could cause some problems that way. So it could be better to only have one config file inside the .mltype directory which points to the cache directory that is currently being used.

I still need to add some docs, but let me describe quickly the way this works:
One can define a config.ini file that is by default lying in ~/.mltype folder. It's location can be also passed dynamically to all subcommands via --config flag.
The supported section names are identical to all the subcommands of mlt (ls, sample,...). Additionally, there is a
general section.
So what can this config do?

Setting reasonable defaults for the CLI options (e.g. number of characters in sample, target WPM in raw,...). How are conflicts resolved (same option specified both in the config file and as a CLI option)? The CLI argument has a preference over the config file.
One can define custom parameters in the general section that can be read anywhere in the code. Currently I only implemented the models_dir parameter that determines where ls and sample look for models. If not defined it defaults to the current behavior  - ~/.mltype/languages folder.

Example
[general]
models_dir =  /home/my_models

[sample]
n_chars = 500  # one needs to use underscores instead of hyphens
target_wpm = 70   # one needs to use underscores instead of hyphens

[raw]
instant_death = True

The changes should not break backward compability.

That's pretty cool! I've checked it out and it works well. I will look at the code soon. Looks like mine was refactored (it was kinda bad code anyways).

I am going to merge it. Hopefully it does not introduce weird bugs or behavior. It seems to work nicely both based on unit tests and manual testing.
Closes #7  - currently it does not support the color changes, however, this can be done in a separate PR
Closes #58


auth/reverseproxy: Add support for full name

This adds support for getting the user's full name from the reverse proxy in addition to username and email.
Tested locally with caddy serving as reverse proxy with Tailscale authentication.
Fixes #20775

Maybe X-WEBAUTH-NAME  means login name? Full name maybe duplicated.

Maybe X-WEBAUTH-NAME means login name? Full name maybe duplicated.

I suppose?  This is just the default value anyway, so I guess users can alway change it to what they want.  My main argument about X-Webauth-Name already being used in the wild by Grafana is that I suspect most implementations that support this will use that header name.  For example, for Tailscale, we will probably use X-Webauth-Name in our docs and any default implementations, though of course users could change it to whatever they want.
Ultimately, this isn't really that big a deal. I'm happy to change it.

A nit https://github.com/go-gitea/gitea/pull/20776/files#r946293106, otherwise LGTM.

make L-G-T-M work


Something about my package makes debugger not stop on breakpoints

Type: Bug

Behaviour
The debugger doesn't stop on breakpoints or errors, but only when importing my package. I can't figure out what it is in my setup that's breaking it. I tried creating a minimal example with a poetry project, but it doesn't reproduce the error, so here are the steps to reproduce with my codebase. The Python and Python Debugger output tabs don't appear to give any hints.
Things I tried that didn't reproduce the error (the debugger did work as expected):

a minimal poetry project
a nontrivial poetry project (siplab-gt/wslfp)
pip installing my package, both editable and noneditable

So it's something about a poetry install and something out of the ordinary in my code that (partially) breaks the debugger
Steps to reproduce:

gh repo clone siplab-gt/cleo@wslfp && cd cleo
poetry install && poetry env info, select VS Code interpreter to be the one in the virtualenv automatically created by Poetry
Create a Python file with print('code executed') in it, stick a breakpoint on it, click 'debug Python file' button, and verify breakpoint works
Stick import cleo (my package) at the top and debug file again. Verify that the code still executes (prints to console) but no breakpoint is triggered

Diagnostic data

launch.json configuration

XXX

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

2024-03-18 19:15:59.745 [info] Send text to terminal:
2024-03-18 19:15:59.745 [info] Send text to terminal:  cd /home/kyle/scratch/cleo-test ; /home/kyle/miniforge3/envs/test/bin/python /home/kyle/.vscode-server-insiders/extensions/ms-python.debugpy-2024.3.10731008-linux-x64/bundled/libs/debugpy/adapter/../../debugpy/launcher 47137 -- /home/kyle/scratch/cleo-test/foo.py

Output for Python Debugger in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python Debugger)

2024-03-18 19:15:59.531 [info] DAP Server launched with command: /home/kyle/miniforge3/envs/test/bin/python /home/kyle/.vscode-server-insiders/extensions/ms-python.debugpy-2024.3.10731008-linux-x64/bundled/libs/debugpy/adapter

Extension version: 2024.3.10731008
VS Code version: Code - Insiders 1.88.0-insider (b356b209a5a41743b45f25d569a7afb733d347a9, 2024-03-18T16:36:07.814Z)
OS version: Windows_NT x64 10.0.22631
Modes:
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

Python version (& distribution if applicable, e.g. Anaconda): 3.12.1
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Conda

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

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

Load (avg)
undefined

Memory (System)
31.73GB (7.06GB free)

Process Argv
--crash-reporter-id 13862219-8062-4bb8-969d-b654fdb7b5e1

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu-22.04

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

Memory (System)
15.49GB (9.44GB free)

VM
0%

Item
Value

Remote
WSL: Ubuntu-22.04

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

Memory (System)
15.49GB (9.44GB free)

VM
0%

Item
Value

Remote
WSL: Ubuntu-22.04

OS
Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

Memory (System)
15.49GB (9.44GB free)

VM
0%

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
vsaa593cf:30376535
py29gd2263:30784851
c4g48928:30535728
962ge761:30841072
pythongtdpath:30726887
welcomedialog:30812478
pythonidxpt:30768918
pythonnoceb:30776497
asynctok:30898717
dsvsc013:30777762
dsvsc014:30777825
dsvsc015:30821418
pythontestfixt:30866404
pythonregdiag2:30926734
pyreplss1:30879911
pythonmypyd1:30859725
pythoncet0:30859736
h48ei257:30992801
pythontbext0:30879054
accentitlementst:30870582
dsvsc016:30879898
dsvsc017:30880771
dsvsc018:30880772
d6fi2104:30968146
pydisww1:30991133
cppperfnew:30980852
8082a590:30961435
fegfb526:30952798
bg6jg535:30979844
ccp1r6:30958151
pythonait:30973460
7ghi1836:30988844

i had a same issue when import some packages. my case was duplication of package(local and global with python environment variables). so my vscode could not find the appropriate packages in my workspace. please check the package duplication with your code. maybe the main process is using other located packages.
good luck!

What do you mean package duplication? I mean, the import would have the choice between the poetry install and the local folder when I call import cleo, but that's a typical workflow

Thanks for you bug report, but the issue seems to be an error in your code and not in the extension itself. What may be happening is that somehow one of your python files is overwriting one of the ones used for the debugger. You can create an issue in debugpy, maybe they can help you.


Add Mapbox Geocoding API

https://www.mapbox.com/developers/api/geocoding/

I also am looking for Mapbox Geocoding support.

@perrygeo, @kythanh, are you up to creating a PR?

@jqnatividad I no longer working on Geocoding with Mapbox now.

I gave this a shot here https://github.com/geopy/geopy/pull/323


pkg-config not found on docker compose build

Bug description
I cannot docker compose build nor docker compose up -d the file docker-compose-non-dev.yml
See log attached.
How to reproduce the bug

clone repo
do docker compose -f docker-compose-non-dev.yml pull
do docker compose -f docker-compose-non-dev.yml build

Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Not applicable
Additional context
#0 9.513   Using cached mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)
#0 9.564 Collecting mysqlclient==2.2.4 (from -r requirements/development.txt (line 143))
#0 9.567   Using cached mysqlclient-2.2.4.tar.gz (90 kB)
#0 9.593   Installing build dependencies: started
#0 12.76   Installing build dependencies: finished with status 'done'
#0 12.77   Getting requirements to build wheel: started
#0 12.96   Getting requirements to build wheel: finished with status 'error'
#0 12.97   error: subprocess-exited-with-error
#0 12.97
#0 12.97   × Getting requirements to build wheel did not run successfully.
#0 12.97   │ exit code: 1
#0 12.97   ╰─> [27 lines of output]
#0 12.97       /bin/sh: 1: pkg-config: not found
#0 12.97       /bin/sh: 1: pkg-config: not found
#0 12.97       /bin/sh: 1: pkg-config: not found
#0 12.97       Trying pkg-config --exists mysqlclient
#0 12.97       Command 'pkg-config --exists mysqlclient' returned non-zero exit status 127.
#0 12.97       Trying pkg-config --exists mariadb
#0 12.97       Command 'pkg-config --exists mariadb' returned non-zero exit status 127.
#0 12.97       Trying pkg-config --exists libmariadb
#0 12.97       Command 'pkg-config --exists libmariadb' returned non-zero exit status 127.
#0 12.97       Traceback (most recent call last):
#0 12.97         File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
#0 12.97           main()
#0 12.97         File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
#0 12.97           json_out['return_val'] = hook(**hook_input['kwargs'])
#0 12.97         File "/usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
#0 12.97           return hook(config_settings)
#0 12.97         File "/tmp/pip-build-env-6ke4u52w/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
#0 12.97           return self._get_build_requires(config_settings, requirements=['wheel'])
#0 12.97         File "/tmp/pip-build-env-6ke4u52w/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
#0 12.97           self.run_setup()
#0 12.97         File "/tmp/pip-build-env-6ke4u52w/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 311, in run_setup
#0 12.97           exec(code, locals())
#0 12.97         File "<string>", line 155, in <module>
#0 12.97         File "<string>", line 49, in get_config_posix
#0 12.97         File "<string>", line 28, in find_package_name
#0 12.97       Exception: Can not find valid pkg-config name.
#0 12.97       Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually
#0 12.97       [end of output]
#0 12.97
#0 12.97   note: This error originates from a subprocess, and is likely not a problem with pip.
#0 12.97 error: subprocess-exited-with-error
#0 12.97
#0 12.97 × Getting requirements to build wheel did not run successfully.
#0 12.97 │ exit code: 1
#0 12.97 ╰─> See above for output.
#0 12.97
#0 12.97 note: This error originates from a subprocess, and is likely not a problem with pip.
------
failed to solve: process "/bin/sh -c pip install -r requirements/development.txt" did not complete successfully: exit code: 1

Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Even after I do a docker builder prune -a it doesn't work and gives me the same error.
It doesn't matter whether I use docker compose build or docker compose up -d.

Now I also tried to do a docker system prune -a and tried to up the most basic installation that is possible like stated in the documentation. I didn't edit the docker-compose, I didn't edit the .env file. But it still gives the same error.
So clearly I am doing something wrong or something changed that this isn't working on a clean installation.

same problem

had the same issue, what i did was adding pkg-config after line 121 here
...
        libxtst6 \
        wget \
        pkg-config \
    # Install GeckoDriver WebDriver
...

Fixed by https://github.com/apache/superset/pull/27855


Migrate the Maven layout provider tests to use the new annotations

Task Description
We recently implemented #1083 and #1084 and we now need to re-work tests listed below to use these annotations.
Please, note:

This task is quite large, but the intention is for it to be done in chunks -- you can fix one, or more tests and create a pull request and link it to this task.
Multiple people can work on this task. For this to work out properly, please add a comment, when you decide to pick some test(s) to work on, so that others know not to work on them.
This task is good for new joiners who have sufficient experience with JUnit and testing and will quickly help them learn more about the project.

What Needs To Be Done

There should be no creation of repositories and test resources (such as artifacts) in initialization methods annotated with @BeforeAll, or @BeforeEach, such as, for example, initialize() methods.
At the moment, the test methods are all creating their own test repositories and artifacts. The code for this will have to be dropped and replaced with the annotations.
Drop the removeRepositories() methods.
Drop the cleanUp() methods.
~Drop all fields that are names of storages and repositories. No two test methods/classes should share the same names of repositories, or artifacts.~ (@carlspring annotations have synchronization based on artifact and repository ID, so it should be safe not to use unique names this will only affect on concurrency factor)
Each test method needs to generate its own test repository (or repositories) and test resources (typically, artifacts).

For an illustration of a properly migrated test, please have a look at the RepositoryManagementTest.
To create repositories using annotations:
@ExtendWith(RepositoryManagementTestExecutionListener.class)
@Test
public void testWithRepository(@TestRepository(storageId = "storage0",
                                               repositoryId = "repo1",
                                               layout = MavenArtifactCoordinates.LAYOUT_NAME)
                               Repository repository)
{
    System.out.println(repository.getId());
}

Note

storage = "storage0" is default value, so it can be omitted

To create indexed Maven repository using annotations:
@ExtendWith(RepositoryManagementTestExecutionListener.class)
@Test
public void testWithRepository(@TestRepository(repository = "indexed_repo1",
                                               layout = MavenArtifactCoordinates.LAYOUT_NAME,
                                               setup = MavenIndexedRepositorySetup.class)
                               Repository repository)
{
    System.out.println(repository.getId());
}

To create test artifacts using annotations:
@ExtendWith({ RepositoryManagementTestExecutionListener.class,
              ArtifactManagementTestExecutionListener.class })
@Test
public void testArtifact(@TestRepository(layout = MavenArtifactCoordinates.LAYOUT_NAME,
                                          repository = "r1")
                         Repository r1,
                         @TestArtifact(resource = "org/carlspring/strongbox/test/test-artifact/1.0/test-artifact-1.0.jar",
                                       generator = MavenArtifactGenerator.class)
                         Path standaloneArtifact,
                         @TestArtifact(repository = "r1",
                                       resource = "org/carlspring/strongbox/test/test-artifact/1.0/test-artifact-1.0.jar",
                                       generator = MavenArtifactGenerator.class)
                         Path repositoryArtifact)
{
...
}

Note

@TestArtifact will deploy only with repository attribute, without this attribute it will just generate artifacts without deploy

To create multiple test artifact versions
@ExtendWith({ RepositoryManagementTestExecutionListener.class,
              ArtifactManagementTestExecutionListener.class })
@Test
public void testArtifact(@TestRepository(layout = MavenArtifactCoordinates.LAYOUT_NAME,
                                          repository = "r1")
                         Repository r1,
                         @TestArtifact(repository = "r1",
                                       id = "org.carlspring.strongbox.test:test-artifact",
                                       versions = {"1.0", "2.0"}
                                       generator = MavenArtifactGenerator.class)
                         List<Path> artifacts)
{
...
}

Note

In case of id and versions you should use List<Path> as test method parameter, so the List will contain ordered artifact versions. In above example you can get artifact with version 1.0 using artifacts.get(0)

Task List
The following tests will need to be migrated:

[ ]  org.carlspring.strongbox.services.ConfigurationManagementServiceImplTest
[x] org.carlspring.strongbox.services.ArtifactSearchServiceImplTest
[ ] org.carlspring.strongbox.services.ArtifactMetadataServiceSnapshotsTest(@ptirador)
[x] org.carlspring.strongbox.services.ArtifactManagementServiceImplTest @yugander-krishan-singh
[x] org.carlspring.strongbox.services.MavenRepositoryManagementServiceImplTest @yugander-krishan-singh , #1229
[x] org.carlspring.strongbox.services.MavenChecksumServiceTest
[x] org.carlspring.strongbox.services.ArtifactMetadataServiceReleasesTest @yugander-krishan-singh , #1229
[x] org.carlspring.strongbox.artifact.generation.MavenArtifactGeneratorTest
[x] org.carlspring.strongbox.artifact.locator.ArtifactDirectoryLocatorTest
[x] org.carlspring.strongbox.io.ArtifactOutputStreamTest
[x] org.carlspring.strongbox.cron.jobs.RegenerateMavenChecksumCronJobTestIT (@ptirador)
[ ] org.carlspring.strongbox.cron.jobs.RebuildMavenMetadataCronJobTestIT (@pyashwanthkumar)
[x] org.carlspring.strongbox.cron.jobs.ClearTrashCronJobFromMaven2RepositoryTestIT (@ptirador)
[x] org.carlspring.strongbox.cron.jobs.DownloadRemoteMavenIndexCronJobTestIT (@ptirador)
[x] org.carlspring.strongbox.cron.jobs.RemoveTimestampedMavenSnapshotCronJobTestIT (@ptirador)
[x] org.carlspring.strongbox.cron.jobs.RebuildMavenIndexesCronJobTestIT (@ptirador)
[x] org.carlspring.strongbox.cron.jobs.CleanupExpiredArtifactsFromProxyRepositoriesCronJobTestIT (@ptirador)
[x] org.carlspring.strongbox.cron.jobs.BaseCronJobWithMavenIndexingTestCase (@ptirador)
[x] org.carlspring.strongbox.repository.group.BaseMavenGroupRepositoryComponentTest
[ ] org.carlspring.strongbox.repository.group.index.BaseMavenIndexGroupRepositoryComponentTest
[x] org.carlspring.strongbox.repository.group.index.MavenIndexGroupRepositoryComponentOnDeleteTest
[x] org.carlspring.strongbox.repository.group.index.MavenIndexGroupRepositoryComponentOnCreateTest
[x] org.carlspring.strongbox.repository.group.metadata.MavenMetadataGroupRepositoryComponentOnUploadTest
[x] org.carlspring.strongbox.repository.group.metadata.MavenMetadataGroupRepositoryComponentOnAddTest
[x] org.carlspring.strongbox.repository.group.metadata.MavenMetadataGroupRepositoryComponentOnDeleteTest
[x] org.carlspring.strongbox.storage.validation.groupid.MavenGroupIdLowercaseValidatorTest (@pyashwanthkumar)
[x] org.carlspring.strongbox.storage.validation.artifactid.MavenArtifactIdLowercaseValidatorTest (@ptirador)
[ ] org.carlspring.strongbox.storage.validation.DefaultMavenArtifactCoordinateValidatorsTest
[x] org.carlspring.strongbox.storage.validation.version.MavenReleaseVersionValidatorTest (@ptirador)
[x] org.carlspring.strongbox.storage.validation.version.MavenSnapshotVersionValidatorTest (@ptirador)
[x] org.carlspring.strongbox.storage.indexing.StrongboxIndexerTest (@ptirador)
[x] org.carlspring.strongbox.storage.indexing.Maven2ProxyRepositoryTest
[x] org.carlspring.strongbox.storage.indexing.RepositoryIndexerTest (@ptirador)
[ ] org.carlspring.strongbox.providers.io.BaseMavenMetadataExpirationTest
[ ] org.carlspring.strongbox.providers.io.MavenMetadataExpirationProxyCaseTest
[ ] org.carlspring.strongbox.providers.io.MavenMetadataExpirationSingleGroupCaseTest @yugander-krishan-singh
[ ] org.carlspring.strongbox.providers.io.MavenMetadataExpirationMultipleGroupCaseTest
[x] org.carlspring.strongbox.providers.repository.MavenGroupRepositoryProviderTest (@ptirador)
[x] org.carlspring.strongbox.providers.repository.RetryDownloadArtifactWithUnsupportedRangeRequestTest
[x] org.carlspring.strongbox.providers.repository.RetryDownloadArtifactTestBase
[x] org.carlspring.strongbox.providers.repository.ParallelDownloadRemoteArtifactTest
[x] org.carlspring.strongbox.providers.repository.RetryDownloadArtifactWithPermanentFailureStartingAtSomePointTest
[x] org.carlspring.strongbox.providers.repository.WhenRepositoryIsNotAliveDontCleanExpiredArtifactsTestIT
[x] org.carlspring.strongbox.providers.repository.BaseLocalStorageProxyRepositoryExpiredArtifactsCleanerTest
[x] org.carlspring.strongbox.providers.repository.RetryDownloadArtifactWithSingleFailureAtSomePointTest
[x] org.carlspring.strongbox.providers.repository.WhenRepositoryIsAliveCleanExpiredArtifactsTestIT
[ ] org.carlspring.strongbox.providers.repository.MavenProxyRepositoryProviderTestIT (@pyashwanthkumar)
[x] org.carlspring.strongbox.providers.search.MavenIndexerSearchProviderTest (@ptirador)
[x] org.carlspring.strongbox.providers.layout.Maven2LayoutProviderTest
[ ] org.carlspring.strongbox.testing.TestCaseWithMavenArtifactGenerationAndIndexing
[ ] org.carlspring.strongbox.testing.MavenTestCaseWithArtifactGeneration
[x] org.carlspring.strongbox.resource.ResourcesBooterTest
[x] org.carlspring.strongbox.dependency.snippet.SBTDependencyFormatterTest
[x] org.carlspring.strongbox.dependency.snippet.IvyDependencyFormatterTest
[x] org.carlspring.strongbox.dependency.snippet.MavenDependencyFormatterTest (@ptirador)
[x] org.carlspring.strongbox.dependency.snippet.GradleDependencyFormatterTest
[x] org.carlspring.strongbox.dependency.snippet.LeiningenDependencyFormatterTest

Task Relationships
This task:

Is a sub-task of #839.
Is a Follow-up of #1083 , #1084.
Depends on #1191 , #1198.

Useful Links

Writing Tests: Getting started
Writing Tests: JUnit5

Help

Our chat
Points of contact:

@carlspring
@sbespalov
@fuss86

On hold. Looks like we'll need to polish up the annotations a bit first.

Anyone wishing to help, could now feel free to join in. Please, have a look at the linked issues and pull requests to get a better idea of how to do things.

@yugander-krishan-singh: Would you like to pick MavenMetadataExpirationSingleGroupCaseTest next?

Can I work on RemoveTimestampedMavenSnapshotCronJobTestIT and RebuildMavenIndexesCronJobTestIT?

@evrimnurcelik : Yes, please!

@evrimnurcelik :
Notes:
To enable the (deprecated) Maven Indexer, use -Dmaven.indexer.enabled=true -Dspring.profiles.active=test.

@carlspring I am looking into ArtifactManagementServiceImplTest and after that I can pick up MavenMetadataExpirationSingleGroupCaseTest

Okay, @yugander-krishan-singh. I've updated the list. Please, feel free to proceed!

picking  org.carlspring.strongbox.repository.group.BaseMavenGroupRepositoryComponentTest

@carlspring  Can I pick org.carlspring.strongbox.cron.jobs.RebuildMavenMetadataCronJobTestIT?

@pyashwanthkumar ,
Yes, please, go ahead!

@carlspring Can I pick org.carlspring.strongbox.services.ConfigurationManagementServiceImplTest?

@Gcolon021 ,
Yes, of course! Have fun! :)

Hi! I have one question:
In some tests, there's artifact creation with snapshot:

createTimestampedSnapshotArtifact(getRepositoryBasedir(STORAGE0, "rmmcjtit-snapshots").getAbsolutePath(),
                                  "org.carlspring.strongbox",
                                  "strongbox-metadata-one",
                                  "2.0",
                                  "jar",
                                  CLASSIFIERS,
                                  5);

This method is equivalent to this annotation?
@MavenTestArtifact(repositoryId = "rmmcjtit-snapshots",
                   id = "org.carlspring.strongbox:strongbox-metadata-one",
                   versions = { "2.0-20190701.202015-1",
                                "2.0-20190701.202101-2",
                                "2.0-20190701.202203-3",
                                "2.0-20190701.202311-4",
                                "2.0-20190701.202601-5" },
                   classifiers = { "javadoc",
                                   "sources",
                                   "source-release" })
Path artifact1

Or there's another simpler way to create an artifact with a specific number of builds?

@ptirador : Yes, this is correct! We need to change this everywhere possible.

@carlspring  I am picking this MavenProxyRepositoryProviderTestIT.

@pyashwanthkumar : Excellent! Thank you! :)

@sbespalov / @carlspring, I have another question:
I'm trying to generate 2 artifacts in the same test method, both with the same version, but one has a classifier "sources" and the other not.
@MavenTestArtifact(repositoryId = "mdft-releases",
                   id = "org.carlspring.strongbox:maven-snippet",
                   versions = { "1.0" })
Path artifactPath,
@MavenTestArtifact(repositoryId = "mdft-releases",
                   id = org.carlspring.strongbox:maven-snippet",
                   versions = { "1.0" },
                   classifiers = { "sources" })
Path artifact2Path)

The result is that only the first artifact is generated, but not the second with classifier:

Any ideas?

@ptirador ,
I think it's because you're using the same version. If you use the @MavenTestArtifact annotation and specify classifiers = { "sources" }, it should also create a jar, if I recall correctly.

@sbespalov : Is my theory right?

@carlspring : If I try what you said, just one annotation and specify one classifier, it's generating an artifact BUT as equal as my screenshot above: maven-snippet-1.0.jar
It's like is not taking into account the annotation attribute classifiers...

@sbespalov : Is my theory right?

yes, it should like this, with one annotation

@ptirador, you can try to debug how the MavenArtifactGeneratorStrategy works in your case so that you can figure out why you have what it is :)

Okay, here's what I saw:
In class MavenArtifactGeneratorStrategy, we have this:
Object classifiers = attributesMap.get("classifiers");

attributesMap is a Map<String, Object> with 8 attributes:

Here we can seee that there's no classifiers key. If we trace back to see how attributesMap is filled, we arrive to ArtifactManagementTestExecutionListenerclass, where we can see this code:
TestArtifact testArtifact = AnnotatedElementUtils.findMergedAnnotation(parameterContext.getParameter(), TestArtifact.class);

Map<String, Object> attributesMap = Arrays.stream(parameterContext.getParameter().getAnnotations())
                                          .flatMap(a -> AnnotatedElementUtils.getMetaAnnotationTypes(parameterContext.getParameter(),
                                                                                a.annotationType()
                                                                                .getName())
                                                                             .stream())
                                          .flatMap(a -> AnnotatedElementUtils.getMergedAnnotationAttributes(parameterContext.getParameter(),
                                                                                a)
                                                                             .entrySet()
                                                                             .stream())
                                          .collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue(), (k1, k2) -> k1));

I don't really understand what it does here, but it's like is taking TestArtifact attributes (it has 8, as same as the screenshot above) instead of MavenTestArtifact ones?

yeah, this seems like a bug
I will have a look tomorrow

Okay, thanks @sbespalov :)

@ptirador as a workaround you can try use it with shortcut annotations. Please have a look at ArtifactMetadataServiceSnapshotsTest.MavenArtifactWithClassifiers

@ptirador @carlspring I've fixed the classifiers attribute:
https://github.com/strongbox/strongbox/pull/1372

Thanks! I've merged it into the master.

@carlspring / @sbespalov
I would also like to pick up other test cases while I am working on my previous ones. The one that I am looking at right now is this test case "MavenGroupIdLowercaseValidatorTest". In this test, do we want to replace instantiation of MavenArtifactCoordinates and place this inside the test case(after inserting test annotations) or am I looking at it wrong?

@pyashwanthkumar : Have a look at some of the associated pull requests for examples of what needs to be done.

@carlspring / @sbespalov
I would also like to pick up other test cases while I am working on my previous ones. The one that I am looking at right now is this test case "MavenGroupIdLowercaseValidatorTest". In this test, do we want to replace instantiation of MavenArtifactCoordinates and place this inside the test case(after inserting test annotations) or am I looking at it wrong?

@pyashwanthkumar: Take a look at this commit I just did.

@Gcolon021 @yugander-krishan-singh @pyashwanthkumar @SergeyHydra
Are any of hoy still working on this?

@ptirador yes, I am still working on MavenGroupIdLowercaseValidatorTest and MavenProxyRepositoryProviderTestIT :)

@ptirador : There's a PR for one of the tests in #1360.
I've removed @Gcolon021 and @SergeyHydra from the list of tests, as they're not working on them.

Hm, hi! I'm still working on test.

Ah, okay, sorry, @SergeyHydra ! Which one was it?

I've already added it @carlspring  ;)
It was BaseMavenIndexGroupRepositoryComponentTest.

Wow! So what are left undone?

Well, the ones that have @ptirador 's name against them, but are not ticked, are already things he's either done in his latest pull request, or will include in it.
Have a look for any remaining ones, or ping us on the channel for new tasks. There's plenty more tasks to be done! :)

@pyashwanthkumar,
Are you currently still working on:

org.carlspring.strongbox.storage.validation.groupid.MavenGroupIdLowercaseValidatorTest
org.carlspring.strongbox.providers.repository.MavenProxyRepositoryProviderTestIT

If you're not, then perhaps @ptirador could have a look at them as well and we can wrap this up?

@pyashwanthkumar,
Are you currently still working on:

org.carlspring.strongbox.storage.validation.groupid.MavenGroupIdLowercaseValidatorTest
org.carlspring.strongbox.providers.repository.MavenProxyRepositoryProviderTestIT

If you're not, then perhaps @ptirador could have a look at them as well and we can wrap this up?

@carlspring I finished working on org.carlspring.strongbox.storage.validation.groupid.MavenGroupIdLowercaseValidatorTest.
I am almost done with org.carlspring.strongbox.providers.repository.MavenProxyRepositoryProviderTestIT.
If I am unable to finish it by the end of day Saturday, I will pass this on to @ptirador.

Thanks! Take your time! :)
Just checking...

A massive thank you to everybody who helped with this extremely large refactoring!

Thanks guys! This was a huge task indeed and we deeply appreciate all of your efforts and contributions! :)


Build in command line is broken

I got a lot of errors like below:
/Users/xxx/yyy/orchard/master/src/OrchardCore/OrchardCore.AsModule/OrchardCore.AsModule.props(26,5): error MSB3021: Unable to copy file "Module.txt" to "/OrchardCorePackages/Orchard.Tenants/Module.txt". Access to the path '/OrchardCorePackages/Orchard.Tenants' is denied. [/Users/xxx/yyy/orchard/master/src/OrchardCore.Modules/Orchard.Tenants/Orchard.Tenants.csproj]
I checked the file OrchardCore.AsModule.props, and found a variable $(Temp) is used in the path.
It seems like $(Temp) was empty when I ran "dotnet build".

My environment:
OS: osx Sierra 10.12.4
dotnet version: 1.0.1

It's because you are on a mac, that explains.
We will fix it, in the meantime please define an environment variable named Temp that points to a temporary folder. On Windows it's the local user's one.

I assume we need to ensure the same solution is applied on Linux.

I will try to get rid of the Temp folder.

@kerryjiang would you mind testing the branch for this PR https://github.com/OrchardCMS/Orchard2/pull/707 to ensure it fixes your issues ? At least the build issues.

It works great!
Thank you guys!


Unable to load several models.

The package architecture didn't allow me to create instances from FlutterPytorchLite Class since all its functions are static.
I removed static modifier and created two instances since i want to run two models but it show results for the last loaded model only.
Seems like the package allow only one mdoel to be loaded.

It is supported in version  >= v0.1.0.


Daily Login in Java

Hello,
can you maybe do a Java Project where you explain how a automatic daily Login can be done? I tried to build in Java by looking at your code but it does not work, i do not came through the login.
Best Regards

Hi!
The login is very tricky, and is getting more complicated as time passes.
Any reason why you don't just use ikabot as it is?
I haven't coded in Java in years, If you open a repo with your code I could take a look but developing in Java is just not in my skill set anymore.

Hi,
i am only doing this for intrest and learning. I always use your Bot and it works great!
Can you maybe explain the login stepts i have to do?
First i do a GET Request on https://lobby.ikariam.gameforge.com/config/configuration.js where i save the gameEnvironmentId and the platformGameId. After that i make a GET Request on https://gameforge.com/js/connect.js to get the CfduidCookie and then i make a request on https://pixelzirkus.gameforge.com/do/simple to get the PcidtCookie. So far i works good but then i get tricky.
I tried to do a Post Request on https://gameforge.com/api/v1/auth/thin/sessions
Below is my code so far but i ever get a HTTP Error 403. And i do not know what is missing. Maybe you can help me?
`URL url = new URL("https://gameforge.com/api/v1/auth/thin/sessions");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Host", "gameforge.com");
conn.setRequestProperty("User-Agent", "user_agent");
conn.setRequestProperty("Accept", "/");
conn.setRequestProperty("Accept-Charset", "UTF-8");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept-Language", "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7");
conn.setRequestProperty("DNT", "1");
conn.setRequestProperty("Connection", "keep-alive");
conn.setRequestProperty("Referer", "https://lobby.ikariam.gameforge.com/de_DE/");
conn.setRequestProperty("Origin", "https://lobby.ikariam.gameforge.com");
conn.setRequestProperty("TNT-Installation-Id", "");
conn.setRequestProperty("Pragma", "no-cache");
conn.setRequestProperty("Cache-Control", "no-cache");
conn.setRequestProperty("TE", "Trailers");
conn.setRequestProperty("Set-Cookie", cfduidCookie);
	List<AbstractMap.SimpleEntry<String, String>> params = new ArrayList<AbstractMap.SimpleEntry<String, String>>();
	params.add(new SimpleEntry<>("identity", MAIL));
	params.add(new SimpleEntry<>("password", PASSWORT));
	params.add(new SimpleEntry<>("locale", "de_DE"));
	params.add(new SimpleEntry<>("gfLang", "de"));
	params.add(new SimpleEntry<>("platformGameId", platformGameId));
	params.add(new SimpleEntry<>("gameEnvironmentId", gameEnvironmentId));
	params.add(new SimpleEntry<>("autoGameAccountCreation", "false"));`

After making a request to https://gameforge.com/js/connect.js make sure there is not "Attention Required" in the response html. If you do find that string in the response html, it means that your bot got presented a google recaptcha. There is nothing you can do about that except run your script from another IP.
Other than that, I have really no idea how to help you because it's been a VERY long time since I've ran a Minecraft server and that's literally the only time I had to interact with Java in my life, lol. I would check the network requests that ikabot is making and cross-compare them with the ones your script is making, using a proxy that allows you to look at, block and edit requests to and from your machine while they're in the air, such as MITM Proxy. To use this you'll need to generate an SSL certificate on your local machine because you'll be using https which is encrypted, and also you'll have to configure ikabot and your script to actually use that proxy.
Hope this helps!

Thanks i will try.
Do you think to program a new function in your ikabot like "register a new account" maybe it includes the beginning tutorial?

I suppose such a feature is possible, provided enough proxies that work and don't trigger a captcha. It would be relatively simple even to register an account, especially since the email doesn't even have to be confirmed. But either way, I have no plans of writing that feature any time soon, I'm not really interested in that.
Maybe you will learn more about the login system from trying to make your own bot and might eventually make a pull request to this very repo in the future 😃

I'm closing this now.
Feel free to ask questions on the Discord channel.


"PostMacro" Will not save and auto deletes.

As of 2.6.42, when I tried editing my macros, the PostMacro suddenly disappeared. Luckily I remembered what was in there, a copy of PreMacro, and clicked save. Went to edit it again, and PostMacro was empty again! I kept trying to change the macro, put in something new, creating new macros, etc. Everything else saves and updates just fine. It is happening on every macro I make on any toon. I've tried reading around to see if anyone else has the problem or if it was just a new change...

This is a duplicate of #787 and a billion others.  If you don’t have an Inner Loop of more than / your PostMacro was ignored. The Ui now shows what the mod is doing.
if you look in the Wiki here the Inner Loop page from2017 describes how the PostMacro actually works.

This is a duplicate of #787 and a billion others.  If you don’t have an Inner Loop of more than / your PostMacro was ignored. The Ui now shows what the mod is doing.
if you look in the Wiki here the Inner Loop page from2017 describes how the PostMacro actually works.

And a duplicate of #785

And a duplicate of #785


Resurrect 'SetUdpListenPort' on 'ChipDeviceController'

Problem
While landing #3630 the ability to configure the local port to listen to for messages has been broken.
This PR add it back on the new ChipDeviceController API. This API is useful when you run both the server and the client on the same machine for example.
Summary of Changes

Add back SetUpdListenPort on the new ChipDeviceController API

For the record I need it for #3675


Publish a public demo

Description
It would be really useful to have a public demo for the app, so people can try it before putting any effort on installing it in their machines

I'd appreciate any suggestions on services that we could host a public demo for free

Couple of things you could check out:

I believe both render.com and fly.io have free tiers. I don't know how much usage you'd expect this instance to get, but if its small enough one of these might work.
free-for.dev has a big list of services that are offered for free. I haven't looked through the whole list but you may find something there.
From time to time I've seen open source projects thank hosting services for providing hosting free of charge. You could reach out and see if a hosting provider would be willing to host your demo instance in exchange for a thank you link in the README or something.

Here's an example I found of a hosting company asking for projects they could sponsor

Does the app support serverless mode with the web storage API? If so, you could host on GitHub Pages for free.


Documentation doesn't include project's version

We can update the version variable in conf.py

Closed via 41d70b4


Check if two binary trees are identical

Description:
Write a function to check if two binary trees are structurally identical.
Input:
The root nodes of two binary trees.
Output:
Return true if the two trees are identical, otherwise return false.
Example:
Input: Tree1 = [1, 2, 3], Tree2 = [1, 2, 3]
Output: true

Hello, i would like to work on this. Please assign it to me.

Hey could you please assign this issue to me? I see this has not yet completed.

i want to contribute to this issue


Remove or enable 32-bit registers from the VM

Problem
The original eBPF ISA from which SBF derived contains 32-bit registers and the related special instructions. They mostly include ALU operations with 32-bits. In addition, the behavior of memory operations changes a bit from the compiler perspective. Loads of 8, 16, and 32-bit values are not zero extended to 64-bit. Instead, they are zero extended to 32-bit. Likewise, stores of 8, 16, and 32-bit are not truncated from 64-bit registers, but from 32-bit registers.
Emitting instructions with 32-bit registers right now is not possible, because the SBF VM lacks the BPF_JMP32 instruction class, which implements jumps with 32-bit values. Merely using the existing SBF_JMP class for jumps with 32-bit registers does not work, because the high-bits of registers are not cleared, and the immediate values are sign extended to i64 when parsing the ELF file.
Due to this circumstances, the proposed explicit sign extension in https://github.com/solana-labs/rbpf/pull/548 may not be used at all. Today, the compiler does a left shift to clear the high bits and then an arithmetic right shift for sign extending.
Proposed Solution
There are three possible solutions to try out:

Completely remove 32-bit operations from the VM and the compiler.
Enable the 32-bit register operations and bring BPF_JMP32 from upstream eBPF.
Enable the 32-bit register operations and alter the compiler to account for bit cleansing/sign extending in jump operations.

I put together all 32-bit operations in a program and ran it for 1000 iterations. I did the same for 64-bit operations, and for SBFv1 and SBFv2. This is what I got:

Operation type
SBFv1
SBFv2

32-bit
646.86 ms
687.32 ms

64-bit
650.82 ms
702.68 ms

Gains are minimal.

I found out that the above test was not completely fair, because I was not account for any possible overhead for processing 32-bit numbers with only 64-bit ALU instructions, so I wrote the following function and tested it with ALU32 enabled and disabled.
int func(uint32_t a, uint32_t b, int32_t m, uint32_t o) {
    uint32_t c = a+b;
    uint32_t d = a-b;
    uint32_t e = c*d;
    uint32_t f = a / b;
    uint32_t g = a | b;
    uint32_t h = a & b;
    uint32_t i = a > b;
    uint32_t j = a < b;
    uint32_t k = a % b;
    uint32_t l = a ^ b;
    // m
    int32_t n = m > 3;
    // o

    // SBFv2 only
    int32_t p = o / m;
    int32_t q = o % m;

    return 0;
}

Type of ALU instructions
SBFv1
SBFv2

32-bit
1.64 s
1.87 s

64-bit
1.54 s
1.80 s

There are no gains here.


Update Settings “general”

Automatically generated by Netlify CMS

👷 Deploy Preview for sage-zuccutto-776801 processing.

Name
Link

🔨 Latest commit
e92ca085984d1734e72609246f9aee97a80dc694

🔍 Latest deploy log
https://app.netlify.com/sites/sage-zuccutto-776801/deploys/64413c654560510008d0eda3


pentobi: 18.1 -> 18.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pentobi/versions.
meta.description for pentobi is: "A computer opponent for the board game Blokus"
meta.homepage for pentobi is: "https://pentobi.sourceforge.io"
meta.changelog for pentobi is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 18.2 with grep in /nix/store/vr5vy03vmsb5zqga76wdp08zwjrz3iv8-pentobi-18.2

directory tree listing: https://gist.github.com/9c28590135e055a91ecda65edce57c5f

du listing: https://gist.github.com/6dd01a68b80731f0c513ed8abe0b42ff

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
pentobi

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vr5vy03vmsb5zqga76wdp08zwjrz3iv8-pentobi-18.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pentobi https://github.com/r-ryantm/nixpkgs/archive/c19550f8b392386e8762f02ce6aa674fa4b36ceb.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vr5vy03vmsb5zqga76wdp08zwjrz3iv8-pentobi-18.2
ls -la /nix/store/vr5vy03vmsb5zqga76wdp08zwjrz3iv8-pentobi-18.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

pentobi

Maintainer pings
cc @bignaux for testing.

The version on master is already newer.


May we have a version of db-sample-schemas for mysql from oracle official?

Or if it already exists, please tell me the link.

Hi @engineerping,
Thanks a lot for your interest in these sample schemas, this repository is specific to the Oracle Database.
MySQL has its own Sakila Sample Database, please use that instead.
Thanks,


Extracting from input slots

I am not sure what I would categorize this issue as, it might both be a simple question or suggestion. So I am sorry if the structure of this issue is subpar.
I see that extracting chickens from input slots is purposefully blocked with the issue #23, at least this is what I understand from the suggested change and the content of the issue. But as a result it is impossible to automate breeding using only 1 Breeder, except for breaking and re putting the block itself which I think is not a valid solution. I understand the need to block unwanted pulls.
Since I am not a mod developer myself, this may not really be a possible solution but could we make it so we can pull all slots (0 to 5?) from the left side of the block(as an example) or somehow dynamically enable or disable the change in #23 ? There are a lot of mods that are using side configurations for input and output access, there are mods that can specifically pull from/push to different sides of the blocks while touching only one side(like LaserIO) or even mods that can do that only on selected inventory slots(like ComputerCraft-CC Tweaked) I think this would be a solution for both #23 and my issue.

I also consider the lack of this slot a problem, there are ways to solve this but they all involve using external mods to break the block. I believe that the ideal would really be a slot or block that is a little close and is able to control them.
My ideal way I think: seed slot accessible from the top, add/remove parents from the sides and "children" can be removed from the bottom

There are a LOT of mods that do no allow you to pull from the input slot, Right now I have no intention on changing this as there needs to be some sort of "balance", Making this a manual process for now works.
You are always free to write an addon adding an advanced version of the breeder block


Change the Jupyter logo with a Lucyfer logo

Background:
https://issuemode.com/issues/jupyter/design/18461754

Go with Akila's recommendation and use Truelancer to produce this.


feat(adb): Support Serial ID

Support specifying ADB serial ID using TESTER_ABD_SERIAL

Test looks OK.
[Testing open and send]
Server listening on port 18888

Listening to 11111 only.
Run adb_close and change device id using:
export TESTER_ABD_SERIAL=XXX (On Linux)
set TESTER_ABD_SERIAL=XXX (For Windows CMD (Command Prompt))
$Env:TESTER_ABD_SERIAL = 'XXX' (For Windows PowerShell)


Use a non-nullable property for redisClient

when the constructor argument is not the final value of the property, using a promoted property is generally a bad idea, as the type might not be the same.

this will help you if you ever start using static analysis on this code.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.30%. Comparing base (09c7944) to head (70d2078).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main      #91      +/-   ##
============================================
+ Coverage     70.24%   70.30%   +0.06%
  Complexity      557      557
============================================
  Files            42       42
  Lines          1250     1263      +13
============================================
+ Hits            878      888      +10
- Misses          372      375       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Thanks a lot !


Error:  Required dependency DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0] failed to load from a cache file.

This error is very hard to reproduce  and I can only reproduce it running inside docker
To reproduce

docker run -it --rm julia:1.3.1

In the julia REPL

create_sysimage([:CSV, :DataFrames], replace_default=true)

The odd thing is the below (swapping the order of :DataFrame and :CSV works fine. Took me hours to figure this out.
create_sysimage([:DataFrames, :CSV], replace_default=true)

Error Log
Info: PackageCompilerX: creating system image object file, this might take a while...
ERROR: Required dependency DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0] failed to load from a cache file.
Stacktrace:
 [1] top-level scope at none:6
 [2] eval(::Module, ::Any) at ./boot.jl:330
 [3] top-level scope at none:4
ERROR: LoadError: failed process: Process(`/opt/julia-1.3.0/bin/julia --color=yes --startup-file=no --cpu-target=native --sysimage=/opt/julia-1.3.0/lib/julia/sys.so --project=/opt/julia/environments/v1.3 --output-o=/tmp/jl_g4SXE6.o -e 'Base.reinit_stdio()
Base.init_load_path()
Base.init_depot_path()
@eval Module() begin
    m = Base._require_from_serialized("/opt/julia/compiled/v1.3/CSV/HHBkp_a8AyY.ji")
    m isa Exception && throw(m)
end
@eval Module() begin
    m = Base._require_from_serialized("/opt/julia/compiled/v1.3/DataFrames/AR9oZ_a8AyY.ji")
    m isa Exception && throw(m)
end
const CSV = Base.loaded_modules[
Base.PkgId(Base.UUID("336ed68f-0bac-5ca0-87d4-7b16caf5d00b"), "CSV")]
const DataFrames = Base.loaded_modules[
Base.PkgId(Base.UUID("a93c6f00-e57d-5684-b7b6-d8193f3e46c0"), "DataFrames")]
# This @eval prevents symbols from being put into Main
@eval Module() begin
    PrecompileStagingArea = Module()
    for (_pkgid, _mod) in Base.loaded_modules
        if !(_pkgid.name in ("Main", "Core", "Base"))
            eval(PrecompileStagingArea, :(const $(Symbol(_mod)) = $_mod))
        end
    end
    precompile_statements = String[]
        append!(precompile_statements, readlines("/tmp/jl_XzPCDC"))

    for statement in sort(precompile_statements)
        # println(statement)
        try
            Base.include_string(PrecompileStagingArea, statement)
        catch
            # See julia issue #28808
            @error "failed to execute $statement"
        end
    end
end # module
empty!(LOAD_PATH)
empty!(DEPOT_PATH)
'`, ProcessExited(1)) [1]

Stacktrace:
 [1] pipeline_error at ./process.jl:525 [inlined]
 [2] #run#565(::Bool, ::typeof(run), ::Cmd) at ./process.jl:440
 [3] run at ./process.jl:438 [inlined]
 [4] #create_sysimg_object_file#4(::String, ::String, ::Array{String,1}, ::Array{String,1}, ::String, ::Bool, ::typeof(PackageCompilerX.create_sysimg_object_file), ::String, ::Array{String,1}) at /opt/julia/packages/PackageCompilerX/1atf0/src/PackageCompilerX.jl:228
 [5] #create_sysimg_object_file at ./none:0 [inlined]
 [6] #create_sysimage#7(::Nothing, ::String, ::Array{String,1}, ::Array{String,1}, ::Bool, ::Bool, ::Bool, ::String, ::Nothing, ::Bool, ::typeof(create_sysimage), ::Array{Symbol,1}) at /opt/julia/packages/PackageCompilerX/1atf0/src/PackageCompilerX.jl:351
 [7] (::PackageCompilerX.var"#kw##create_sysimage")(::NamedTuple{(:replace_default,),Tuple{Bool}}, ::typeof(create_sysimage), ::Array{Symbol,1}) at ./none:0
 [8] top-level scope at /home/jovyan/compile.jl:3
 [9] include at ./boot.jl:328 [inlined]
 [10] include_relative(::Module, ::String) at ./loading.jl:1105
 [11] include(::Module, ::String) at ./Base.jl:31
 [12] exec_options(::Base.JLOptions) at ./client.jl:287
 [13] _start() at ./client.jl:460
in expression starting at /home/jovyan/compile.jl:3

Thanks for the report, I will try out some stuff.

Can you try with https://github.com/KristofferC/PackageCompilerX.jl/pull/77.

Yeah That fixes it.

https://github.com/KristofferC/PackageCompilerX.jl/pull/77


Implement SessionResetter interface

This interface allows the driver to tell database/sql when a connection needs to be discarded from the pool.
These methods in this hierarchy end up calling db.conn which requests a connection from the pool and asks the driver if a reset is needed. thus flushing the connection pool.

Can we make resyncPeriod configurable in filewatcher.go?

Yeah, but why? Do you think the filesystem will need to be checked more often than two seconds? Not sure if this is a good thing to open up to users who are likely to misinterpret its usage.

That is true, but we may want to make it longer depending on how the secret updating strategy is configured.
https://kubernetes.io/docs/concepts/configuration/secret/#mounted-secrets-are-updated-automatically

That is true, but we may want to make it longer depending on how the secret updating strategy is configured.
https://kubernetes.io/docs/concepts/configuration/secret/#mounted-secrets-are-updated-automatically

fsnotify is getting file updates immediately. The resync is just a catchall in case something fails afaict.

ok, lets leave it for now


Fix index route

In #45 , there are 13 failing tests. This fixes 2 of them. 11 to go!

I separated out the code changes from the comment changes. Feel free to drop the comment changes / make adjustments as you see fit, @daliwali . I based the changes on our conversation over in #43
Also, I originally thought the string links were making the responses invalid, but I was wrong! String links are valid. It was the absence of one of: data, errors, or meta that was invalid. My mistake.

Resolves #43

Let me know if there's anything else you'd like to see here before this gets merged, @daliwali . It looks good on my side of things.

Main purpose of this seems to be getting schema validators passing, it will likely have no effect on real clients. I'm fine with this since it has effectively no impact.


YUCIRGBToneCurve filter not working as expected

I'm trying to reproduce some filters from Photoshop with YUCIRGBToneCurve filter.

As you can see with Photoshop and GPU Image effect is same but with Vivid is different.
Here is code for filter that I'm using:
let filter = CIFilter(
            name: "YUCIRGBToneCurve",
            withInputParameters:[
                "inputRedControlPoints": [CIVector(x: 0, y: 19.0 / 255.0),
                    CIVector(x: 30.0 / 255.0, y: 62.0 / 255.0),
                    CIVector(x: 82.0 / 255.0, y: 148.0 / 255.0),
                    CIVector(x: 128.0 / 255.0, y: 188.0 / 255.0),
                    CIVector(x: 145.0 / 255.0, y: 200.0 / 255.0),
                    CIVector(x: 255.0 / 255.0, y: 250.0 / 255.0)],

                "inputGreenControlPoints" : [CIVector(x: 0.0, y: 0.0),
                    CIVector(x: 48.0 / 255.0, y: 72.0 / 255.0),
                    CIVector(x: 115.0 / 255.0, y: 188.0 / 255.0),
                    CIVector(x: 160.0 / 255.0, y: 220.0 / 255.0),
                    CIVector(x: 233.0 / 255.0, y: 245.0 / 255.0),
                    CIVector(x: 255.0 / 255.0, y: 255.0 / 255.0)],

                "inputBlueControlPoints" : [CIVector(x: 0.0, y: 25.0 / 255.0),
                    CIVector(x: 35.0 / 255.0, y: 80.0 / 255.0),
                    CIVector(x: 106.0 / 255.0, y: 175.0 / 255.0),
                    CIVector(x: 151.0 / 255.0, y: 188.0 / 255.0),
                    CIVector(x: 215.0 / 255.0, y: 215.0 / 255.0),
                    CIVector(x: 240.0 / 255.0, y: 235.0 / 255.0),
                    CIVector(x: 255.0 / 255.0, y: 245.0 / 255.0)]
            ])

Did you tried using kCIContextWorkingColorSpace key to specify a working color space when creating the CIContext object.

That was the problem. Thank you.

I know this issue is closed, but which colorspace should you specify it to? sRGB?


feat(rpc): implement Filecoin.NetProtectList

Summary of changes

Changes introduced in this pull request:

implement Filecoin.NetProtectList
API compare tests

Reference issue to close (if applicable)

Closes #4752
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Changelog entry?

@LesnyRumcajs Added


Dependabot

Can we get dependabot installed in this repo for keeping up to date with things?

Done.

Just as an FYI, you'll only get PRs for updates without vulnerabilities. You'll get alerts (in the Security tab) for everything

Awesome! Many thanks!


zca whitening is very slow with train_datagen.fit()

I am trying to use zca_whitening, but the calculation takes very long/gets stuck. My part of the code causing the problem looks like this:
train_datagen = ImageDataGenerator(rotation_range=30, zca_whitening=True)

def read_pil_image(img_path, height, width):
        with open(img_path, 'rb') as f:
            return np.array(Image.open(f).convert('RGB').resize((width, height)))

def load_all_images(dataset_path, height, width, img_ext='jpg'):
    return np.array([read_pil_image(str(p), height, width) for p in
                                    Path(dataset_path).rglob("*."+img_ext)])

zca_dir = 'some/path/to_jpg_images/'
train_datagen.fit(load_all_images(zca_dir, height, width))

When I execute the above it gets stuck at train_datagen.fit(). There is no error message displayed. I found out if I just outcomment the zca_whitening and substitute it with samplewise_center=True, samplewise_std_normalization=True the code works just fine.
I thought first that maybe the directory zca_dir contains too many pictures, so I reduced them to 30. Still, same problem.
The problem appears on 2 different machines with 2 different keras versions. In this post there is the suggestion to reverse the dimension of my images from [80,80,3] to [3,80,80], but this doesn't change anything.
Do you know how I can solve this? Thanks

@Nestak2
Moving this issue to closed status as there has been no activity, in case you still face the error please create a new issue.


@command.command doesn't introduct any new commands to CMD

Problem Description
Tested on Windows 8.1
Mitmproxy: 6.0.2
Python: 3.8.0
The @command.command function doesn't introduce any plugin command to the command interface. I've the following addon code on the go:
class intercept:
    def __init__(self):
        self.incoming = 0
        self.outgoing = 0

    @command.command("intercept.inc")
    def incoming(self):
        print(f"Incoming {self.incoming}")

    @command.command("intercept.out")
    def outgoing(self):
        print(f"Outgoing {self.outgoing}")

    def request(self, flow):
        self.outgoing += 1

    def response(self, flow):
        self.incoming += 1

addons = [
    intercept()
]

The program starts as normal. But when i type :intercept.inc on cmd, i get nothing.

There are three distinct problems here:

Executing this shows error: in script foo.py: name 'command' is not defined in mitmproxy's event log.
This can be fixed by adding  from mitmproxy import command.
Next up, I get AddonManagerError: An addon called 'intercept' already exists. This can be fixed by renaming the addon to something else. There just happens to exist a builtin "intercept" addon.
The commands don't show up. This is because intercept.incoming is overridden in the constructor:

class Intercept2:

    def __init__(self):
        self.incoming = 0  # <- overrides function on construction

    @command.command("intercept.inc")
    def incoming(self):    # <- this also is self.incoming!
        print(f"Incoming {self.incoming}")


Run bluetooth monitor with new parameters given without restarting l2ping daemon

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
Bluetooth monitor does not run with new parameters until restarting l2ping daemon.

Purpose
This is not user-friendly. Bluetooth monitor should always run with new parameters given by user without restarting daemon.
Possible approaches
The l2ping daemon restarts thread for l2ping when any parameter is changed.

Definition of done
Bluetooth monitor always run with new parameters given by user without restarting daemon.

Fixed in https://github.com/autowarefoundation/autoware.universe/pull/1111.


Linux support?

Hello,
I have compiled Allegro <IP_ADDRESS> without issue.
I checked out v0.8.9 of this project. I was able to run make successfully.
Running make examples fails with [ERROR:OPENGL_LIBS_NOT_DEFINED_FOR_LINUX]. This is fixed with setting OPENGL_LIB=-lGL in the Makefile. I'm not sure why this isn't set in the first place.
Attempting to run make examples also fails
compiling examples/dev_gui_notification_bubble.cpp -> bin/dev_gui_notification_bubble
In file included from /usr/include/GL/glx.h:30:0,
                 from /home/ericu/builds/allegro5/include/allegro5/opengl/GLext/glx_ext_defs.h:4,
                 from /home/ericu/builds/allegro5/include/allegro5/opengl/gl_ext.h:33,
                 from /home/ericu/builds/allegro5/include/allegro5/allegro_opengl.h:144,
                 from examples/ex_shadow_mapping.cpp:4:
/usr/include/X11/Xlib.h:275:3: error: conflicting declaration ‘typedef struct Screen Screen’
 } Screen;
   ^~~~~~
In file included from /home/ericu/builds/allegro_flare/include/allegro_flare/framework.h:19:0,
                 from /home/ericu/builds/allegro_flare/include/allegro_flare/allegro_flare.h:48,
                 from examples/ex_shadow_mapping.cpp:3:
/home/ericu/builds/allegro_flare/include/allegro_flare/screen.h:15:7: note: previous declaration as ‘class Screen’
 class Screen
       ^~~~~~
In file included from /usr/include/GL/glx.h:30:0,
                 from /home/ericu/builds/allegro5/include/allegro5/opengl/GLext/glx_ext_defs.h:4,
                 from /home/ericu/builds/allegro5/include/allegro5/opengl/gl_ext.h:33,
                 from /home/ericu/builds/allegro5/include/allegro5/allegro_opengl.h:144,
                 from examples/ex_shadow_mapping.cpp:4:
/usr/include/X11/Xlib.h:487:26: error: conflicting declaration ‘typedef struct _XDisplay Display’
 typedef struct _XDisplay Display;
                          ^~~~~~~
In file included from /home/ericu/builds/allegro_flare/include/allegro_flare/allegro_flare.h:44:0,
                 from examples/ex_shadow_mapping.cpp:3:
/home/ericu/builds/allegro_flare/include/allegro_flare/display.h:13:7: note: previous declaration as ‘class Display’
 class Display
       ^~~~~~~
Makefile:111: recipe for target 'bin/ex_shadow_mapping' failed

As far as I can tell your classes are declared in the C++ default namespace. So you run into collisions with existing types like Display from the X11 libs on linux.
Is this library tested on Linux?

A lot of changes have happened on the project since v0.8.9, with proper namespace fixes across the board, including for the Display issue you mentioned.  I should create a more recent release and update the documentation.  My apologies.
Normally, I would suggest grabbing the latest master, but it's currently in a design flux with the Makefile symlinked to the union project and dependent on build programs from blast project.  It's an interim solution to get multiple project developments in lockstep, which has worked wonders, but it has diverged from portability in this current state.
Alternatively, I suggest pointing to 2d1fdeb8dd786428264b48facae180fcba5c5ae3, which is the hash at the namespace fix and going from there.  There are several points later in the history where other heavy dependencies have been removed (boost, opencv, etc).  You may consider those as well.  Also, best to use the latest version of Allegro (5.2.7r0), because it has some new functions (al_is_*_initialized) that are used by some components in newer versions.  There should be no backward compatibility issues.
All of this I admit is a bit fangly.  There hasn't been a lot of action on this repo (apart from my personal work with it alongside other projects).

I've created an issue to address the build: https://github.com/allegroflare/allegro_flare/issues/176


⚠ Bofrost.be has degraded performance

In c83bfb4, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1124 ms

Resolved: Bofrost.be performance has improved in b11b809 after 14 minutes.


Add --dry-run command line option

The --dry-run option is a shortcut for
--directory-url https://acme-staging-v02.api.letsencrypt.org/directory
to use Let's Encrypt staging environment for testing.

Yes, please do add this functionality. I got rate-limited in testing and had to manually / temporarily update my acme-tiny.py script to add the -staging portion of the URL. Not a big deal, but having a command-line option would just make so much sense.
More info here:  https://letsencrypt.org/docs/rate-limits/
and here:            https://letsencrypt.org/docs/staging-environment/
Thanks, Solomon..

You do not have to modify acme-tiny.py, you can simply pass --directory-url https://acme-staging-v02.api.letsencrypt.org/directory and it will use Let's Encrypt's staging endpoint.

Ah, ok. Thanks for pointing that out. I had skimmed through the code earlier but this is the first time I've ever looked at Python and missed it (and for some reason didn't think to run the script with no params or with --help 😉 ).
For my immediate purposes passing in --directory-url is just fine. However, I still very much support the inclusion of this PR into the main branch 😸 .
The only suggestion I would make is to add in a mention (and URL) for why the need to use the staging environment. It's not just a recommendation from Let's Encrypt, it's rather impacting if you are doing testing (like I was) only to find out about their rate limit policy once it has been violated, which could mean waiting several days to a week in order to submit that same domain name again. Fortunately for me I was using a domain name that I use for testing so no big deal (that and I learned that it's not just the domain name, but the total set of them since I got rate limited on "www.domain.tld" but it let me encrypt "domain.tld, mail.domain.tld, www.domain.tld", just FYI). So, I think it would be nice to users to have some understanding as to why / when they need to use this, cuz I don't think many folks will really understand the importance if you are just providing the link to the staging environment page. Hence, please add  https://letsencrypt.org/docs/rate-limits/  to the README.md file, in the new Staging Environment section.
Thanks, Solomon..

I like the idea of adding a section for using staging to the README, but I reverted the --dry-run shortcut changes to the script itself.


Publish rpm package

It might be a good idea to release a package to npm or GitHub packages

Only the following should go to NPM:

NodeJS/Mail.js
README.md (not NodeJS/README.md)

I'm not sure how to do this, maybe we can create a package.json and add what needs to go into it.
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#files

Added to NPM thanks.


docs(tutorial): merge all different md tutorials into one

Delete and merge CONTRIBUTING.md, DEVELOPERS.md and SETUP.md into TUTORIAL.md. Also add parts on holo file viewer and benchmark viewer.

New style for the Doxygen doc:


False negative: ExplicitItLambdaParameter

Expected Behavior
Typing a lambda it to allow inference is sometimes the simplest way to enable shorthands like SAM conversion.
        val dir = com.badlogic.gdx.files.FileHandle(".")
        val subdirs = dir.list { it: File -> it.isDirectory }

...is calling this list() function, successfully, and succinctly. Without typing the it, inference fails.
A rewrite that doesn't trip detekt would definitely be far less readable:
        val dir = com.badlogic.gdx.files.FileHandle(".")
        @Suppress("ObjectLiteralToLambda")
        val subdirs = dir.list(object : FileFilter { override fun accept(file: File) = file.isDirectory })

Observed Behavior
Analysis fails with This explicit usage of it as the lambda parameter name can be omitted. [ExplicitItLambdaParameter]
Steps to Reproduce
see above
Context
I encountered a slightly more complex example earlier in https://github.com/detekt/detekt/pull/6367#issuecomment-1687561697 - and rewrote that source.
Job showing this one: https://github.com/yairm210/Unciv/actions/runs/7426175374/job/20209368340?pr=10881
Issue search turns up a few, but none comparable, most fixed - but this is not, as 1.23.4 already contains PR #6367, right?
Your Environment

Version of detekt used: 1.23.4
Github workflow definition: https://github.com/yairm210/Unciv/blob/cfff0aa66a2bb05d3da002bad54695bae4951d40/.github/workflows/detektAnalysis.yml
Link to project fork (if it's a public repository): https://github.com/SomeTroglodyte/Unciv

Hi, @SomeTroglodyte why can't you use the below code? In my case removing it and directly using val subdirs2 = dir.list { it.isDirectory } working fine to me.
fun interface FileFilter {
    fun accept(file: File): Boolean
}

class FileHandle {
    fun list(filter: FileFilter): Array<FileHandle?> {
        return emptyArray()
    }
}

fun main() {
    val dir = FileHandle()
    val subdirs1 = dir.list { it: File -> it.isDirectory } // this is problematic code
    val subdirs2 = dir.list { it.isDirectory } // this is working fine
}

This have sense. I would vote to allow any it parameter if it declares the type.

From the rule description:

[...] Naming it just it is meaningless and only makes your code misleading, especially when dealing with nested functions.

meaningless:
{ it -> /* something */ }

No meaningless:
{ it: File -> /* something */ }

The type gives information that could help read the code. It is not meaningless. I agree that it is probably not a good name, but this rule is not about that.


Support for Null-coalescing operator

e.g.
{{ entry.eventUrl ?? 'cake' }}
This is available elsewhere in 'Twig land'.
Currently, if I include a partial that contains one of these then the entire partial is skipped.
It would be great if this project too could support such tags. I'm sorry I don't understand the relationship between gulp-twig and what is happening upstream. Obviously feature-parity would be super excellent happy.

This is in the pipeline (over at twigjs, which gulp-twig is the gulp wrapper for): https://github.com/twigjs/twig.js/issues/319


Admin Shares with Users on Other Servers

[ ] As a server admin, I want to share or not share posts with users on other servers.
[ ] As a server admin, I want to share or not share images with users on other servers.

Prioritize: Post sharing