Stop consuming messages after reconnecting with RabbitMQ

Description
Error while reconnecting to RabbitMQ. The reconnect happens fine thanks to aio_pika, but message consumption and processing stops.
To Reproduce
from propan import PropanApp
from propan import RabbitBroker
from propan.brokers.rabbit.schemas import RabbitQueue, RabbitExchange

broker = RabbitBroker("amqp://guest:guest@localhost:5672/")

app = PropanApp(broker)

@broker.handle(RabbitQueue(name="test", durable=True), RabbitExchange(name="kek", durable=True))
async def test_handler(body):
    print(body)

And steps to reproduce the behavior:

Run Propan app from above and RabbitMQ broker
Post multiple posts in any way (everything works)
Restart RabbitMQ broker. The app will successfully reconnect
Publish some messages to kek exchange. They will be published successfully, but the Propan app will not process them. It will only do this on app restart

Expected behavior
After reconnecting to the broker, Propan should continue processing messages.
Environment
Running Propan <IP_ADDRESS> with CPython 3.11.2 on Linux
Additional context
I think the problem is caused by the consume method of aio_pika.abc.AbstractRobustQueue. If you consume messages in this way, after reconnecting aio_pika for some reason does not restore work.

The example uses durable queues and recovery after reconnect is pretty obvious. But, it is likely that the consumption of temporary queues should also be restored, and for this, in some cases, they still need to be recreated. For example, when the reconnect was caused by a restart of the RabbitMQ broker itself

Thanks for the Issue. Wait for fixes today/tomorrow.

@didhat, sorry, but I can't reproduce your behavior. I had started a rabbitmq:latest container, stop it, restart it, restart RabbitMQ inside the container... All scenarios work fine after a little bit of waiting. aio-pika reconnecting code looks fine too.
Is that repeatable behavior in your case or did it occur once?
If it is repeatable behavior for you, can you try the following aio-pika code too?
import asyncio
import aio_pika

async def main():
    connection = await aio_pika.connect_robust(
<EMAIL_ADDRESS>    )

    queue_name = "test_queue"
    exchange = "test_exch"

    async with connection:
        channel = await connection.channel()

        exch = await channel.declare_exchange(exchange, durable=True)
        queue = await channel.declare_queue(queue_name, durable=True)
        await queue.bind(exch)

        async with queue.iterator() as queue_iter:
            async for message in queue_iter:
                async with message.process():
                    print(message.body)

asyncio.run(main())

If aio-pika will has an error too, moving the Issue to that library makes sence. If aio-pika has no errors, but Propan does, I will continue to work on this Issue.

The code you provided for aio_pika will work fine, I tested it too. But when using queue.consume(...) and also in Propan, the error occurs. I have restarted RabbitMQ by restarting the docker container and in this case Propan is not restored. Below I will add the docker-compose.yml that I used.
version: "3.3"

services:
  rabbitmq:
    hostname: node1
    image: rabbitmq:3-management-alpine

    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - ~/.data/:/var/lib/rabbitmq/

Start rabbitmq - docker-compose up -d
Start Propan app from my first message - propan run main:app
Publish some messages, below is a simple python script that I use to do this.
Stop rabbitmq with docker-compose down
Start rabbitmq with docker-compose up
Restart script for publishing messages
There Propan stop consume messages

Script for publishing
import aio_pika
import asyncio
from aio_pika import DeliveryMode, Message

async def main():
    conn = await aio_pika.connect_robust(
        url="amqp://guest:guest@localhost:5672/", timeout=10
    )
    ch = await conn.channel()

    exch = await ch.get_exchange("kek")

    while True:
        ll = "dsds".encode("utf-8")
        message = Message(
            body=ll, delivery_mode=DeliveryMode.PERSISTENT
        )
        await exch.publish(message, routing_key="test")
        await asyncio.sleep(3)

if __name__ == "__main__":
    asyncio.run(main())

If it still fails to reproduce the error, then we can contact somewhere by calling, I will share the screen and provide a full explanation

@didhat wait a second: does the following aio-pika code reproduce your error?
import asyncio
import aio_pika

async def consume(message):
    print(message)

async def main():
    connection = await aio_pika.connect_robust(
<EMAIL_ADDRESS>    )

    queue_name = "test"
    exchange = "kek"

    async with connection:
        channel = await connection.channel()

        exch = await channel.declare_exchange(exchange, durable=True)
        queue = await channel.declare_queue(queue_name, durable=True)
        await queue.bind(exch)

        await queue.consume(consume)

        try:
            await asyncio.Future()
        finally:
            await connection.close()

asyncio.run(main())

@Lancetnik This code works fine for me

@didhat It was a really interesting: aio-pika stores information about restorable objects in WeakSet
for handler in self.handlers:
          queue = await self._init_handler(handler)
          await queue.consume(func)

So, then this loop is out, python has no refs to queue, QC delete it and aio-pika forget about queues to restore

@Lancetnik Yes, I assumed that the problem is somewhere in aio_pika. It looks like this logic should be implemented in Propan, or is it worth creating an issue in aio_pika for this?

@didhat I am just fixed it with last commit. Download 1.2.12 version, It should be fine.
I am waiting for a new challenges from u.

@Lancetnik Thank you for your framework, I hope in the future I will have time to implement something in the project myself

It will be great! Help is always welcome. If you working with RabbitMQ, a new release should be iteresting for you. I am one step from RabbitMQ project AsyncAPI sheme generation and hosting right from Propan.


Email Service

What's the best free email service which provides SMTP? I mean like Sendgrid...

You can search about PHPMailer and how they say for use the SMTP of a gmail account (because need to disable two configs I can't remember specifically)... And with that, just use a new gmail account for the alerts


add more data nodes

This will solve #308

[x] polish descriptions
[x] add test workflow

@koettert test that the data nodes especially the ESRI node also runs on Linux!

@wybert when I use the geospatial_env.yml file of this PR I can no longer resolve my Python envrionment. It seems that it contains conflicting version.

Results from our legal department:

Add a copyright notice similar to the OSM nodes to the GDelt node according to https://www.gdeltproject.org/about.html#termsofuse
Remove the DataCenter node since it has no clear licensing
For the Esri nodes we need to clearly show the copyright notice for each item in the KNIME table

@wybert when I use the geospatial_env.yml file of this PR I can no longer resolve my Python envrionment. It seems that it contains conflicting version.

It got stuck in my Windows machine when creating a new environment.

Not sure if downgrading osmnx from version 1.7 (which we ship right now) to 1.2.2. What do you think?

To avoid dependency conflicts we will move the ESRI nodes out of the general Geospatial extension into a dedicated ESRI extension which can be installed separately. This extension would start to only provide the data nodes but could in the future be extended to provide nodes for more advanced and potentially commercial ArcGis features

@wybert please add a copyright notice similar to the OSM nodes to the GDelt node according to https://www.gdeltproject.org/about.html#termsofuse


php-ds 1.3.0 (New Formula)

https://pecl.php.net/package/ds

@kabel I don't understand the CI errors. what are they about?
==> brew bottle --merge --write --no-commit<EMAIL_ADDRESS>==> FAILED
==><EMAIL_ADDRESS>  bottle do
    root_url "https://dl.bintray.com/kabel/bottles-pecl"
    cellar :any_skip_relocation
    sha256 "32becd09f7b26a01f2db10144c6f02c47737a5d08341a6be184b2223a6135dd0" => :mojave
  end
Error: Could not find formula class!

https://dev.azure.com/kevinabel0613/kevinabel/_build/results?buildId=433&view=logs&j=5141694d-d97e-5ab6-a82a-8f7a570c84bb&t=26e5a478-6295-5da1-39e8-5ef0f135dc80&l=322

Merged at 37e34b8bd6bfa90853351a6dd6520fc845931945
The brew command is no longer able to find where to insert bottle blocks for my custom Formula subclass. Inserting a block placeholder fixes the issue.
The other issue was you forgot to add @8.0 to the alias, so it was in conflict with the non-versioned.


[Cleanup] Use Akka ByteString or ByteVector as opposed to ByteBuffer/Array[Byte]

Right now, ByteBuffers are used everywhere in the ColumnStore API.   ByteBuffers are pretty horrible to work with as they are mutable, and all it takes is one accidental call to mess up the very important data pipeline flow of columnar chunks.
Ideally we want something which is 1) immutable,  and 2) can hashCode correctly and be used as keys in HashMaps, yet still allows 3) random access.
Array[Byte] is mutable, slightly better than ByteBuffer, but does not hashCode.
Instead, let's look into these alternatives:

https://github.com/scodec/scodec-bits - has a ByteVector type
Akka's ByteString - https://github.com/akka/akka/blob/v2.3.5/akka-actor/src/main/scala/akka/util/ByteString.scala - just copy this file so that the core module doesn't need to link in Akka

Closing, SegmentIds have been ported to use ByteVector.


jsoftload package does not exist

I'm trying to install RARS assembler to an offline machine. I get jsoftload package does not exist when I run build-jar.sh. So I extracted jsoftload source to my machine bu I still get this error.

You are getting the error because the JSoftFloat submodule is not updated in your clone.
While inside the rars directory executing git submodule update will clone JSoftFloat and check it out appropriately. Alternatively when cloning adding the --recusive flag (git clone https://github.com/TheThirdOne/rars --recursive) will initialize any submodules.
This is mentioned in the thethirdone/rars#57, but there definitely should be some documentation in the README.md or an error message from build.sh that indicates how to solve the error.

I made an issue in RARS for lack of documentation. I do not consider this an issue of JSoftFloat because JSoftFloat doesn't have a strict build system or dependencies of any kind.


Add workflow to check for release notes update

This workflow will check PRs to see if a change was done in the src/ directory, and if so, it will fail if the RELEASE_NOTES.md wasn't also updated.
Users can override this by assigning the label cmd:skip-release-notes to the PR for changes that don't really need a release notes update.

cookiecutter: Add workflow to check for release notes update
Add the release notes check workflow

We need to update the branch rules to require this when merged.

Yeah, this repo is focused on open source project, but that wouldn't hurt either. Now that you mention we need to also put the instructions about the labels and checks in the documentation when creating a new repo.

Updated.


scheduler: network domain scope filter

这个 PR 实现什么功能/修复什么问题:
调度器根据 network scope domain 过滤
是否需要 backport 到之前的 release 分支:

release/2.10.0

/cc @swordqiu
/area scheduler

Codecov Report

Merging #1192 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #1192      +/-   ##
=========================================
+ Coverage     7.9%    7.9%   +<.01%
=========================================
  Files         368     368
  Lines       57853   57853
=========================================
+ Hits         4575    4576       +1
+ Misses      52880   52879       -1
  Partials      398     398

Flag
Coverage Δ

#aFlag
7.9% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/util/seclib2/seclib.go
91.48% <0%> (-4.26%)
:arrow_down:

pkg/util/rbacutils/rbac.go
75.7% <0%> (+0.94%)
:arrow_up:

Continue to review full report at Codecov.

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

/lgtm
/approve


HTML animation

HTML(animateCartpole(ddp.xs).to_html5_video()) command in cartpole_swing_up.py does't show any animations on my system (Ubuntu 18.04). To save the animation, I have used animateCartpole(ddp.xs).save('basic_animation2.mp4', fps=30, extra_args=['-vcodec', 'libx264']) command and it works. Can you help me to resolve the issue of HTML animation?

Your issue is not clear. This code works as it is!
Please follow the instructions in the notebook

Should I see an animation after running cartpole_swing_up.py?

The code is designed to be use with the Jupiter notebook, and this is file for teachers (not students).
Again, you should use the notebook and complete the tasks written there.

I added the following command into cartpole_swing_up.py:
animateCartpole(ddp.xs).save('basic_animation2.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
By running cartpole_swing_up.py, I could save a video of the animation. As you can see in the below:
https://user-images.githubusercontent.com/13035122/152224521-ee6c54e1-bae2-44a4-ba1f-9bc96c1906e2.mp4
So the codes works well and I don't need to improve any parts of cartpole_swing_up.py. However, I expects that HTML(animateCartpole(ddp.xs).to_html5_video()) that is considered in cartpole_swing_up.py shows the animation. My question is why HTML(animateCartpole(ddp.xs).to_html5_video()) doesn't show any animation while the codes works well.

My question is why HTML(animateCartpole(ddp.xs).to_html5_video()) doesn't show any animation while the codes work well

Please see the previous answer.
#1044 allows us to display it in python.


Problem updating exercise: Both dune and jbuild files exist

The main purpose of this issue is to document a usability bug caused by the way exercism download currently updates exercises on the OCaml track. It seems that there are some situations where exercise version migrations cause problems, and this is one such edge case.
If users return to an exercise that has been updated in the meantime, and they click the website button that forwards their solution to the latest version, and they then type exercism download --exercise=... --track=ocaml, all the files that were updated are downloaded (except the ones they once ran exercism submit ... on).
If this was a while ago, from before we replaced jbuild with dune removed the jbuild file in favor of the dune file in #314 (we used dune already, but where it looked at the jbuild file until it became deprecated), then issuing a make will trigger the following error:
$ make
dune clean
dune runtest
Error: Directory . has both a 'dune' and 'jbuild' file.
This is not allowed
Makefile:4: recipe for target 'test' failed
make: *** [test] Error 1

Perhaps we should extend Makefile to conditionally remove the jbuild file and inform that this has happened. Perhaps we should not do anything about this problem. Perhaps we should address this in a track-generic way. For now, this is a testimony to its existence.

I don't think this is an issue anymore, please reopen if that is not correct.


Set custom file name in options object

Not really an issue, but it would be useful to set the filename in the options object, instead of using the orgName-projectName.

Hi @boakenfull please feel free to open a PR for that

@boakenfull is this still a desired feature request for your use case?

Implemented in #11


Update installation instructions

I submitted a recipe to conda-forge, and now xarray-datatree can be installed from conda. This PR updates the docs to reflect this change.

Oh great! Thank you @andersy005 !


Display preferred name?

It would be great if we could see students' preferred names in the Students tab. Many of the listed names are different than those they go by in lab.

This is an issue for help@cs. We just use what the classlist tool gives us.

Marking as wontfix for now because this will block on others and we'll get it for free when the work is done. From Anthony:

Preferred name is not yet available in ELDAP. If it was, it would be straight forward to include it in the new students.cs classlist. We'll have to put in a request with UBC IT to get it done.


ARROW-2203: [C++] StderrStream class

Output stream that just writes to stderr. Adapted from StdoutStream, but use cerr instead of cout.

Ups. Should be fixed now.


ci: migrate Elixir CI and deployments to GitHub Actions

💳 Migrate commuter_rail_boarding CI to GitHub Actions
This PR adds workflows for Elixir CI, coverage reporting, and deployments to dev and prod with ECS. The CI workflow has a couple interesting features. First, it runs Credo, tests, and formatting checks in parallel, because they do not depend on each other. Second, it uses the concurrency feature to cancel previous in-progress runs of the same branch, so that time is not wasted producing stale results if changes are pushed while CI is running.

Have you done a deploy of this branch yet? I'm not seeing any Actions for it.

This PR looks good to me, other than the Dockerfile comment. But before we can consider the ticket complete, I'd like to see a successful deploy to Dev, at least. Prod is similar enough that we can wait optimistically assume it will work, and try next week. What are your thoughts on testing the deploys? How about issuing a no-op PR to get the workflows into the UI, so you can trigger a workflow here?

@losvedir should be working now!

Still good! 👍 🚀 :shipit:


[BUG] Cythonizing fails due to AttributeError when calling a cpdef function from a cimport'ed module

Describe the bug
Not sure if this is related to #1317 or #3193. In Module 2 if I first hold a reference to a cpdef function from (cimported) Module 1, and then call that function (via the reference), the compiler errors out during cythonizing with the following output:
$ cythonize -i -3 test_cpdef_func_ptr2.pyx
Compiling /home/leofang/dev/test_cpdef_func_ptr2.pyx because it changed.
[1/1] Cythonizing /home/leofang/dev/test_cpdef_func_ptr2.pyx
Traceback (most recent call last):
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/bin/cythonize", line 11, in <module>
    sys.exit(main())
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Build/Cythonize.py", line 223, in main
    cython_compile(path, options)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Build/Cythonize.py", line 106, in cython_compile
    **options.options)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Build/Dependencies.py", line 1102, in cythonize
    cythonize_one(*args)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Build/Dependencies.py", line 1208, in cythonize_one
    result = compile_single(pyx_file, options, full_module_name=full_module_name)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Main.py", line 727, in compile_single
    return run_pipeline(source, options, full_module_name)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Main.py", line 515, in run_pipeline
    err, enddata = Pipeline.run_pipeline(pipeline, source)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Pipeline.py", line 355, in run_pipeline
    data = run(phase, data)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Pipeline.py", line 335, in run
    return phase(data)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Pipeline.py", line 52, in generate_pyx_code_stage
    module_node.process_implementation(options, result)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/ModuleNode.py", line 143, in process_implementation
    self.generate_c_code(env, options, result)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/ModuleNode.py", line 385, in generate_c_code
    self.body.generate_function_definitions(env, code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 442, in generate_function_definitions
    stat.generate_function_definitions(env, code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 442, in generate_function_definitions
    stat.generate_function_definitions(env, code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 3174, in generate_function_definitions
    FuncDefNode.generate_function_definitions(self, env, code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 1981, in generate_function_definitions
    self.generate_function_body(env, code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 1743, in generate_function_body
    self.body.generate_execution_code(code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 448, in generate_execution_code
    stat.generate_execution_code(code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/Nodes.py", line 5988, in generate_execution_code
    value.generate_evaluation_code(code)
  File "/home/leofang/miniconda3/envs/cupy_cuda112_dev/lib/python3.7/site-packages/Cython/Compiler/ExprNodes.py", line 6052, in generate_evaluation_code
    if value and value.is_attribute and value.obj.type.is_pyobject:
AttributeError: 'NoneType' object has no attribute 'is_pyobject'

To Reproduce
Cythonizing the second module gives the above error:
test_cpdef_func_ptr1.pxd:
cpdef int f() except? -1

test_cpdef_func_ptr1.pyx:
cpdef int f() except? -1:
    return 123

test_cpdef_func_ptr2.pyx:
cimport test_cpdef_func_ptr1

cpdef g():
    x = test_cpdef_func_ptr1.f
    return x()

Expected behavior
If in the 2nd module I instead cimport only f from the 1st module and then do x = f, it'd work. I expect the same behavior for my above snippet.
Environment (please complete the following information):

OS: Linux
Python version: 3.7.9
Cython version: 0.29.21

Additional context
N/A

This also breaks with cdef methods so it isn't cpdef special-casing

It's easily enough fixed but even with that it isn't inferring the type correctly (thus it's always going through the Python call and you're getting no benefit from the cpdef)

It's easily enough fixed but even with that it isn't inferring the type correctly (thus it's always going through the Python call and you're getting no benefit from the cpdef)

Thanks for quick action @da-woods! Looks like you found a way to fix this type inference in #4001? Is there any way to work around this bug in current Cython releases to get the C function pointer directly?

Is there any way to work around this bug in current Cython releases to get the C function pointer directly?

Possibly using the &module.address? But that's untested

Ah...I see, thanks. I worked around by importing the function from a stub header.


Ubuntu dependency wrong name gpgme-devel should be libgpgme11-dev

Hello,
whilst installing the dependencies for smaug, I got stuck as there is no such package in the Ubuntu repositories, which is named gpgme-devel, so this command won't work:
sudo apt-get install gpgme-devel
After some research I found the the package is named differentely, it's called libgpgme11-dev, maybe you can update the manual so it includes the right package name, which would be
sudo apt-get install libgpgme11-dev
Would be nice, thank you ever so much,
Robert

Ah, thank you!  I will update it right now.
Eric
On Friday, April 14, 2017 5:00 PM, Robert Christian<EMAIL_ADDRESS>wrote:

Hello,whilst installing the dependencies for smaug, I got stuck as there is no such package in the Ubuntu repositories, which is named gpgme-devel, so this command won't work:
sudo apt-get install gpgme-develAfter some research I found the the package is named differentely, it's called libgpgme11-dev, maybe you can update the manual so it includes the right package name, which would be
sudo apt-get install libgpgme11-devWould be nice, thank you ever so much,
Robert—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you very much and also a huge thank for this wonderful piece of software, great work!
I will close this issue now, as I've seen the manual is already updated.
Robert


Add org type to output

This sort of thing, I suppose:

This data is available in the org file.

Fixed in f1889dfbb316964a840988bfc4118591ad728918.


build an example for audio data

Hi,
I am trying to use the AudioReader executor to load audio data, but fails with the following errors from the logs.

craft-load.yml
!AudioReader
with:
sample_rate: 22050
metas:
name: reader
requests:
on:
IndexRequest:
- !CraftDriver
with:
executor: reader
SearchRequest:
- !CraftDriver
with:
executor: reader
ControRequest:
- !ControlReqDriver {}

Hello @jyothishkjames , can you provide more details how are u using it?
It seems that the uri that the crafter is receiving is invalid

Hello @JoanFM,
I have the .wav files in a folder, and the path to the folder is given as a pattern as below.
if task == 'index':
f = Flow().load_config('flow-index.yml')
with f:
f.index_files(f'{data_path}/*.wav', size=num_docs, read_mode='rb', batch_size=2)

Can u have this:
!AudioReader
with:
sample_rate: 22050
metas:
name: reader
requests:
on:
IndexRequest:
- !LogInfoDriver {}
- !CraftDriver
with:
executor: reader
SearchRequest:
- !LogInfoDriver {}
- !CraftDriver
with:
executor: reader
ControRequest:
- !ControlReqDriver {}

this should print the messages that go to the flow right before the crafter. You should see if the document received a valid uri value.

Hello @JoanFM,
Thank you, the issue was with the read_mode parameter being set to 'rb' in the index_files function. This was the reason why raw bytes were passed instead of file path.

Hello @JoanFM,
Thank you, the issue was with the read_mode parameter being set to 'rb' in the index_files function. This was the reason why raw bytes were passed instead of file path.

Glad you found it!!


LightGallery not display with all plugins enabled

LightGallery (1.6.11) plugin doesn't work on IE8 if all plugins are enabled, also the minified version doesn't work too. The only way to get working for the moment is using the un-minified main plugin.
Note: The older version tested was 1.3.9 and is working with no problems.

I will no longer support this due to Bootstrap 4 migration.


IP address error

Whenever I try to change the IP address to something different than <IP_ADDRESS> the following error occurs:

On <IP_ADDRESS> OSC is sent without problems.
Currently running on v<IP_ADDRESS>

Thanks for the note - I can reproduce this error myself. I'll looking into this this evening.

Think this was just a simple regex mix up on my part. This should now work on v<IP_ADDRESS>.
Let me know how you get on, and thanks for the issue report.


Support multi-module setup

It fails with org.jetbrains.idea.inspections.RunnerException: IDEA system path is already used in current process exception.
Full error message
gw --info --stacktrace inspectionsMain > inspections.log
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/var/folders/ww/cgv63frx1c5fdzpn183d67wc0000gn/T/inspection-plugin/dependencies/ideaIC_2018_2_3/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/spechenizkyi/.gradle/wrapper/dists/gradle-4.10.2-all/9fahxiiecdb76a5g3aw9oi8rv/gradle-4.10.2/lib/gradle-logging-4.10.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError.
SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
InspectionPlugin: Analyzing exception
Caused by: org.jetbrains.idea.inspections.RunnerException: IDEA system path is already used in current process
    org.jetbrains.idea.inspections.IdeaRunner.generateSystemPath(IdeaRunner.kt:238)
    org.jetbrains.idea.inspections.IdeaRunner.loadApplication(IdeaRunner.kt:186)
    org.jetbrains.idea.inspections.IdeaRunner.run(IdeaRunner.kt:147)
    org.jetbrains.intellij.tasks.AbstractInspectionsTask$run$inspectionsThread$1.invoke(AbstractInspectionsTask.kt:299)
    org.jetbrains.intellij.tasks.AbstractInspectionsTask$run$inspectionsThread$1.invoke(AbstractInspectionsTask.kt:25)
    kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
The message received from the daemon indicates that the daemon has disappeared.
Build request sent: Build{id=3a3d313c-6041-4ecc-a934-7c5d39469cbb, currentDir=/Users/spechenizkyi/Projects/pax-app}
Attempting to read last messages from the daemon log...
Daemon pid: 69487
  log file: /Users/spechenizkyi/.gradle/daemon/4.10.2/daemon-69487.out.log
----- Last  20 lines from daemon log file - daemon-69487.out.log -----
InspectionPlugin: Daemon PID is<EMAIL_ADDRESS>InspectionPlugin: Class loader: org.jetbrains.intellij.ChildFirstClassLoader@52e30657
InspectionPlugin: System lock marker.ipl used by current process.
InspectionPlugin: System lock released
InspectionPlugin: Analyzing exception
Caused by: org.jetbrains.idea.inspections.RunnerException: IDEA system path is already used in current process
    org.jetbrains.idea.inspections.IdeaRunner.generateSystemPath(IdeaRunner.kt:238)
    org.jetbrains.idea.inspections.IdeaRunner.loadApplication(IdeaRunner.kt:186)
    org.jetbrains.idea.inspections.IdeaRunner.run(IdeaRunner.kt:147)
    org.jetbrains.intellij.tasks.AbstractInspectionsTask$run$inspectionsThread$1.invoke(AbstractInspectionsTask.kt:299)
    org.jetbrains.intellij.tasks.AbstractInspectionsTask$run$inspectionsThread$1.invoke(AbstractInspectionsTask.kt:25)
    kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
InspectionPlugin: Task execution failure
InspectionPlugin: IDEA shutting down.
InspectionPlugin: Killed current gradle daemon for classpath resetting
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
Using Kotlin incremental compilation
----- End of the daemon log -----

Applied with
subprojects { subProject ->
    afterEvaluate {
        subProject.plugins.apply('org.jetbrains.intellij.inspections')

        subProject.inspections {
            inheritFromIdea = true
            idea.version "ideaIC:2018.2.3"
        }
    }
}

@plastiv Have you tried to run gradlew inspectionsMain just from command line (not from IDEA Gradle window)?

@plastiv Could you please try something like this? Such a configuration worked in another project.
allprojects {
    apply plugin: 'org.jetbrains.intellij.inspections'

    inspections {
        inheritFromIdea = true
        idea.version = "ideaIC:2018.2.3"
    }
}

Anyway, I will investigate this situation, thank you!

I have to say I could not reproduce it yet :( On my examples, this works as it should.

Ok, I see. I though intelliJ binary is not ready for concurrent execution in general. It could be my project specifics then. I use mixed java/kotlin/android/android-library modules project. Lets see if anyone is using similar setup and having issues as well 👍

Yes, it could be complex in your case. Thanks for information, I will try to reproduce it again.


Send PresentAfter/Absent in order

So the client doesn't have to sort them.

Moved to https://gitlab.com/concert/clapi/issues/14


Make metal crates reflect energy projectiles

It wasn't written in the issue, but I'm assuming plastic crates shouldn't reflect laser beams.
Resolves #8641

5 steel reflective vest real

5 steel reflective vest real

This problem is mitigated by the reflect probability of the crate being only 20%. Most of the time, it will still absorb damage.


CornDelight Refabricated

Converted CornDelight to Farmers Delight Refabricated. Removed Deprecated Farmers Delight Fabric.
Added Dependencies
Had to update Loom and fabric loader.
Some deprecated classes still had to be used. I could not figure out how to get FeastBlock and WildCropBlock to work with the new code in vectorwing.farmersdelight.common.block

Should resolve #6


Distribute it with rustup

[x] Build libgccjit.so in the CI (done in https://github.com/rust-lang/rust/pull/122042)
[ ] Vendor dependencies (https://github.com/rust-lang/rust/pull/122334)

This is open too fyi https://github.com/rust-lang/rustc_codegen_gcc/issues/222


removed animation on clicking rescan

this PR fixes issue #844
https://github.com/whyboris/Video-Hub-App/assets/61049388/bff5de8c-11c2-4c27-9bcd-b848c399f36f

added another commit to fix the issue

Thank you! I suspect this works great - will test and merge next time I'm doing some VHA coding (sometime during March); please let me know if you'd like it merged sooner 🙇♂

My house projects are taking so much longer than coding 😅
Refactoring an app can be as little as a few days of work; rebuilding a kitchen can take as long as many months 😓
I'll try to get to coding in the coming months, though I'm still deep in house work 🙇♂
Thank you for your patience -- I intend to merge this PR this year; surely before any new VHA release occurs 🤝


JAILROOT and creation

If JAILROOT="/copperbowl/iocage/jails" then why is creation at a different path?
(Do I misunderstand?)
root@mowa219-gjp4-8570p:~ # mkjail create -j 13 -v 13.0-RELEASE
Creating copperbowl/jails/13...
Extracting base into /copperbowl/iocage/jails/13...
tar: could not chdir to '/copperbowl/iocage/jails/13'

root@mowa219-gjp4-8570p:~ # grep JAILROOT /usr/local/etc/mkjail.conf
JAILROOT="/copperbowl/iocage/jails"
root@mowa219-gjp4-8570p:~ # mount | grep jails
copperbowl/poudriere/jails/main on /usr/local/poudriere/jails/main (zfs, local, noatime, nfsv4acls)
copperbowl/poudriere/jails on /copperbowl/poudriere/jails (zfs, local, noatime, nfsv4acls)
copperbowl/iocage/jails on /copperbowl/iocage/jails (zfs, local, noatime, nfsv4acls)
copperbowl/iocage/jails/jbrowsers on /copperbowl/iocage/jails/jbrowsers (zfs, local, noatime, nfsv4acls)
copperbowl/iocage/jails/jbrowsers/root on /copperbowl/iocage/jails/jbrowsers/root (zfs, local, noatime, nfsv4acls)
copperbowl/jails on /jails (zfs, local, noatime, nfsv4acls)
copperbowl/jails/13 on /jails/13 (zfs, local, noatime, nfsv4acls)
root@mowa219-gjp4-8570p:~ # uname -KrU
14.0-CURRENT 1400025 1400025
root@mowa219-gjp4-8570p:~ #

Also (after editing my configuration file) is there a mount point issue?
root@mowa219-gjp4-8570p:~ # nano /usr/local/etc/mkjail.conf
root@mowa219-gjp4-8570p:~ # uname -KrU
14.0-CURRENT 1400025 1400025
root@mowa219-gjp4-8570p:~ # mkjail create -j 13 -v 13.0-RELEASE
Creating copperbowl/jails/13...
Extracting base into /copperbowl/jails/13...
tar: could not chdir to '/copperbowl/jails/13'

root@mowa219-gjp4-8570p:~ # mount | grep 13
copperbowl/jails/13 on /jails/13 (zfs, local, noatime, nfsv4acls)
root@mowa219-gjp4-8570p:~ # grep JAILROOT /usr/local/etc/mkjail.conf
JAILROOT="/copperbowl/jails"
root@mowa219-gjp4-8570p:~ #

First, I wouldn't mix mkjail withiocage.
Let's confirm /usr/local/etc/mkjail.conf is being used.
Looking at https://github.com/mkjail/mkjail/blob/master/src/bin/mkjail#L59
Try putting an echo in your .conf file and an exit. If that doesn't help, try echo $JAILROOT around line 82 of mkjail.
I'm not the port maintainer and I haven't had a chance to use the port yet.

Thanks,

echo $JAILROOT around line 82 of mkjail.

root@mowa219-gjp4-8570p:~ # mkjail create -j 12 -v 12.0-RELEASE
/copperbowl/iocage/jails
Release 12.0-RELEASE does not exist. Attempting to fetch...
Fetching release manifest...
MANIFEST                                              1045  B   13 MBps    00s
Fetching release tarballs...
base.txz                                               147 MB 8242 kBps    19s
lib32.txz                                               58 MB 7777 kBps    08s
src.txz                                                152 MB 8438 kBps    18s
base.txz: sha256 verified
lib32.txz: sha256 verified
src.txz: sha256 verified
Extracting src for use in jail upgrades...
Creating copperbowl/jails/12...
Extracting base into /copperbowl/iocage/jails/12...
tar: could not chdir to '/copperbowl/iocage/jails/12'

root@mowa219-gjp4-8570p:~ #

I'm not the port maintainer and I haven't had a chance to use the port yet.

OK, I'll aim for Bugzilla sysutils/mkjail if there's any future issue.
The simplicity that it brings to jails is very appealing. https://forums.FreeBSD.org/threads/80117/post-523344 I shared my first experiences with the port.

Side note: I aimed for a path that included /iocage/ for test purposes, because it existed (not because I'm an active user of iocage; I removed the software so long ago, I have no idea how to use it).
Thanks for the hint.

I'm trying to get bhyve configured for a test environment.

Also (after editing my configuration file) is there a mount point issue?
root@mowa219-gjp4-8570p:~ # nano /usr/local/etc/mkjail.conf
root@mowa219-gjp4-8570p:~ # uname -KrU
14.0-CURRENT 1400025 1400025
root@mowa219-gjp4-8570p:~ # mkjail create -j 13 -v 13.0-RELEASE
Creating copperbowl/jails/13...
Extracting base into /copperbowl/jails/13...
tar: could not chdir to '/copperbowl/jails/13'

root@mowa219-gjp4-8570p:~ # mount | grep 13
copperbowl/jails/13 on /jails/13 (zfs, local, noatime, nfsv4acls)
root@mowa219-gjp4-8570p:~ # grep JAILROOT /usr/local/etc/mkjail.conf
JAILROOT="/copperbowl/jails"
root@mowa219-gjp4-8570p:~ #

@grahamperrin it's a config issue, from the output of mount you're mkjail.conf should be:
ZPOOL="copperbowl"
JAILROOT="jails"

Also take not of the limitation mentioned in #18

Also take not of the limitation mentioned in #18

@grahamperrin for now, use JAILROOT="jails"

I think this is now fixed with the current code. A port update will follow. If the problem persists, please reopen.

Thanks


CLI hangs indefinitely when network unavailable

Command
All commands - tested with cf apps

What occurred
Network is available
cf login api.blah.org
cf apps <- works as usual
Disconnect from VPN
cf apps  <- Hangs forever
CF_DIAL_TIMEOUT=5 cf apps <- Still hangs

What you expected to occur
Command timeout within 5 seconds
CLI Version
6.22.2+a95e24c-2016-10-27

CC API Endpoint Version
2.58.0

CF Trace
Getting apps in org testorgmeta / space testspacemeta as admin...

REQUEST: [2017-01-20T14:40:15Z]
GET /v2/spaces/c63c23ed-133d-498e-b8bd-52f656c1ed98/summary HTTP/1.1
Host: api.indigo.springapps.io
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
Connection: close
Content-Type: application/json
User-Agent: go-cli 6.22.2+a95e24c / darwin

Hi @ojhughes thanks for creating this. We are closing this issue due to inactivity - please feel free to reopen or create a new issue if this problem still persists with the latest version of the cf CLI.


HighLevelConsumer Introduces Lag

I'm using an offset checker for monitoring the performance of Kafka and the consumer process (saving the message to a DB) - the tool I'm using is http://quantifind.com/KafkaOffsetMonitor/ but the same issue is found when using the command line tool that is packaged with kafka: ./bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker.
The issue is that the tool will always show a "lag" value and I think it might be due to differences in the interpretation of how the offset should be used with the High Level Consumer versus the Java API functionality. This package looks like it does the following:

fetchOffset => topics (with starting offsets, initially at -1)
updateOffsets(topics) => adds 1 to value found in each topic
fetch => sends the topicPayloads modified above as the request

When a message comes through, the offset is attempted to be set to a value beyond the current message.
e.g.
// the message
{
   ...
   offset: 2
}

// okay great now set the offset ahead by 1
consumer.setOffset(message.topic, message.partition, message.offset + 1);

When commit gets called, this line sets the offset back: https://github.com/SOHU-Co/kafka-node/blob/master/lib/highLevelConsumer.js#L412
This package appears to work quite well (despite not being production ready) as far as getting the messages and keeping track of the previous value while handling rebalances, but the lag value will always show up as at least 1 because the logSize will initially be 1 on the first message (this counts from 0), but the package always holds back because it expects to add to the offsets retrieved from Zookeeper before reading.
The java-based High Level Consumer API doesn't exhibit this behavior in terms of the lag though I'm not all to familiar with Java so unfortunately I can't say whether the code follows the approach of trying to read from the current offset set in ZK (this would be my assumption).

The lag should be removed in the latest version


Add code paths to avoid subtraction overflow

Sets minimum window size, choose 100x100
Made checks for the length of self.splits to avoid overflow on subtraction
If the size of the font is too wide for the window, then create an i32 that is negative from the u32 values.
😃

Looks good, thanks!


remember 'only show compatible variables' preference

i feel like every time i click the drop-down to select some var i have to re-select showing only compatible vars

We'll have to decide on the scope for this preference. I think it should be application level.


Upgrade to Retrofit 2.0.0 stable from current beta dependency

https://github.com/square/retrofit/blob/master/CHANGELOG.md#version-200-2016-03-11

Excellent.

Thanks for the notify, @tmelz. Ticket is filed and I'll look into it.

Update: #28 merged Retrofit 2.0.0.


Stream class added and tested

Coverage increased (+7.2%) to 98.574% when pulling 29752d0d869708b4c8420de0ce681c58c7a5f878 on features/stream into 3e4d428945487ab085cde5f7af7a82dcdab93e18 on master.

Coverage increased (+7.2%) to 98.574% when pulling 0af82e104b23fa100c9ab89dd9dda887f01ed1c3 on features/stream into 3e4d428945487ab085cde5f7af7a82dcdab93e18 on master.


Added hip-clang jobs

Adds to CI testing
Needs to pass CI

There are 4 test failures (out of 26) when using the hip-clang compiler. Otherwise, this passes CI. I would suggest that we merge this.


Create and release the first working version of the inventory prefab

Create a prefab for the player inventory that can be just placed in the XR Rig

Package v1.0 for the inventory just released


docs(Azure): enhancement and fixes

The az command to create a service principal changed once again, so the steps were broken.
Provisioning an ACS/Kubernetes cluster now will automatically create a new service principal, so wanted to remove these steps and punt the service principal creation still required for the UI creation to the maintained document on docs.microsoft.com.
Fixed a problem with the AZ command to properly capture storage account  key.
Removed switch to disable TLS verification for controller with helm install

closes deis/controller#1193


"Video Game Design and Programming" is foundational

"Video Game Design and Programming" is a foundational course, but the site lists it as not foundational

Fixed! Thank you ⭐


Upgrade to VS2015

Currently we support VS2012 and VS2013. Can we now support VS2015 ( and potentially drop support for the legacy Visual Studio formats?)

+1

+1

Just looking at this - when you say "we support", do you mean the format of the solution files, or something more significant than that?
Re-saving the solution files in 2015 means that this:
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0

changes to this:
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0

Based on my tests just about the only thing that this affects is the Visual Studio Version Selector, which picks the version of Visual Studio to open a solution with if you have multiple versions installed.
However, the following line determines the minimum version supported by the solution file:
MinimumVisualStudioVersion = 10.0.40219.1

Based on this the ReactiveTrader solution can be opened in Visual Studio 2010 or later (incidentally, this is the default, even for a completely new solution file create today in Visual Studio 2015).
So when you say "drop support for VS2012 and V2013", what exactly do you propose that we drop or stop supporting?
Where the solution header does become an issue, I think, is when one person works in Visual Studio 2013 and another works in Visual Studio 2015 - when saving the solution in each version, it will change the solution header to match its convention, so they will constantly be in conflict.
For this reason, it is probably best to update our solutions to 2015, as Visual Studio 2015 Community Edition is free, and there's not a lot of reasons I can think of for someone not to be using that now.
I will create a PR for the solution headers, but it is likely you had more in mind than just that, so please let me know if there's something else to change.
Which leads me to an interesting question: Should we consider upgrading ReactiveTrader to .NET Framework 4.6 and C# 6.0?

Thanks. Great summary.
Re upgrade to. Net 4.6 c#6 yes!
On 27 Oct 2015 22:34, "Riko Eksteen"<EMAIL_ADDRESS>wrote:

Just looking at this - when you say "we support", do you mean the format
of the solution files, or something more significant than that?
Re-saving the solution files in 2015 means that this:
Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
changes to this:
Visual Studio 14
VisualStudioVersion = 14.0.23107.0
Based on my tests just about the only thing that this affects is the
Visual Studio Version Selector, which picks the version of Visual Studio to
open a solution with if you have multiple versions installed.
However, the following line determines the minimum version supported by
the solution file:
MinimumVisualStudioVersion = 10.0.40219.1
Based on this the ReactiveTrader solution can be opened in Visual Studio
2010 or later (incidentally, this is the default, even for a completely new
solution file create today in Visual Studio 2015).
So when you say "drop support for VS2012 and V2013", what exactly do you
propose that we drop or stop supporting?
Where the solution header does become an issue, I think, is when one
person works in Visual Studio 2013 and another works in Visual Studio 2015

when saving the solution in each version, it will change the solution
header to match its convention, so they will constantly be in conflict.

For this reason, it is probably best to update our solutions to 2015, as
Visual Studio 2015 Community Edition is free, and there's not a lot of
reasons I can think of for someone not to be using that now.
I will create a PR for the solution headers, but it is likely you had more
in mind than just that, so please let me know if there's something else to
change.
Which leads me to an interesting question: Should we consider upgrading
ReactiveTrader to .NET Framework 4.6 and C# 6.0?
—
Reply to this email directly or view it on GitHub
https://github.com/AdaptiveConsulting/ReactiveTrader/issues/128#issuecomment-151664928
.


Keycloak - cannot start embedded server: WFLYEMB0022: Cannot invoke 'start' on embedded process: Parameter 'abstractPath' must not be empty

When I clone this and then redeploy it via the container registry with the same config variables I am getting the following error. It's happening right after the change-database.sh script is run in the docker-entrypoint file. I have the same versions, same config and the button worked for me originally. I'm trying to do this because I want to add a custom theme to KC.
I'm using the heroku container:push web and heroku container:release web commands.
Jun 09 08:50:28 Deployed web (c19fbf3aed30) by user [EMAIL]
Jun 09 08:50:39 Starting process with command `-b <IP_ADDRESS>`
Jun 09 08:50:40  Found database configuration in [CORRECT DETAILS WERE HERE]
Jun 09 08:50:43  Added [EMAIL] to '/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json', restart server to load user
Jun 09 08:50:43  -b <IP_ADDRESS>
Jun 09 08:50:43  =========================================================================
Jun 09 08:50:43    Using PostgreSQL database
Jun 09 08:50:43  =========================================================================
Jun 09 08:50:44  15:50:44,394 INFO  [org.jboss.modules] (CLI command executor) JBoss Modules version 1.10.2.Final
Jun 09 08:50:44  15:50:44,451 INFO  [org.jboss.msc] (CLI command executor) JBoss MSC version 1.4.12.Final
Jun 09 08:50:44  15:50:44,459 INFO  [org.jboss.threads] (CLI command executor) JBoss Threads version 2.4.0.Final
Jun 09 08:50:44  15:50:44,576 INFO  [org.jboss.as] (MSC service thread 1-2) WFLYSRV0049: Keycloak 12.0.0 (WildFly Core 13.0.3.Final) starting
Jun 09 08:50:44  15:50:44,611 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.as: org.jboss.msc.service.StartException in service jboss.as: Failed to start service
Jun 09 08:50:44     at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
Jun 09 08:50:44     at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
Jun 09 08:50:44     at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
Jun 09 08:50:44     at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
Jun 09 08:50:44     at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
Jun 09 08:50:44     at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
Jun 09 08:50:44     at java.base/java.lang.Thread.run(Thread.java:834)
Jun 09 08:50:44  Caused by: java.lang.IllegalArgumentException: COM00008: Parameter 'abstractPath' must not be empty
Jun 09 08:50:44     at org.wildfly.common@1.5.4.Final//org.wildfly.common.Assert.checkNotEmptyParam(Assert.java:104)
Jun 09 08:50:44     at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.services.path.AbsolutePathService.convertPath(AbsolutePathService.java:70)
Jun 09 08:50:44     at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.services.path.AbsolutePathService.<init>(AbsolutePathService.java:49)
Jun 09 08:50:44     at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.services.path.AbsolutePathService.addService(AbsolutePathService.java:59)
Jun 09 08:50:44     at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.services.path.AbsolutePathService.addService(AbsolutePathService.java:53)
Jun 09 08:50:44     at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.services.path.PathManagerService.addAbsolutePathService(PathManagerService.java:259)
Jun 09 08:50:44     at org.jboss.as.controller@13.0.3.Final//org.jboss.as.controller.services.path.PathManagerService.addHardcodedAbsolutePath(PathManagerService.java:160)
Jun 09 08:50:44     at org.jboss.as.server@13.0.3.Final//org.jboss.as.server.ServerPathManagerService.addService(ServerPathManagerService.java:55)
Jun 09 08:50:44     at org.jboss.as.server@13.0.3.Final//org.jboss.as.server.ApplicationServerService.start(ApplicationServerService.java:179)
Jun 09 08:50:44     at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
Jun 09 08:50:44     at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
Jun 09 08:50:44     ... 6 more
Jun 09 08:50:44  Cannot start embedded server: WFLYEMB0022: Cannot invoke 'start' on embedded process: WFLYSRV0141: Cannot start server: JBTHR00005: Operation failed: Failed to start service: COM00008: Parameter 'abstractPath' must not be empty```

I've seen the same error appearing about a week ago on my existing deployments and I haven't really found out so far, what's causing it unfortunately :(.  For some reason when I created a new app on Heroku and deployed, the error was not happening for that new app (incl. after pushes).  I have a feeling that something going awry with old/cached docker images being pulled (but it's just a feeling not good knowledge):
Two things for you to maybe check:

The repo is primarily meant to be built in Heroku (i.e., using git push https://devcenter.heroku.com/articles/build-docker-images-heroku-yml) instead of building the docker image locally and then uploading it to Heroku (which is what heroku container:pushdoes: https://devcenter.heroku.com/articles/container-registry-and-runtime).
Your log indicates a version Keycloak 12.0.0 (WildFly Core 13.0.3.Final) -- this is a rather old version. Unless you modified the first line in the Dockerfile to specify that version, it seems the build process is for some reason not pulling the latest base image.  You should currently be seing something like Keycloak 13.0.1 (WildFly Core 15.0.1.Final).

When did you deploy the image the first time to the current heroku app?  (I saw the issues around Jun 2 I think).  I'd be also interested to hear if you see the same effect that deploying to a new heroku app makes the problem disappear.

Hello,
I have the same error message as @margaretupshur  discussed in her issue. I deployed this Keycloak instance to Heroku to work in tandem with my web application about 3 months ago but noticed this error message in my Heroku logs about a month ago. Also, I noticed your comment regarding the line: Keycloak 12.0.0 (WildFly Core 13.0.3.Final). I am having a similar error message except that mine has Keycloak 12.0.4 (WildFly Core 13.0.3.Final) instead.

This seems to happen now on a fresh heroku button deploy as well.

We suddenly ran into this problem yesterday on multiple Heroku instances. We weren't able to determine why it suddenly started happening — it wasn't coincidental with a deploy or upgrade — so we suspect some change the underlying Heroku platform. (Although it's quite strange that some of you ran into it months before we did.)
The error message Keycloak produces is absolutely godawful, but the problem it's running into is that Java's user.home property is suddenly coming up empty, originating from this line here:
https://github.com/wildfly/wildfly-core/blob/4fcdd7ee3d736de151cdabe6f00a5ca4fed28499/server/src/main/java/org/jboss/as/server/ServerPathManagerService.java#L55
We tried a number of approaches to fix the problem, and eventually settled on giving it an explicit value through JAVA_OPTS like this:
JAVA_OPTS="$JAVA_OPTS -Duser.home=/opt/jboss"

The entrypoint script starts a number of ancillary Java processes besides the core Keycloak server itself, so just injecting a user.home value to keycloak/bin/standalone.sh is not enough because those other services will still be missing one. Exporting an explicit value for HOME in the script didn't work either. This is why we settled on modifying JAVA_OPTS, but a Java wizard might know of a better way.
Here's the full patch we applied to fix our installations:
diff --git docker-entrypoint.sh docker-entrypoint.sh
index 6450b56..16aa30b 100755
--- docker-entrypoint.sh
+++ docker-entrypoint.sh
@@ -1,5 +1,34 @@
 #!/bin/bash

+#
+# IMPORTANT
+#
+# We manually override `user.home` here because we suddently have a
+# catastrophic problem where the Java runtime was no longer able to find a
+# value for `user.home`, which failed start up on Heroku. It's unclear as to
+# exactly why (it seems likely due to an underlying change on the Heroku
+# platform), but we're able to fix the problem by hard-injecting a value for
+# `user.home`.
+#
+# I tried a number of methods to fix this, but using `JAVA_OPTS` is the one
+# that ended up working. Java doesn't seem to respect `HOME` if we export it.
+# We can inject `-Duser.home=` to the program at the bottom of this file and it
+# fixes that one program, but the file also boots a cluster of ancillary
+# services from subscripts which then don't get a `user.home` value. Exporting
+# it to `JAVA_OPTS` lets the main program and all ancillary programs get it.
+#
+
+# This group of lines copied from `bin/standalone.conf` in Keycloak because
+# Keycloak won't set any of them if we override `JAVA_OPTS` at all.
+if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
+   JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman"
+fi
+JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
+JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
+
+# Here's the added line.
+export JAVA_OPTS="$JAVA_OPTS -Duser.home=/opt/jboss"
+
 # Set database config from Heroku DATABASE_URL
 if [ "$DATABASE_URL" != "" ]; then
     echo "Found database configuration in DATABASE_URL=$DATABASE_URL"

Thanks I experimented the same issue since last Friday. @brandur proposal worked on my heroku keycloak instance.


Removed dependency on javax.vecmath

The import for javax.vecmath's Vector classes seems unnecessary since they're only being used to hold co-ordinates. I've created two basic holder classes to replace them and removed the import, which should make this class completely portable.

Very nice :)
One possible improvement: I think the Pull Request should not change tabs to spaces, otherwise all the lines in the file are marked as changed and it's hard to see what is new.
Fortunately GitHub has an option to ignore white space when looking at "Files changed".

How n1 could invoke methods like GradientPerturb():
public void GradientPerturb(Vector3f v3) {
    SingleGradientPerturb(m_seed, m_gradientPerturbAmp, m_frequency, v3);
}

If classes Vector2f & Vector3f are declared as private?!
B/c those 2 extra top classes are sharing the same "FastNoise.java" file w/ public top class FastNoise, they can't be declared as public. At most they can both be declared as protected:
protected class Vector2f {
    public float x, y;

    public Vector2f() {
    }

    public Vector2f(final float x, final float y) {
        this.x = x;
        this.y = y;
    }
}

protected class Vector3f {
    public float x, y, z;

    public Vector3f() {
    }

    public Vector3f(final float x, final float y, final float z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }
}

Ideally both of those 2 top classes should be implemented inside top class FastNoise, as static nested classes:
}

    static public class Vector2f {
        public float x, y;

        public Vector2f() {
        }

         public Vector2f(final float x, final float y) {
            this.x = x;
            this.y = y;
        }
    }

    static public class Vector3f {
        public float x, y, z;

        public Vector3f() {
        }

        public Vector3f(final float x, final float y, final float z) {
            this.x = x;
            this.y = y;
            this.z = z;
        }
    }
}

This way, any user can more directly instantiate those 2 classes b/c they're now public:
import fastnoise.FastNoise;
import static fastnoise.FastNoise.*;

// ...

Vector3f v3d = new Vector3f(Math.PI, Math.E, .5);

Thanks for the suggestions, guys!
@hamoid I've changed the spaces back to tabs. Hopefully, that'll be the end of the unnecessarily large diffs.
@GoToLoop Ah, thanks. I didn't see those at the time so I thought the classes wouldn't have been too useful outside the FastNoise class and made them private. I've fixed this now.


how is the imu_pose and imu_transfrom got

@rdube I am using a velodyne lidar and imu the bag like this but for sure i cant record the imu pose.Want to know how the date create where the imu_pose from.

I also look into this problem. My opinion is that  the result of imu is received from TF trees. Details can be found by searching parameter "use_odom_factor" in the project (laserslamworker.cpp).

I also look into this problem. My opinion is that the result of imu is received from TF trees. Details can be found by searching parameter "use_odom_factor" in the project (laserslamworker.cpp).

@tobby1998  yes, but in reality world how can we get that information. Have you apply this program with your own scene? we can dicuss it on QQ my QQ number is<PHONE_NUMBER>


So many queries?!

Hello,
I'm not sure if I'm doing something wrong or this is by design, but when the application initially loads the system is making over 70+ queries on permissions/permission_role/role tables.

Is this by design?
If so, is there any way to limit the number of queries or make them more efficient?

Thanks

I figured out why there are so many queries...
//Role.js
  async getPermissions () {
    const permissions = await this.permissions().fetch()
    return permissions.rows.map(({ slug }) => slug)
  }

If a user has 40+ permissions, this is hitting the database 40+ times. Perhaps a more efficient route would be to make use of Adonis.pivotTable()?

you can check my fork where I did some optimizations to how the plugin query permissions and roles
https://github.com/hadihallak/adonis-acl
i've changed it so that instead of it querying data everytime you use the middleware or use the can/is methods inside a controller, it will now use the prefetched permissions and roles already populated from the main "init" middleware.

Nice job! Althought a great package, it definitely needed some
optimization. If I get some free time, I'll allow the package to cache
permissions/roles to limit hits on the db. Thanks for this!
On Wed, Dec 26, 2018 at 1:36 PM Abdulhadi Hallak<EMAIL_ADDRESS>wrote:

you can check my fork where I did some optimizations to how the plugin
query permissions and roles
https://github.com/hadihallak/adonis-acl
i've changed it so that instead of it querying data everytime you use the
middleware or use the can/is methods inside a controller, it will now use
the prefetched permissions and roles already populated from the main "init"
middleware.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/enniel/adonis-acl/issues/26#issuecomment-450006410,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AO9K-KGJ3m8kRpACde49mYcgG6i8hIX9ks5u88GTgaJpZM4Y0dVe
.

@twigs67 I would just do something like this:
return await Role.query()         .where("id", id)         .with("permissions")         .fetch();
Does that work for your use case?

@jacobwise I do not know if this works for @twigs67, but for me it took a user and needed to load their documents with their permissions this works, thanks

@hadihallak can you send a PR with your improvements?

Does no any fix from 2018 in this repo?

Project is apparently abandoned.


Uncaught AttributeError in sendchat.py line 30

Aider version: 0.59.1
Python version: 3.9.6
Platform: macOS-14.5-arm64-arm-64bit
Python implementation: CPython
Virtual environment: Yes
OS: Darwin 23.5.0 (64bit)
Git version: git version 2.39.5 (Apple Git-154)
An uncaught exception occurred:
Traceback (most recent call last):
  File "openai.py", line 810, in completion
    raise e
  File "openai.py", line 705, in completion
    return self.streaming(
  File "openai.py", line 935, in streaming
    headers, response = self.make_sync_openai_chat_completion_request(
  File "openai.py", line 605, in make_sync_openai_chat_completion_request
    raise e
  File "openai.py", line 594, in make_sync_openai_chat_completion_request
    raw_response = openai_client.chat.completions.with_raw_response.create(
  File "_legacy_response.py", line 356, in wrapped
    return cast(LegacyAPIResponse[R], func(*args, **kwargs))
  File "_utils.py", line 274, in wrapper
    return func(*args, **kwargs)
  File "completions.py", line 742, in create
    return self._post(
  File "_base_client.py", line 1277, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
  File "_base_client.py", line 954, in request
    return self._request(
  File "_base_client.py", line 1058, in _request
    raise self._make_status_error_from_response(err.response) from None
openai.NotFoundError: Error code: 404 - {'error': {'message': 'The model `gpt-4o-2024-08-06` does not exist or you do not have access to it.', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 1527, in completion
    raise e
  File "main.py", line 1500, in completion
    response = openai_chat_completions.completion(
  File "openai.py", line 820, in completion
    raise OpenAIError(
litellm.llms.OpenAI.openai.OpenAIError: Error code: 404 - {'error': {'message': 'The model `gpt-4o-2024-08-06` does not exist or you do not have access to it.', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "base_coder.py", line 1129, in send_message
    yield from self.send(messages, functions=self.functions)
  File "base_coder.py", line 1414, in send
    hash_object, completion = send_completion(
  File "sendchat.py", line 83, in send_completion
    res = litellm.completion(**kwargs)
  File "utils.py", line 1071, in wrapper
    raise e
  File "utils.py", line 959, in wrapper
    result = original_function(*args, **kwargs)
  File "main.py", line 2957, in completion
    raise exception_type(
  File "exception_mapping_utils.py", line 2131, in exception_type
    raise e
  File "exception_mapping_utils.py", line 265, in exception_type
    raise NotFoundError(
litellm.exceptions.NotFoundError: litellm.NotFoundError: OpenAIException - Error code: 404 - {'error': {'message': 'The model `gpt-4o-2024-08-06` does not exist or you do not have access to it.', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "aider", line 8, in <module>
    sys.exit(main())
  File "main.py", line 757, in main
    coder.run()
  File "base_coder.py", line 730, in run
    self.run_one(user_message, preproc)
  File "base_coder.py", line 773, in run_one
    list(self.send_message(message))
  File "base_coder.py", line 1131, in send_message
    except retry_exceptions() as err:
  File "sendchat.py", line 30, in retry_exceptions
    litellm.llms.anthropic.chat.AnthropicError,
AttributeError: module 'litellm.llms.anthropic.chat' has no attribute 'AnthropicError'

Thank you for filing this issue.
Please do not forget to exit and restart aider after it updated itself.
Duplicate #1278

Hello! You must add at least $5 credit to openAI to enable the models.
The model gpt-4o-2024-08-06 does not exist or you do not have access to it.', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}


Benefits: Create inline with products (again)

I believe this is fixed now that we have a dedicated page again to create/edit products


docs: add 4.1.0 changes to helm chart and changelog

4.1.x has just been created, maybe you should target this branch ?


Taxonomy CRUD API should compute active property based on ancestors' active property

Is your feature request related to a specific problem?
In https://github.com/ethyca/fides/pull/3784 we added an active property to taxonomy elements (in our API and DB models). The desired behavior of this functionality (generally covered in https://github.com/ethyca/fides/issues/3710) is such that we'd like descendants (i.e. children, granchildren, etc.) of a deactivated taxonomy element to also show up as effectively deactivated to the FE.
Describe the solution you'd like
We will need to compute on the BE the effective active property of a given taxonomy element whenever that element is returned by the API. The effective active value based on both its own active property value in the DB as well as its ancestors' active property values - all must be true for an elements' effective active property to also be true.
We should compute this at the API layer, and not at the DB level -- i.e. as "late" as possible -- to avoid:

additional complexity related to propagating state across elements as ancestor taxonomy elements change state

relatedly: not computing the property at the DB level also helps us avoid more special-cased logic in our update operations - all the special-casing for the active property can just be done when elements are being retrieved/returned by the API.

to maintain information about which taxonomy elements have been explicitly marked as active/inactive by users. i.e. if a parent element changes from active=false to active=true state, we need to know whether a child had been explicitly marked as active=false to know what its new effective active property should be.

credit to @allisonking for thinking thru the implementation! she suggested show_banner in our privacy experience API https://github.com/ethyca/fides/blob/main/src/fides/api/models/privacy_experience.py/#L212-L215 as an example for what this may look like.
Describe alternatives you've considered, if any
We also discussed computing the "effective" active state on the FE, which would be feasible. But we judged that to introduce more unneeded logic and complexity on the FE, so computing this on the BE was preferred.
Additional context
See related slack thread for some more context.

@adamsachs is this still an issue?

@adamsachs is this still an issue?

yup, assuming we still consider that the desired behavior here is to deactivate children/descendants of a parent taxonomy element when the parent is deactivated. that's not what currently happens, and this ticket is meant to cover that gap between current functionality and desired behavior, which still exists afaik.


Remove macOS Chrome border radius

See: https://github.com/twbs/bootstrap/issues/24093
Before:

After:

Published in 6.0.2. Cheers!

This change will be reverted in Chrome 63.
https://bugs.chromium.org/p/chromium/issues/detail?id=752450#c13


Extract stats exporter

High level comments:

I'd keep the Aggregation as an interface. We don't know what kind of Aggregation types we will support in the future. Union-like structs are not a very Go friendly approach.

I'd remove RegisterExporter and UnregisterExporter from the view package. They only encourages users to depend on the view package for exporting. This is a major breaking change, it is ok to break everyone.

Everything else looks good.

@rakyll your comment about Aggregation, I assume you mean exporter.AggregationData (which is union-like) and not view.Aggregation?

Closing this for now since it is just too big to maintain. We need to decide whether we want to go ahead with this or not. If so I can resurrect or (more likely) just re-do the minimal change.


Maybe you all know each other and it's in good spirits, but this issue reads like either sexist infantilizing (oh how cute!), or desperate negging.
Personally I found this project a pretty awesome demo of both Node and DNS and have used to help others learn one or another.

@colmmacc Thanks Colm.  Sexist, negging; no way. I didn't mean to say like that, that wasn't my intention. I bet OP also didn't mean to say this way. I do found this tutorial very helpful and cute. I just teasing. Don't get wrong. 😓

It's fine, y'all. Just opening an issue with no content and a title "You're crazy" isn't very nice, especially if we don't know each other.

@atrandafir You dummy, see what you did.

I'm sorry! It was a positive "you're crazy" because I was amazed of you building a DNS server that will show you cats!


ZEPPELIN-415 document for Apache Kylin Interpreter

What is this PR for?
This is document for Apache Kylin Interpreter for Apache Zeppelin
What type of PR is it?
Documentation
Todos
Done
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-415
How should this be tested?
Screenshots (if appropriate)
Questions:

Does the licenses files need update?
No
Is there breaking changes for older versions?
No
Does this needs documentation?
This is document

LGTM

@janzhongi Thanks for your contribution.
While I'm quickly looking through the docs, it doesn't have Default Value in the conf table. It would be better to provide it for each property i think.

    Name
    Default
    Description

    kylin.api.url
    http://localhost:7070/kylin/api/query
    kylin query POST API
 The format can be like http://<host>:<port>/kylin/api/query

    kylin.api.user
    ADMIN
    kylin user

    kylin.api.password
    KYLIN
    kylin password

    kylin.query.project
    default
    String, Project to perform query.

    kylin.query.ispartial
    true
    true|false
 (@Deprecated since Apache Kylin V1.5)
 Whether accept a partial result or not, default be “false”. Set to “false” for production use.

    kylin.query.limit
    5000
    int, Query limit
 If limit is set in sql, perPage will be ignored.

    kylin.query.offset
    0
    int, Query offset
 If offset is set in sql, curIndex will be ignored.

You can just copy & paste the above table if you want. I added some markdown escaping for < and >.

@janzhongi Thanks for your prompt update! Changes are looks good to me.
Merge if there are no more discussions.


Sleuth HeaderBasedMessagingInjector not getting called when zuul.routes configured in gateway

I have configured the Custom class implementing the HeaderBasedMessagingInjector to customize the span to include username & proxying specific URL matching requests to external service.
public class CustomSpanInjector extends HeaderBasedMessagingInjector {
@override
public void inject(Span span, SpanTextMap carrier) {
// Customize the span object
}
}
The problem is custom HeaderBasedMessagingInjector is not getting called before the request is forwared to zuul filter.
Spring boot version - 1.5.9.RELEASE
spring-cloud-dependencies - Edgware.SR2

Can you please upgrade to the latest version and see if the problem is still there

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


[SPARK-41122][CONNECT] Explain API can support different modes

What changes were proposed in this pull request?

This PR extends Explain API that can support formatted, cost, codegen, extended and simple modes.
Why are the changes needed?

Improve Debuggability
Does this PR introduce any user-facing change?

NO
How was this patch tested?

UT

@cloud-fan

Can one of the admins verify this patch?

@HyukjinKwon @cloud-fan @grundprinzip @zhengruifeng please take another look.

Merged to master.


companions training ground whiterun table bugged in campfire

in the companions training ground where everyone sits to eat. the table is bugged in the campfire cooking station thing.

I'll be honest, I'm dumbfounded that I had not seen this. Will make a CK patch to resolve this

Patch has been made to separate them both, and patch the navmesh on the porch


Update active-directory-reporting-activity-sign-ins.md

Added pre-requisite section

@dhanyahk,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@dhanyahk : Thanks for your contribution to the Azure documentation! The author, @MarkusVi, has been notified to review your proposed change.

#sign-off


Commerce commands that accept args are ignoring the first argument passed

Expected Behavior
Command should pass all args to api, currently it ignores the first one
A clear and concise description of what the expected behavior was.
Actual Behavior
A clear and concise description of what the actual behavior was and how it was different.
Reproduction Scenario, Platform, and Version
Any relevant information about the preconditions to reproduce the issue.
Steps to Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

This issue should be opened on the plugin repo


Platform normalization

Motivation for this change
Finally deal with the awkward friction between {build,host,target}Platform.system and {build,host,target}Platform.config. This is a followup to https://github.com/NixOS/nixpkgs/pull/22575 and fixes https://github.com/NixOS/nixpkgs/issues/24170 .
@nbp this uses your old system code and tests. I think I've used the module type system idiomatically, but I am unsure about the "CPU families" bit. In lieu of real sets, I used a map [why do we say attribute set"...], but perhaps matchAttrs should be mutually recursive with a matchLists that treats the list as a set (or looks for sublists].
@nbp Also, I broke the existing module system test infra with some mysterious call package exception. Not sure what's up with that, but want to get this up for review. Fixed.
This can be reviewed or even merged commit-by-commit, but watch out: github is putting the commits out or order again (argh!).
CC @wizeman
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Just quickly glanced through this, why are we using the module system type system here? This seems like a really complex change and it's not clear to me why we're doing it this way.

@shlevy Well, on some level, I used it because the code that already existed by @nbp and wanting to learn more about it :).
But, assuming we indeed do want to have a white list of known components rather than plain strings, I don't actually think this could be simplified much.

Ok fixed the module tests (mistake in 2nd commit).

@nbp You have time to review this? Besides use of the module system, it would be good to figure out some plan for all the crazy edge cases when converting between LLVM triples and Nix "doubles" (e.g. stuff like darwin10 for OS, windows in general).

To be honest I've never understood what lib/systems.nix etc. are for. Can anybody explain what the goal is?
If the goal is to provide a handful of properties of platforms, it would be simpler to just enumerate them, given that we only support something like 6 platforms. E.g.
platformProperties = {
  "i686-linux" = {
    is64Bit = false;
    execFormat = "elf";
    ...
  };
  "x86_64-darwin" = {
    is64Bit = true;
    execFormat = "macho";
    ...
  };
}

Though some properties seem questionable. For example, why do we care whether a platform is 64 bit or big endian? (What do we even mean with 64 bit? LP64, LLP64, ...?)
The other thing I've never understood is why pkgs/top-level/platforms.nix (nixpkgs/lib/systems/platforms.nix in this PR) contains Linux kernel configuration. Kernel configuration should really be moved to pkgs/os-specific/linux/kernel (maybe just added to common-config.nix), and most can be eliminated (e.g. lines like IPV6 m are not platform-specific).

To be honest I've never understood what lib/systems.nix etc. are for. Can anybody explain what the goal is?

My end goal here is to eventually replace all the stdenv.is* predicates, which are woefully inadequate/misleading for cross compilation.

If the goal is to provide a handful of properties of platforms, it would be simpler to just enumerate them, given that we only support something like 6 platforms. E.g.

While we only support a few build platforms, people can and do specify all sorts of obscure stuff for the host platform. I want to be more general so the same predicates can be used for all of build, host, and target.

For example, why do we care whether a platform is 64 bit or big endian? (What do we even mean with 64 bit? LP64, LLP64, ...?)

What CPU attributes we track is less important than a mechanism to do so. If this specific needs to be given more detailed or removed, I'd be happy to do so.

The other thing I've never understood is why pkgs/top-level/platforms.nix (nixpkgs/lib/systems/platforms.nix in this PR) contains Linux kernel configuration.

Yeah I agree that file / the {build,host.target}Platform.platform (formerly crossPlatform.platform) attribute set is an undocumented, unorganized cesspool. I think this is a step in the right direction---at least get the file in a sane location before we triage its contents. The only kernel config I'd even consider keeping is that which effects the contents of the headers---that way downstream derivations can require that some kernel feature be enabled. Everything else kernel-wise deserves a better home and I like your suggestion.

I've addressed all concerns but the nature of the tests. There is some future worked blocked on this I'd like to get to, so I am merging now. @edolstra if you'd like me to redo the tests to match what @nbp did, just ping and I'll make another PR doing that.

@Ericson2314 Yes please, it would be nice to have one Hydra job for Nixpkgs lib tests.


Adds event listener on target for blur events

Related to https://github.com/tamagui/tamagui/issues/2223
Using input inside FocusScope with trapped focus, the input gets reselected on blur events.
This PR adds a eventlistener for blur events, and sets focus to the container if blur events are triggered.

We'd have to do this differently, but the idea is right. You need to handle/dispose that event listener.

We'd have to do this differently, but the idea is right. You need to handle/dispose that event listener.

What do you think about using a abort controller to remove the event listener?

this looks much better

merged in another pr, ty


LangChain?

You have LangChain listed in the requirements (ie environment.yml) but I cannot find any use of it in the code. Do you use it anywhere? Also, is there anyway to integrate InterCode with LangChain? If so, please describe how you would do this.

Hi @radman-x, thanks so much for your comment!
The langchain requirement in the environment.yml file is an artifact of some explorations we were doing in the earlier phases of the project to figure out how to deploy language agents on InterCode. Thanks for pointing this out - I will remove this dependency for now so as not to give readers the wrong impression.
We ended up not using langchain due to some limitations in the prompting schema. With that said, it should be possible to integrate InterCode with LangChain's custom tools pipeline. I think a rough sketch of this would look like:
from intercode.assets import bash_build_docker, bash_image_name
from intercode.envs import BashEnv

from langchain.tools import BaseTool

bash_build_docker()
env = BashEnv(image_name, traj_dir="logs/test/", verbose=True)

class InterCodeBashTool(BaseTool):
    name = "InterCodeBash"
    description = "A bash simulator that can be used to test bash commands..."

    def _run(self, action: str) -> str:
        obs, reward, done, info = env.step(action)
        if action == "submit":
            return reward
        return obs

# Create agent, do stuff with tool here...

To recreate the evaluation pipeline similar to those found in the experiments folder should be possible. You would just also have to provide a data_path argument to the BashEnv initialization (example here).
My personal experience is that I found defining custom prompting strategies required stitching together a lot of langchain boilerplate that I did not pursue in favor of the more concise form found in the experiments folder. With that said, I think it shouldn't be too difficult to recreate.
Hope this helps!

Closing this for now, but feel free to re-open if anything comes up!

Thanx for your fast reply. I do have one other related question. Another alternative integration point would be to convert InterCode agent into LangChain agent.  This would take advantage of LangChain tools like web searching, running Python code, etc. and abstract away from OpenAI allowing any of LangChain's supported LLMs to be used. Do you think this makes any sense? If so, please describe how to implement it.

Mm this is a cool idea! The concept of adding a Bash or SQL environment as a tool for a langchain agent that could then use such tools + other tools (i.e. browsing, calculator, vector database retrieval) is something we thought about briefly too, but have not explored just yet.
I think this would be possible by wrapping an initialized InterCode environment in an langchain BaseTool class, as presented in the above code snippet. The IntercodeEnv class along with both the BashEnv and SQLEnv environments do not rely on the openai PyPI package, so it shouldn't present any potential openai-based conflict with langchain. Only the evaluation in the experiments folder invokes openai functionality.
Regarding an implementation, I'm a bit busy these two days, but I'll give a shot at hacking together a runnable demonstration of how to use an InterCode env as a langchain tool this coming weekend and report back. I have reopened the issue for now to remind myself.
A quick aside to clear up potential confusion - the InterCode paper does not present an "agent" of any sort at the moment. Our evaluation just involves invoking the latest SOTA LLMs capable of text-to-code armed with a prompting strategy for interacting with the environment. Our baselines do not present any new modeling innovations or agents. Hopefully this was not misrepresented in the original paper or code? If a contradictory statement is made somewhere, I'll remove it.

I have only read the project web page and (very) briefly scanned the code. That web page does often refer to an “agent” - that is what I was thinking could be a LangChain agent. I guess the paper (which I have not yet read) would explain more clearly how this works - probably that this is a generic agent, outside if the InterCode environment? So I have not come any misrepresentation so far.
I look forward to any rough implementation you might have time to make.

Another advantage of LangChain is that the agent using InterCode can use advanced plan and execute techniques like BabyAGI, AutoGPT, etc.  for autonomous coding execution.

A suggestion if this implementation is too time consuming - maybe you could just write an API that InterCode exposes that mimics CodeBox in this repo:
https://github.com/shroominic/codeinterpreter-api
That would give it the awesome advantage of running LLM/LangChain generated code privately on a local device inside a Docker container in an InterCode environment instead of in the cloud.
What do you think?

@radman-x Following up here. I'm not too familiar with the codeinterpreter-api. From a quick glance, it looks like it involves rewriting InterCode from the ground up according to a langchain abstraction, is this the right idea?
If that's the case, I think this would be quite time-consuming, unless the abstraction is really straightforward(?)
I'm happy to help with any ongoing effort to make this happen, but I'm unable to dedicate time to work on this solely.
I will close this issue for now, but please feel free to re-open if you or anyone would like to work on it, thanks!

why follow up here just to close it?

I don't have time to work on something of this scale.
If you'd like to work on it, feel free to reopen and I'm happy to provide feedback or guidance as necessary.
If multiple additional people demonstrate they would appreciate this, I'll reconsider.

gotcha


Picture not having exif timestamp should also be displayed in the Browse page

Picture not having exif timestamp should also be displayed in the Browse page.
It is currently not the case as the API filter photo not having a timestamp.
Two solutions :

Return an Unknown album from the API containing those pictures
Set a default timestamp

What do you think of it? @hooram
I'll probably implement it in a few days, but I'd like to have your opinion so my work won't go straight to the trash.
I hope PR are welcomed :)

I absolutely agree that this should be the case. I merged your PR that tries to parse the timestamp from the filename. Thanks for it. As for what to do with photos without a timestamp, I think option 1 would be a better choice. We can add a separate menu on the front end that lets you see photos without metadata.

Hey! Thanks for the 2 merges!
As for this issue. Do you mean a separate menu included in the main one or just another one directly on the Browse/AlbumByDays pages? I think the latter would be better in terms of user experience.
In terms of implement we can choose to make

the date field of the AlbumDate class nullable, which would be quite simple and allow to show the "Unknown" album on the frontend without any changes
Another API path for retrieving pics without metadata (unsure this is good idea honestly)

Anyway thanks for answering, I plan on contributing quite a lot on this project as I'm in a need of a Google Photos replacement and this seems to be a perfect fit. I'll add issues, features request and PR in the coming days.

Fixed


How to overwrite maven central resolver

How can I overwrite the central maven resolver
trying to execute
%classpath config resolver repository.central https://repository.my.corp.com/repository/myRepo
does not seem to do the trick.
I need to overwrite the central resolver to a corporate proxy repository!
Also can I turn up the log level to debug this, i.e. see the URLs it tires to connect to?
edit
Neither central nor central-proxy work to override the key for the central repository
Even when setting up a custom ~/.m2/settings.xml file which would configure the proxy for regular maven usage it will not work.

config resolver is line magic, remove one % from your %%classpath should work

sorry this was a typo. I was trying with a single %. But I just realised it might be related to https://github.com/twosigma/beakerx/issues/7968
When the Conda environment for beakerX is active, a different JDK without the corporate keystone is used.

@lakemove I just got the JDK fixed (see the last comment). The problem persists even with JDK8 with proper keystore. Is BeakerX reading it from JAVA_HOME?
In any case is there a way tu turn up the log level of the jar-resolution-process? I.e. it would be great to see which URLs it is trying to access.

Hi @geoHeil
we merged maven logger functionality to master, we added an example how to use it

please try it in your case and maybe this will help us to solve your problem.
To use the maven logger functionality from master, you will have to build the app from https://github.com/twosigma/beakerx#build-and-install-linux-and-mac


Override npm packages attributes fixes

Hello there.
After updating to 2.2 (2.1.3 fine) I've found that overrides section from my package.json not working anymore.
Overriding package.json is implemented in ./lib/deppack.js.
I found that browserResolve doesn't care about overrides in my local ./package.json because it is trying to read original package.json of module (./node_modules/cool-package/package.json).

Thanks!

Still I think the 'npm install' suggestion should be there even if the
overrides are present. Imagine a coworker pulling and forgetting to npm
install. It'll suggest overrides which is completely unrelated. In case of
overrides, how about "Possible suggestions: 'npm install' and check your
overrides"?
On Tue, Jan 26, 2016 at 12:37 AM Paul Miller<EMAIL_ADDRESS>wrote:

Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/brunch/brunch/pull/1129#issuecomment-174675521.

--
Cheers,
Gosha

@goshakkk as I wrote before, we can solve it either updating that error message or do a temporary solution (until we find a better/already working solution):
if (! fs.existsSync(mod + pkg.main) { // + support of pkg.browser
   err += ' check ur overrides section';
} else {
  err += ' run npm install';
}


Update config to enable docfx v3

This is just a change to the build configuration to improve performance. I checked the review site and there does not appear to be any impact on the way content displays.

Docs Build status updates of commit f4f8689:
:warning: Validation status: warnings

File
Status
Preview URL
Details

MicrosoftCollaboratePortal/CONTRIBUTING.md
:warning:Warning

Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

MicrosoftCollaboratePortal/CONTRIBUTING.md

Line 0: [Warning] Missing required attribute: 'author'. Add the current author's GitHub ID.
Line 0: [Warning] Missing required attribute: 'title'. Add a title string to show in search engine results.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[Test] Proposed asExternalUri function

Test for #81131

[ ] Mac
[ ] Linux
[ ] Windows

Complexity: 4
Overview
The new vscode.env.asExternalUri proposed api lets extensions resolve a uri in the local environment to one in the client environment. If the extension is running remote, resolving a localhost uri will automatically open a tunnel that the client can use to connect to the requested port on the remote.
The asExternalUri function should use the same basic logic as the openExternalUri api, however instead of opening the uri in the browser, it returns the resulting uri to an extension.
Testing
Write a simple extension that uses asExternalUri. I've provided an example here: https://github.com/mjbvz/vscode-test-asExternalUri
Using this test extension, check the following:

When the extension is run locally, asExternalUri returns the input

When the extension is run remotely, asExternalUri should open a tunnel for http/https localhost uris (both localhost and <IP_ADDRESS>)

Resolving the same uri multiple time should return the same result.

The tunnels should get cleaned up when the client

Multiple instances of VS Code should be able to resolve the same localhost uri (each instance should get its own resolved result)

Tunnels should never be opened for non-localhost uris

Review the jsdoc for asExternalUri. Can you understand how the api works from these docs?

@Chuxel Can you please assign yourself to test one of the platforms for this issue


Engine fails at runtime when targetting .NET Core 3.1

Release Type: Official Release
Version: <IP_ADDRESS>-beta04-1317
Platform(s): Windows
Describe the bug
The following exception is thrown when running a project targeting netcoreapp3.1.
Could not load native library freetype.dll from path [C:\Source\Xenko.CustomRootRenderFeature\CustomRootRenderFeature\Bin\Windows\Debug\x64\freetype.dll] using CPU architecture x64.
To Reproduce
Target netcoreapp3.1.

On further investigation, the freetype.dll is missing entirely from Bin\Windows\Debug\x64 when targeting .NET Core 3.1.
Manually copying the dll to that folder (from C:\Users\<USER>\.nuget\packages\stride.graphics\<IP_ADDRESS>-beta04-1317\runtimes\win\lib\netstandard2.0\Direct3D11\x64) resolves the problem and allows the code to run, suggesting that the issue is related to a problem with the MSBuild configuration when targeting that framework.

This is a duplicate of #837
You need to add a RuntimeIdentifier to identity the platform it will run on


ci: don’t scope turborepo cache to the branch

Note: I tried to make small PRs, but we will only see the benefits once #2399, #2400 and #2401 are all merged.

I’ve reread the documentation on the cache action and it says:

The cache is scoped to the key, version, and branch. The default branch cache is available to other branches.

Soo … there’s no need to add the branch to the cache key. And we want a fresh build for different Node versions anyway, so we can remove this restore key, too.
With this PR the Turborepo cache has access to the cache of the main branch for the first run of a PR, but only to the same Node version and the same branch for the next runs.

We do already - but without the additional restore-keys!
This is the same as as in main:
turbo-${{ runner.os }}-node-${{ matrix.node-version }}
And as quoted in the PR description, the workflow has access to the cache of the default branch. 🤩


There is a  a small error on numba's official web site

In this page ,the link to Berryconda is wrong to the https://https//github.com/jjhelmus/berryconda

Thanks for reporting this.  I submitted a pull request to numba to fix the link, numba/numba#3651


Project export path fix

Setting relative path for export does not seem to be working with the export path folder dialog.
Let me know if this should be handled differently.
Fixes #31427

This fixes it. But this just hides a deeper problem under the carpet, and making this path always absolute is not desirable.
I wonder if the relative path could be translated to an absolute one when opening the file dialog.

Agree to that.
My first approach was in that direction, but I could not find a way to do that short of making changes to the core component. As it seems the path is passed on to the core component (path text box) and opening the dialog takes the path from the component (not from the calling app... project export).
May be someone with experience with the code would know better.

Wait, does this make the paths absolute? That's basically reverting the commit that made them relative.

Oh, didn't realize that. I'll close this pull so someone else can fix this better.