[Bug]: OPENAI_API_KEY issue

Is there an existing issue for the same bug?

[X] I have checked the troubleshooting document at https://github.com/OpenDevin/OpenDevin/blob/main/docs/guides/Troubleshooting.md
[X] I have checked the existing issues.

Describe the bug
OPENAI_API_KEY is not passed as expected using the startup instructions. Additionally, when passing -e OPENAI_API_KEY, the docker image still does not process it.
Current Version
ghcr.io/opendevin/opendevin:0.4.0

Installation and Configuration
export LLM_API_KEY="sk-..."

Logs, Errors, Screenshots, and Additional Context
INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:3000 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:49745 - "GET / HTTP/1.1" 307 Temporary Redirect
INFO:     <IP_ADDRESS>:49745 - "GET /index.html HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49746 - "GET /assets/index-CZQzs2DR.css HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49745 - "GET /assets/index-D59teWsw.js HTTP/1.1" 200 OK
03:10:35 - opendevin:ERROR: auth.py:31 - Invalid token
03:10:35 - opendevin:INFO: listen.py:74 - Invalid or missing credentials, generating new session ID: 69aae10c-a24e-4f4f-a6ba-f993526d1ec2
INFO:     <IP_ADDRESS>:49745 - "GET /api/auth HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49745 - "GET /locales/en-US/translation.json HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:49746 - "GET /locales/en/translation.json HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49746 - "GET /favicon-32x32.png HTTP/1.1" 200 OK
INFO:     ('<IP_ADDRESS>', 49747) - "WebSocket /ws?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiI2OWFhZTEwYy1hMjRlLTRmNGYtYTZiYS1mOTkzNTI2ZDFlYzIifQ.Z94inVNiUAws0YyhMvqeY5vROlV-Ha8547CjU9ACsdk" [accepted]
INFO:     connection open
Starting loop_recv for sid: 69aae10c-a24e-4f4f-a6ba-f993526d1ec2
INFO:     <IP_ADDRESS>:49746 - "GET /api/refresh-files HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49746 - "GET /api/litellm-models HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49745 - "GET /api/messages/total HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49745 - "GET /api/messages/total HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49745 - "GET /api/agents HTTP/1.1" 200 OK
03:10:36 - opendevin:INFO: agent.py:144 - Creating agent MonologueAgent using LLM gpt-3.5-turbo
03:10:36 - opendevin:INFO: llm.py:51 - Initializing LLM with model: gpt-3.5-turbo
03:10:37 - opendevin:INFO: ssh_box.py:353 - Container stopped
03:10:37 - opendevin:INFO: ssh_box.py:373 - Mounting workspace directory: /home/st-dev-autodev9000/devin-new
03:10:38 - opendevin:INFO: ssh_box.py:396 - Container started
03:10:39 - opendevin:INFO: ssh_box.py:413 - waiting for container to start: 1, container status: running
03:10:39 - opendevin:INFO: ssh_box.py:178 - Connecting to<EMAIL_ADDRESS>via ssh. If you encounter any issues, you can try ssh -v -p 44717<EMAIL_ADDRESS>with the password '88f35f3a-eac7-43f6-9742-27a703381668' and report the issue on GitHub.
==============
STEP 0
03:11:20 - PLAN

03:11:20 - opendevin:ERROR: agent_controller.py:102 - Error in loop
Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 414, in completion
raise e
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 350, in completion
openai_client = OpenAI(
^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/openai/_client.py", line 104, in init
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/litellm/main.py", line 1010, in completion
raise e
File "/app/.venv/lib/python3.12/site-packages/litellm/main.py", line 983, in completion
response = openai_chat_completions.completion(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 422, in completion
raise OpenAIError(status_code=500, message=traceback.format_exc())
litellm.llms.openai.OpenAIError: Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 414, in completion
raise e
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 350, in completion
openai_client = OpenAI(
^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/openai/_client.py", line 104, in init
raise OpenAIError(
openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/opendevin/controller/agent_controller.py", line 98, in _run
finished = await self.step(i)
^^^^^^^^^^^^^^^^^^
File "/app/opendevin/controller/agent_controller.py", line 211, in step
action = self.agent.step(self.state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/agenthub/monologue_agent/agent.py", line 218, in step
resp = self.llm.completion(messages=messages)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/tenacity/init.py", line 289, in wrapped_f
return self(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/tenacity/init.py", line 379, in call
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/tenacity/init.py", line 314, in iter
return fut.result()
^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/app/.venv/lib/python3.12/site-packages/tenacity/init.py", line 382, in call
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/app/opendevin/llm/llm.py", line 78, in wrapper
resp = completion_unwrapped(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2977, in wrapper
raise e
File "/app/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2875, in wrapper
result = original_function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/litellm/main.py", line 2137, in completion
raise exception_type(
^^^^^^^^^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/litellm/utils.py", line 8665, in exception_type
raise e
File "/app/.venv/lib/python3.12/site-packages/litellm/utils.py", line 7431, in exception_type
raise AuthenticationError(
litellm.exceptions.AuthenticationError: OpenAIException - Traceback (most recent call last):
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 414, in completion
raise e
File "/app/.venv/lib/python3.12/site-packages/litellm/llms/openai.py", line 350, in completion
openai_client = openai(
^^^^^^^
File "/app/.venv/lib/python3.12/site-packages/openai/_client.py", line 104, in init
raise openaiError(
openai.openaiError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable

Can you please try:
-e LLM_API_KEY=$LLM_API_KEY \
instead, in the docker command?

I'm not sure why it would hang on such task. I just tried with the same version, 0.4.0, and GPT-3.5, the same prompt and it worked, in 3 steps, including its initial ls and the final action=finish. Did docker quit, can you inspect the container? Otherwise can you restart it and see if it hangs again?

This pr will fix the problem of app hang when exception thrown in agent_controller step execution: https://github.com/OpenDevin/OpenDevin/pull/1445

Thank you @assertion ! ❤
The fix is on main, @robertherbaugh if you wish to try it, it should behave more reasonably.


HLS key rotation

Related to live support.  We have not tested key rotation in HLS.

Hey I have a test stream for you!  Key rotation definitely doesn't work.  This stream rotates keys every 3 minutes and it just hangs when the rotation occurs.  This might be useful for testing and implementing a fix:
https://content.uplynk.com/channel/b965d55496414804891dde9c96928ffb.m3u8?rmt=wv&m4fenctype=cenc

@TheJohnBowers, I know this issue is ancient, but I wanted to confirm if we have solved this in v4.2.0 with PR #4386.  I'm running the content now in the v4.2.0 demo, but I'm not sure what the key rotation interval is, or when I will know for sure whether or not playback is working correctly.
Are the links above still accurate and using key rotation?  If so, what is the key rotation interval?
Thanks!

I let it run for about 20 minutes without issue, but I'm not certain if the content link is still valid for this issue.

Yeah, that is just unencrypted slate.  The channel ran for a couple of years but the encoder running it was retired a couple of months ago.  I have a better way to test that now -- A "Playlist" that loops through assets as a live stream.  This requires no encoders to be running 24/7, so much easier to keep up for validation / test streams:
I have 2 streams that loop endlesslly over 2 different assets:
This first one the first asset is only 28 seconds long and it seems to transition into the second asset perfectly:
https://content.uplynk.com/playlist/a3d7ee7c60db4a92b55f11e4e9c48d12.m3u8?rmt=wv&m4fenctype=cenc
This one, the first asset is maybe 2 minutes long, and it hangs when you try to transition in to the second asset with a new key:
https://content.uplynk.com/playlist/ebbbf2111be144a4971dd8426b70e809.m3u8?rmt=wv&m4fenctype=cenc
I suspect the first one works simply because the first slice for the second asset is actually seen in the very first HLS manifest window, so I  think there is still some work to do.   You can get a dash version of the playlist that rotates through the same 2 assets with the same fmp4 segments if you want to compare how shaka handles this in HLS vs DASH:
https://content.uplynk.com/playlist/ebbbf2111be144a4971dd8426b70e809.mpd
The license server url is as always (regardless of dash or hls or stream url)
https://content.uplynk.com/wv


I can make predictions using an invalid model

Models can predict despite invalid parameter values

It is possible for the optimiser to take a model's parameters to a pathological region. When that happens, the user is not protected against making predictions using known pathological values.
Moreover, the learned parameters can lead to an exception when attempting to use in a new model.
To reproduce, run the following
import gpflow
import numpy as np

def kaboom():
    effective_zero = 1e-6

    x = np.arange(10.).reshape(-1, 1)
    y = np.arange(10.).reshape(-1, 1)
    model = gpflow.models.GPR(data=(x, y), kernel=gpflow.kernels.RBF())
    # model.likelihood.variance.assign(effective_zero) explodes with the following error
    # 'gpflow.Parameter: the value to be assigned is incompatible with this parameter's transform
    # (the corresponding unconstrained value has NaN or Inf) and hence cannot be assigned.'
    # That's a good thing!
    # 1e-6 is the "effective zero" in GPflow for variables with support on [0, \inf),
    # so users should not be allowed to assign it to params.

    # CG happily takes us to a "severely overfit" region as can be seen by the model summary
    # Interestingly, it seems to even take the variance to 1e-6, which should be invalid!
    optimiser = gpflow.optimizers.Scipy()
    optimiser.minimize(
        closure=model.maximum_log_likelihood_objective,
        variables=model.trainable_variables,
        method="CG",
        options=dict(maxiter=100),
        tol=effective_zero/100,  # Key! No blowup without this line.
        # We need to ensure we get sufficiently close to the effective zero.
    )
    assert model.likelihood.variance.numpy() == effective_zero

    # Despite the pathological value of the likelihood variance,
    # I can still use the model to predict y (badly!!)
    prediction = model.predict_y(x)
    print(f"Mean predictions for x: {prediction[0].numpy().T}")
    print(f"Variance predictions for x: {prediction[1].numpy().T}")

    # A side-effect of the naughtiness: if I extract parameters from the trained model,
    # they are actually invalid for a new model.
    learned_parameters = gpflow.utilities.read_values(model)
    new_model = gpflow.models.GPR(data=(x, y), kernel=gpflow.kernels.RBF())
    print("Let's assign the values that the old model is happily providing to us to a new model")
    gpflow.utilities.multiple_assign(new_model, learned_parameters)  # KABOOM!

if __name__ == '__main__':
    kaboom()

Stack trace:
Mean predictions for x: [[0.00000000e+00 2.82804157e-43 5.65608314e-43 8.48412471e-43
  1.13121663e-42 1.41402079e-42 1.69682494e-42 1.97962910e-42
  2.26243326e-42 2.54523741e-42]]
Variance predictions for x: [[1.e-06 1.e-06 1.e-06 1.e-06 1.e-06 1.e-06 1.e-06 1.e-06 1.e-06 1.e-06]]
Let's assign the values that the old model is happily providing to us to a new model
Traceback (most recent call last):
  File "/home/elvijs/.PyCharmCE2019.2/config/scratches/scratch_9.py", line 46, in <module>
    kaboom()
  File "/home/elvijs/.PyCharmCE2019.2/config/scratches/scratch_9.py", line 42, in kaboom
    gpflow.utilities.multiple_assign(new_model, learned_parameters)  # KABOOM!
  File "/home/elvijs/.virtualenvs/automl_res/lib/python3.7/site-packages/gpflow/utilities/utilities.py", line 67, in multiple_assign
    reference_var_dict[path].assign(value)
  File "/home/elvijs/.virtualenvs/automl_res/lib/python3.7/site-packages/gpflow/base.py", line 191, in assign
    unconstrained_value = self.validate_unconstrained_value(value, self.dtype)
  File "/home/elvijs/.virtualenvs/automl_res/lib/python3.7/site-packages/gpflow/base.py", line 166, in validate_unconstrained_value
    return tf.debugging.assert_all_finite(unconstrained_value, message=message)
  File "/home/elvijs/.virtualenvs/automl_res/lib/python3.7/site-packages/tensorflow_core/python/ops/numerics.py", line 67, in verify_tensor_all_finite_v2
    verify_input = array_ops.check_numerics(x, message=message)
  File "/home/elvijs/.virtualenvs/automl_res/lib/python3.7/site-packages/tensorflow_core/python/ops/gen_array_ops.py", line 902, in check_numerics
    _ops.raise_from_not_ok_status(e, name)
  File "/home/elvijs/.virtualenvs/automl_res/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py", line 6606, in raise_from_not_ok_status
    six.raise_from(core._status_to_exception(e.code, message), None)
  File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: gpflow.Parameter: the value to be assigned is incompatible with this parameter's transform (the corresponding unconstrained value has NaN or Inf) and hence cannot be assigned. : Tensor had Inf values [Op:CheckNumerics]

Expected behavior
I expected the model to explode at predict-time after the parameters had been optimized to a pathological region.
I'd also like gpflow.utilities.read_values to explode when the contained values are actually invalid - that way I cannot accidentally assign the invalid values to a new model. This use-case is actually where I first noticed the issue.
System information

GPflow version: 2.0.4
GPflow installed from: pip install gpflow==2.0.4
TensorFlow version: 2.1.0
Python version: 3.7.5
Operating system: Ubuntu

Why (or perhaps how) would you expect the model to "explode" at predict-time? I don't think it'll be at all possible to avoid a situation where after optimisation the unconstrained value is highly negative, corresponding to (effectively) the lower bound in the constrained space, such that it is indistinguishable from the invalid constrained value of exactly the lower bound. If you've got suggestions for how to improve the situation I'd love to hear. Just be aware that this is a more fundamental problem than just a bug in gpflow, and we won't be able to guard against all errors - in the end you'll still need some understanding of what's actually going on to make use of GPflow..

Why (or perhaps how) would you expect the model to "explode" at predict-time?

To me that seems closer to the principle of ensuring that errors don't pass silently. The model admits itself to be mutated in a way that makes it invalid (0 variance makes no sense), so it should tell the users that as early as possible. In this case, my model exploded somewhere in a backtest loop way after the invalid model's training and it took me a while to reproduce.
Some ideas for improvement:

Really, I'd love to address the root cause and disallow the model mutation to make models invalid. Is there any way of telling Scipy/TF optimisers to respect the constraints when the constraints define an open interval? Maybe gpflow.Parameter can intercept value assignment from the optimisers and ensure they're checked?
Alternatively, accept that optimisers render model parameters effectively invalid and add some checks to be run before users can interact with the public methods?
If neither of the above is workable, let the users know that this may happen and tell them what exception they can expect, so they know what they should be catching and handling?

def check_model_makes_sense(m):
    try:
        gpflow.utilities.multiple_assign(k, gpflow.utilities.read_values(k))
    except tf.InvalidArgumentError:
        return False
    return True


terraform upcloud: Added possibility to set up nodes with only private networks

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:
/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
This is just for review purpuse, I'll take it upstream when this is approved
This also changes the output variables master_ip and worker_ip from having the IPs in private_ip and public_ip for each node to be private and public. I tried to look and that doesn't seem to be used anywhere so it should be fine
Does this PR introduce a user-facing change?:

@davidumea @Xartos any updates for this? Or should we try to review this again and merge it?

@davidumea @Xartos any updates for this? Or should we try to review this again and merge it?

I thought about making proxy_protocol an optional variable, thoughts? Other than that I have nothing more to add here.

This looks wrong or maybe I'm not understanding what "private IPs" means here. I would have assumed the private IP would have been the local address.

@simonklb Yea, this is because of this bug. If you run plan after it has been applied it should show you the correct private IP.


pip install -r requirements.txt shouldn't install delphi

as that replaces the project installed in editable state

I'd be willing to just get rid of requirements-*.txt? If someone is using it, then they're probably doing some dev, for which they need to install in editable

@jaidhyani takes?


Hosted public facing API and tafseer #482

Jazakallah for your time for replying the previous query.
I have seen the API, but I was looking for something hosted so I can use my poor PHP knowledge to integrate with my wordpress plugin.
Unfortunately I don't know RUBY, I wish I knew so I could be a part of the project as well.
Is there any chance you can host the API somewhere?
I have couple of things using your service already,

https://wordpress.org/plugins/quran-verse-a-day/
This is the plugin used by so many mosques and Islamic professionals
https://www.facebook.com/quran.verse.a.day
For this page I would be happy to integrate Bengali translation as I get many user requests for it. I will also be glad to use your Tafseer over others.

Regards,
Mustafiz.

@mmrs151
As @mmahalwy said the API is publicly available.
Salam

Thanks, I understand now.

@sabeurthabti @mmrs151 I created this a while ago :)
https://quran.com/api/docs


6.4.0 plugin link broken?

Trying to install from Kibana 6.4.0, but getting a 404 on the download link.
./bin/kibana-plugin install https://github.com/sivasamyk/logtrail/releases/download/v0.1.30/logtrail-6.4.0-0.1.30.zip

Attempting to transfer from https://github.com/sivasamyk/logtrail/releases/download/v0.1.30/logtrail-6.4.0-0.1.30.zip
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/https://github.com/sivasamyk/logtrail/releases/download/v0.1.30/logtrail-6.4.0-0.1.30.zip/https://github.com/sivasamyk/logtrail/releases/download/v0.1.30/logtrail-6.4.0-0.1.30.zip-6.4.0.zip
Plugin installation was unsuccessful due to error "No valid url specified."

Possibly I'm doing something dumb - it's been a long day, but this is copied from the install instructions.

Sorry. Created release with the wrong tag. fixed now. https://github.com/sivasamyk/logtrail/releases/download/v0.1.30/logtrail-6.4.0-0.1.30.zip should work.

So fast! Thanks.


urgent problem

redis server changed the command, such as 'eval' to 'myeval'. The redis command line implements the function of 'eval' by calling 'myeval'. How is redisson configured to call myeval

you need to define commandMapper setting


I guess these GB/GBC games may not supported

I didn't test them with SkyEmu
So that's why I guess
Nintendo - Game Boy
Unsupported MBC: Pocket Camera
Game Boy Camera (USA, Europe) (SGB Enhanced)
Game Boy Camera Gold (USA) (SGB Enhanced)
Hello Kitty - Pocket Camera (Japan) (Proto) (SGB Enhanced)
Pocket Camera (Japan) (Rev 1) (SGB Enhanced)
Unsupported MBC: HuC3
Pocket Family GB (Japan) (SGB Enhanced)
Bandai TAMA5 not yet supported.
Game de Hakken!! Tamagotchi - Osutchi to Mesutchi (Japan) (SGB Enhanced)
Invalid ram size.
Lasama Chuanqi - Story of Lasama (Taiwan) (Unl)
Super Donkey Kong 3 (Taiwan) (Unl)
Invalid Opcode
GameShark (USA) (Unl)
Joshua & the Battle of Jericho (USA) (Unl)
Mick & Mack as the Global Gladiators (USA) (Proto) (1993-09-27)
Mick & Mack as the Global Gladiators (USA) (Proto) (1994-01-18)
Pro Action Replay (Europe) (Unl)
Pocket Monsters Gin (Japan) (Demo) (Spaceworld 1997) (SGB Enhanced)
Pocket Monsters Gin (Japan) (Demo) (Spaceworld 1997) (SGB Enhanced) (Debug)
Pocket Monsters Kin (Japan) (Demo) (Spaceworld 1997) (SGB Enhanced)
Pocket Monsters Kin (Japan) (Demo) (Spaceworld 1997) (SGB Enhanced) (Debug)
Pokemon - Red Version (Hong Kong) (SGB Enhanced) (Pirate)
seaQuest DSV (USA, Europe) (Beta)
Unrecognised region code.
4 in 1 (Europe) (4B-001, Sachen-Commin) (Unl)
4 in 1 (Europe) (4B-002, Sachen) (Unl)
4 in 1 (Europe) (4B-004, Sachen-Commin) (Unl)
4 in 1 (Europe) (4B-005, Sachen-Commin) (Unl)
4 in 1 (Europe) (4B-006, Sachen) (Unl)
4 in 1 (Europe) (4B-007, Sachen) (Unl)
4 in 1 (Europe) (4B-008, Sachen) (Unl)
4 in 1 (Europe) (4B-009, Sachen) (Unl)
4 in 1 (Taiwan) (En,Zh) (4B-003, Sachen-Commin) (Unl)
8-in-1 (Unknown) (Unl)
Super 69 in 1 (World) (Unl)
Mani 4 in 1 - Bubble Bobble + Elevator Action + Chase H.Q. + Sagaia (China) (En)
Mani 4 in 1 - Genki Bakuhatsu Gambaruger + Zettai Muteki Raijin-Oh + Zoids Densetsu + Miracle Adventure of Esparks - Ushinawareta Seiseki Perivron (China) (Ja)
Mani 4 in 1 - R-Type II + Saigo no Nindou + Ganso!! Yancha Maru + Shisenshou - Match-Mania (China) (Ja)
Mani 4 in 1 - Takahashi Meijin no Bouken-jima II + GB Genjin + Bomber Boy + Milon no Meikyuu Kumikyoku (China) (Ja)
Mani 4 in 1 - Tetris + Alleyway + Yakuman + Tennis (China) (Ja)
Mind Bender (USA) (Beta) (1991-03-04)
Rockman 8 (Taiwan) (Unl)
Nintendo - Game Boy Color
Unsupported MBC: HuC3
Pocket Family GB 2 (Japan)
Robopon - Sun Version (USA) (SGB Enhanced) (GB Compatible)
Robopon - Sun Version (USA) (Beta) (SGB Enhanced) (GB Compatible)
Robopon - Star Version (USA) (Proto)
Robot Poncots - Comic Bom Bom Special Version (Japan) (SGB Enhanced) (GB Compatible)
Robot Poncots - Moon Version (Japan) (SGB Enhanced) (GB Compatible)
Robot Poncots - Star Version (Japan) (SGB Enhanced) (GB Compatible)
Robot Poncots - Sun Version (Japan) (SGB Enhanced) (GB Compatible)
MBC6 not yet supported.
Net de Get - Minigame @ 100 (Japan)
Unsupported MBC: MBC7
Command Master (Japan)
Kirby - Tilt 'n' Tumble (USA)
Korokoro Kirby (Japan)
Invalid ram size.
Beast Fighter (Taiwan) (En) (Sachen) (Unl)
Xploder GB (Europe) (v1.2.3E) (GB Compatible) (Unl)
Xploder GB (Germany) (v1.2.2G) (GB Compatible) (Unl)
Invalid Opcode
Bing Yuan Li Xian Ji II (Taiwan) (Unl)
Bomberman 3 (Taiwan) (Unl)
Capcom vs SNK - Millennium Fight 2001 (Taiwan) (En) (Unl)
Chao Ji Ji Qi Ren Da Zhan X - Super Robot War X (Taiwan) (Unl)
Chao Ji Ji Qi Ren Da Zhan X - Super Robot War X (Taiwan) (Unl) (Alt)
Chao Jinhua Shuma Baolong - Zuanshi Ban (Taiwan) (Unl)
Chaoji Gedou 2001 Alpha (Taiwan) (Unl)
Chong Wu Xiao Jing Ling - Jie Jin Ta Zhi Wang (Taiwan) (Unl)
Crash II Advance 2003 (USA) (Unl)
Digimom Sapphii 2003 (Taiwan) (En) (Unl)
Digimon 2 (Taiwan) (En) (Unl)
Digimon 3 Crystal (Taiwan) (En) (Unl)
Digimon 02 4 (Taiwan) (En) (Unl)
Digimon Adventure 6 2002 (Taiwan) (En) (Unl)
Digimon Adventure 2001 (USA) (Unl)
Digimon Crystal II (USA) (Unl)
Dragon Ball Z 3 2002 Fighting (Taiwan) (En) (Unl)
Elang Chuanshuo - Shiji Zhi Zhan (Taiwan) (Unl)
Gangdan Wuyu 2 (Taiwan) (Unl)
Gu Huo Lang II 2003 (Taiwan) (Unl)
Ha Li Bo Te 2 - Xiao Shi De Mi Shi 2003 (Taiwan) (Unl)
Ha Li Xiao Zi Di Er Bu - Mi Shi De Mi (Taiwan) (Unl)
Ha Li Xiao Zi IV 2003 (Taiwan) (Unl)
Kou Dai Guai Shou - Dong Zuo Pian (Taiwan) (En) (Unl)
Kou Dai Guai Shou - Lan Bao Shi 2003 (Taiwan) (Unl)
Langrsr II (Taiwan) (En) (Unl)
Luo Ke Ying Xiong EXE5 (Taiwan) (Unl)
Mythri (USA) (Proto 1) (2000-08-02)
Mythri (USA) (Proto 2) (2001-03-31)
Nuwang Gedou (Taiwan) (Unl)
Pian Wai Zhang Huang Jin Tai Yang - Feng Yin De Yuan Gu Lian Jin Shu (Taiwan) (Unl)
Pocket Monster Carbuncle 2003 (USA) (Unl)
Pokemon - Sapphire Version (USA) (Unl)
Pokemon Diamond (Taiwan) (En) (Unl)
Qi Long Zhu Z 3 (Taiwan) (Unl)
Quan Ba Tian Xia (Taiwan) (Unl)
Rockman DX6 (Taiwan) (Unl)
Rockman DX8 (Taiwan) (En) (Unl)
San Guo Wu Shang 5 (Taiwan) (Unl)
Sanguozhi Wudai (Taiwan) (Unl)
Shu Ma Bao Long - Shui Jing Ban II (Taiwan) (Unl)
Shuihu Shenshou (Taiwan) (Unl) (Alt)
Shuihu Zhuan Zhi Qunmo Fengyun Lu (China) (Unl)
Shuma Baobei DX6 (Taiwan) (Unl)
Shuma Baolong - Diannao Pian (Taiwan) (Zh) (Unl)
Shuma Baolong - Shuijing Ban (Taiwan) (Li Cheng) (Unl)
Shuma Baolong 02 4 (Taiwan) (Zh) (Unl)
Super Marrio Sunshine (Taiwan) (En) (Unl)
Taikong Zhanshi - Jingdian Ban (Taiwan) (Unl)
Taikong Zhanshi DX3 - Zuizhong Huanxiang (Taiwan) (Unl)
The Second Edition Harry Boy - The Secret of the Chamber of Secrets (USA) (Unl)
Yingxiong Jian 2 (Taiwan) (Unl)
Yingxiong Tianxia (Taiwan) (Zh) (Unl)
Yong Zhe Dou E Long VIII (Taiwan) (Unl)
Yue Nan Zhan Yi 3 (Taiwan) (Unl)
Unrecognised region code.
4 in 1 + 8 in 1 (World) (4B-001, 4B-009, 8B-001, Sachen) (Unl)
4 in 1 + 8 in 1 (World) (4B-002, 4B-004, 8B-002, Sachen) (Unl)
4 in 1 + 8 in 1 (World) (4B-005, 4B-006, 8B-003, Sachen) (Unl)
4 in 1 + 8 in 1 (World) (4B-007, 4B-008, 8B-004, Sachen) (Unl)
31 in 1 (Taiwan) (31B-001, Sachen) (Unl)
31-in-1 Mighty Mix (Australia) (31B-001, Sachen) (Unl)
Adventure Digimon 7 2002 (Taiwan) (En) (Unl)
Jurassic Boy 2 (Taiwan) (En) (Rev 1) (Sachen) (Unl)
Jurassic Boy 2 + Thunder Blast Man (Taiwan) (En) (1B-002, 1B-003, Sachen) (Unl)
Rocman X Gold + 4 in 1 (Taiwan) (1B-002, 4B-003, Sachen) (Unl)
Shuihu Shenshou (Taiwan) (Unl)
Star Heritage (Europe) (Proto) (Password Version)
Star Heritage (Europe) (Proto) (SRAM Version)
Street Hero (Taiwan) (En) (1B-004, EB-004, Sachen) (Unl)
Super 6 in 1 (Taiwan) (En,Zh) (6B-001, Sachen) (Unl)
Super 16 in 1 (Taiwan) (En) (Sachen) (Unl)
Thunder Blast Man (Europe) (Sachen) (Unl)

new games I tested
Lasama Chuanqi - Story of Lasama (Taiwan) (Unl).gb
Lasama Chuanqi - Story of Lasama (Taiwan) (Unl) (Alt).gb
Emo Cheng 2 - Fengyun Pian (Taiwan) (Unl).gbc
Emo Cheng DX (Taiwan) (Beta) (Unl).gbc

I tested USA
Bob the Builder - Fix it Fun! (USA).gbc
Bob the Builder - Fix it Fun! (Europe) (En,Sv,No,Da,Fi).gbc
Bob the Builder - Fix it Fun! (Europe) (En,Fr,It).gbc
Bob the Builder - Fix it Fun! (Europe) (En,Fr,De,Es,Nl).gbc

I didn't test GBC games
ATV Racing & Karate Joe (Europe) (Unl) (Alt)
ATV Racing & Karate Joe (Europe) (Unl)
ATV Racing (Europe) (Unl)
Full Time Soccer & Hang Time Basketball (Europe) (Unl)
Full Time Soccer (Europe) (Unl)
Hang Time Basketball (Europe) (Unl)
Karate Joe (Europe) (Unl)
Painter (Europe) (Unl)
Pocket Smash Out & Race Time (Europe) (Unl)
Pocket Smash Out (Europe) (Unl)
Race Time (Europe) (Unl)
Rocman X Gold + 4 in 1 (Taiwan) (1B-002, 4B-003, Sachen) (Unl)
Space Invasion & Karate Joe (Europe) (Unl)
Space Invasion & Painter (Europe) (Unl)
Space Invasion (Europe) (Unl)

I tested
it's a little hard to emulate accurately
Bug's Life, A (Europe) (SGB Enhanced) (GB Compatible)
Bug's Life, A (USA) (SGB Enhanced) (GB Compatible)
FIFA 2000 (USA, Europe) (SGB Enhanced) (GB Compatible)

Tested
2 Game Pack! - Uno + Skip-Bo (USA).gba


Slow starting time compared with s4l-lite

very important!

https://z43.fogbugz.com/f/cases/191915/Comp-resource-tracking-discrepancy-investigation

Bulk sync issues to read

https://forums.docker.com/t/bulk-sync-to-node-xxx-timed-out-docker-swarm/125243

Time lines explained

Docker Swarm Sync Delays
The only place where we loose time (can be 30 sec / 1 min / 1.5 min) and that we do not control is docker swarm sync issue when the buffer node is becoming active (drain --> active).
When we activate buffer machine and the new sim4life goes on it, the docker swarm starts the sync process (to create networks on the new node and sync it with the cluster in general).
Sometimes during the sync process we get Bulk sync to node XXX timed out docker error log. This error log 100% correlates with a 30 seconds delays in dy-sidecar container popping up in docker ps command on the node.
Solution

Fix from docker swarm side:

I have created an issue in docker swarm repo: https://github.com/moby/moby/issues/47396 .
Or engine update may remove this issue altogether

We can try to work around this problem by keeping the node active and forcing all the networks necessary to be created on it:

https://github.com/ITISFoundation/osparc-simcore/issues/5339 --> keep the node active
enforcing all the networks on the node is another issue. TBD

It was fixed by 2 PRs below. We will now observer it before closing the issue

https://github.com/ITISFoundation/osparc-simcore/pull/5340
https://github.com/ITISFoundation/osparc-simcore/pull/5348

It all looks good. dynamic-sidecar starts within ~5 seconds after opening a study (on a buffer machine already existing). I think we can close it. I will wait till we finally agree to close it with a team


CI: Switch to action-gh-release.

Switch from the long deprecated upload-release-asset to action-gh-release and attempt to replicate the same behaviour.
Avoids nodejs and set-output deprecation warnings:

https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

I've put this off for too long! upload-release-asset has been deprecated and unmaintained for years, causing a growing number of warnings in the Actions output.
Test release: https://github.com/32blit/32blit-sdk/releases/tag/TEST-DO-NOT-EAT

No warnings, less code and it works... seems like a win. (Was also avoiding this when updating actions)

Will merge and hope it doesn't cause us a headache for the next release!
There should probably be a release soon. You've been busy 😆  https://github.com/32blit/32blit-sdk/compare/v0.3.2...master

Mmm, haven't even merged any of the big stuff yet... and now I have a bunch of fixes from working on a HSTX driver. :thinking:

Mmm, haven't even merged any of the big stuff yet... and now I have a bunch of fixes from working on a HSTX driver. 🤔

Oooooooooo!
To be fair, a release of miscellaneous bugfixes probably isn't a bad thing to do before the big stuff!


Automated Package Upgrade

:tada: This PR is included in version 7.7.68 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Hard vs Soft Limits and Quotas

Hello! I have previously seen this page where we have columns for hard vs soft limits. I am now only seeing this for Classic deployment models. Has something changed? Do we have a list of resources that have hard limits versus those where support tickets can be raised? Historically I recall (for example) 1000 vnets per subscription
Or do we need to dive into the resource pages themselves to see the quotas (Ex. https://learn.microsoft.com/en-us/azure/container-apps/quotas)

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

ID: 36f49a06-90b1-cbe1-3853-2c38277b79f8
Version Independent ID: 02ff6f6c-3ef6-b48f-060d-b290419e0aba
Content: Azure subscription limits and quotas - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/azure-subscription-service-limits.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@moneyclouds
Thanks for your feedback! We will investigate and update as appropriate.

@moneyclouds - Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can review and update accordingly.

@moneyclouds - here's an explanation of whether a limit is adjustable.

#please-close


Update google-java-format to 1.10.0

Updates com.google.googlejavaformat:google-java-format from 1.7 to 1.10.0.
GitHub Release Notes
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.googlejavaformat", artifactId = "google-java-format" } ]

labels: library-update

Superseded by #136.


Fixing dependency version requirement

These warnings should be removed.
root@LAPTOP-F2FKVH30:~# gem specific_install https://github.com/sciruby-jp/rubydown
/usr/bin/git
http installing from https://github.com/sciruby-jp/rubydown
Cloning into '/tmp/d20190309-43-1fwpq90'...
remote: Enumerating objects: 192, done.
remote: Counting objects: 100% (192/192), done.
remote: Compressing objects: 100% (134/134), done.
remote: Total 334 (delta 76), reused 162 (delta 51), pack-reused 142
Receiving objects: 100% (334/334), 2.06 MiB | 813.00 KiB/s, done.
Resolving deltas: 100% (133/133), done.
Checking out files: 100% (48/48), done.
WARNING:  exe/rubydown is not executable
WARNING:  open-ended dependency on kramdown (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on pry (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on daru (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on numo-narray (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on numo-gnuplot (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on rbplotly (>= 0) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on test-unit (>= 0, development) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: rubydown
  Version: 0.1.0
  File: rubydown-0.1.0.gem
Fetching addressable-2.6.0.gem
Fetching faraday-0.15.4.gem
Fetching multipart-post-2.0.0.gem
Fetching public_suffix-3.0.3.gem
Fetching launchy-2.4.3.gem
Fetching rbplotly-0.1.2.gem
Fetching uuidtools-2.1.5.gem
Fetching numo-gnuplot-0.2.4.gem
Fetching numo-narray-<IP_ADDRESS>.gem
Fetching backports-3.12.0.gem
Fetching packable-1.3.10.gem
Fetching daru-0.2.1.gem
Fetching coderay-1.1.2.gem
Fetching method_source-0.9.2.gem
Fetching pry-0.12.2.gem
Fetching kramdown-2.1.0.gem
Building native extensions. This could take a while...
/usr/local/lib/site_ruby/2.5.0/rubygems/ext/builder.rb:183: warning: conflicting chdir during another chdir block
/usr/local/lib/site_ruby/2.5.0/rubygems/ext/builder.rb:191: warning: conflicting chdir during another chdir block
Successfully installed

Almost fixed in 0fe6789f2154ffe017563a21e85e7d1746d8cb43


SDK JS v0.4.9

Prepare to publish and tag.
Add geometry block execution capabilities.

already published


Remove log from init in BigQuery operators

Closed via https://github.com/apache/airflow/pull/6052


Inventory modifications stops flight

Mod loader
Fabric
Minecraft version
1.20.1
Woodwalkers version
1.20.1-fabric-4.6
CraftedCore version
1.20.1-fabric-4.3.1
Modloader version
[1.20.1] Fabric API 0.92.2+1.20.1 (I apologize if this is not what I was meant to put here)
The latest.log file
latest.log
Issue description
whenever anything in my inventory changes, it causes any flying animal to stop flying
https://github.com/ToCraft/woodwalkers-mod/assets/65171795/c0ce6185-91d9-48f7-b60f-1a67b802dc9d
Steps to reproduce
download the mods I have installd
load into a world
fly with any animal
move something in your inventory, eat, interact with a block, etc
drop to the ground because you're no longer flying
Other
I'm not entirely sure this is Woodwalkers' or CraftedCore's fault. it could just be conflicting mods, but I felt like I should report this just in case

Edit: It's not just the inventory, it also happens with potion effects

Seems to be an error with PlayerAbilityLib (implemented by several of our mods). I'm not sure, when I can write a workaround for it... You could report it to them, too

great idea, will do


Update persisted-operations.md

It said "There are two main benefits", but there are more than two benefits listed.
Also added a bullet point to the item under the "Security" header for consistency.

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


Releasing v0.3.0

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.52 :tada:

Comparison is base (e2cf7d7) 99.47% compared to head (7e792a6) 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@             Coverage Diff             @@
##             main       #12      +/-   ##
===========================================
+ Coverage   99.47%   100.00%   +0.52%
===========================================
  Files          24        11      -13
  Lines         382       157     -225
===========================================
- Hits          380       157     -223
+ Misses          2         0       -2

Impacted Files
Coverage Δ

version.go
100.00% <100.00%> (ø)

... and 13 files with indirect coverage changes

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


Update various dependencies manually

Fixes #6833.
Note that slightly out-of-date GAX dependencies aren't a problem - they are updated as part of the release process, so I haven't done them here.

Thanks - will check the Spanner part.


vagrant "hello" script fails

I'm going thru the Vagrant installation method (macOS Sierra), and am getting this error, presumably near the end of the script:
==> default: ok: whisk auth set. Run 'wsk property get --auth' to see the new value.
==> default: ok: whisk API host set to <IP_ADDRESS>
==> default: ok: whisk namespace set to guest
==> default: ++ wsk action invoke /whisk.system/utils/echo -p message hello --result
==> default: error: Unable to invoke action 'utils/echo': There was an internal server error. (code 52)
==> default: Run 'wsk --help' for usage.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

After this, I ssh into the machine, and execute the above command manually:
vagrant@vagrant-ubuntu-trusty-64:~$ wsk action invoke /whisk.system/utils/echo -p message hello --result
{
    "message": "hello"
}

...which seems like success.  Could be a race condition?
My working copy is at revision d86461524a938fd165fbbba61b43823b1d1ae8af.

@boneskull Even my vagrant "hello" script is failing and if I ssh and run the the hello script it is not working.
 ==> default:  ==> default: TASK [controller : (re)start controller] *************************************** ==> default: Tuesday 01 August 2017  14:11:55 +0000 (0:00:00.352)       0:02:19.848 ********  ==> default: changed: [<IP_ADDRESS>] ==> default:  ==> default: TASK [controller : wait until the Controller in this host is up and running] *** ==> default: Tuesday 01 August 2017  14:13:12 +0000 (0:01:16.650)       0:03:36.498 ********  ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (12 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (11 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (10 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (9 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (8 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (7 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (6 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (5 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (4 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (3 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (2 retries left). ==> default: FAILED - RETRYING: wait until the Controller in this host is up and running (1 retries left). ==> default: fatal: [<IP_ADDRESS>]: FAILED! => {"attempts": 12, "changed": false, "content": "", "failed": true, "msg": "Status code was not [200]: Request failed: <urlopen error [Errno 111] Connection refused>", "redirected": false, "status": -1, "url": "http://<IP_ADDRESS>:10001/ping"} ==> default:  ==> default: PLAY RECAP ********************************************************************* ==> default: <IP_ADDRESS>                 : ok=13   changed=11   unreachable=0    failed=1    ==> default: Tuesday 01 August 2017  14:14:16 +0000 (0:01:04.416)       0:04:40.915 ********  ==> default: ===============================================================================  ==> default: kafka : pull the ches/kafka:<IP_ADDRESS> image ----------------------------- 87.45s ==> default: controller : (re)start controller -------------------------------------- 76.65s ==> default: controller : wait until the Controller in this host is up and running -- 64.42s ==> default: kafka : pull the zookeeper:3.4 image ----------------------------------- 24.58s ==> default: kafka : wait until the Zookeeper in this host is up and running --------- 7.48s ==> default: kafka : wait until the kafka server started up -------------------------- 5.45s ==> default: kafka : create the health topic ----------------------------------------- 3.24s ==> default: kafka : create the invoker topics --------------------------------------- 2.53s ==> default: kafka : create the active-ack topics ------------------------------------ 2.49s ==> default: Gathering Facts --------------------------------------------------------- 2.44s ==> default: Gathering Facts --------------------------------------------------------- 2.23s ==> default: kafka : (re)start zookeeper --------------------------------------------- 0.73s ==> default: kafka : (re)start kafka ------------------------------------------------- 0.68s ==> default: controller : ensure controller log directory is created with permissions --- 0.35s ==> default: kafka : remove zookeeper ------------------------------------------------ 0.04s ==> default: controller : docker login ----------------------------------------------- 0.04s ==> default: kafka : remove kafka ---------------------------------------------------- 0.03s ==> default: controller : pull the latest image of controller ------------------------ 0.03s The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong.

My vagrant script is working now. Thanks.

@boneskull @mateenrehan For the ./hello is failing with:
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

If I ssh into the box I can see that not all Docker containers are running. The controller containers are in exited status and the whole thing is not working.
The strange thing is that building the Vagrant box worked already yesterday. Everything was up and running and I could play with the API. But now all suddenly building the box doesn't work anymore.
Any suggestions how to fix this?

I tried now a couple things to solve this. Fore example editing the /etc/sudoers file like described in this thread, but that didn't solve the problem. I further destroyed the whole Vagrant box and even deleted the .vagrant directory and started again .hello. But still getting this error message:
default: TASK [controller : wait until the Controller in this host is up and running] ***
    default: Friday 10 November 2017  10:11:09 +0000 (0:01:27.343)       0:03:57.068 *******
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (12 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (12 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (11 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (11 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (10 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (10 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (9 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (9 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (8 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (8 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (7 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (7 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (6 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (6 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (5 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (5 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (4 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (4 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (3 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (3 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (2 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (2 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (1 retries left).
    default: FAILED - RETRYING: wait until the Controller in this host is up and running (1 retries left).
    default: fatal: [controller1]: FAILED! => {"attempts": 12, "changed": false, "content": "", "failed": true, "msg": "Status code was not [200]: Request failed: <urlopen error [Errno 111] Connection refused>", "redirected": false, "status": -1, "url": "http://<IP_ADDRESS>:10002/ping"}
    default: fatal: [controller0]: FAILED! => {"attempts": 12, "changed": false, "content": "", "failed": true, "msg": "Status code was not [200]: Request failed: <urlopen error [Errno 111] Connection refused>", "redirected": false, "status": -1, "url": "http://<IP_ADDRESS>:10001/ping"}
    default:
    default: PLAY RECAP *********************************************************************
    default: <IP_ADDRESS>                 : ok=10   changed=9    unreachable=0    failed=0
    default: controller0                : ok=10   changed=2    unreachable=0    failed=1
    default: controller1                : ok=10   changed=2    unreachable=0    failed=1
    default: Friday 10 November 2017  10:12:14 +0000 (0:01:04.302)       0:05:01.370 *******
    default: ===============================================================================
    default: kafka : pull the ches/kafka:<IP_ADDRESS> image ----------------------------- 91.63s
    default: controller : (re)start controller -------------------------------------- 87.34s
    default: controller : wait until the Controller in this host is up and running -- 64.30s
    default: kafka : pull the zookeeper:3.4 image ----------------------------------- 25.54s
    default: kafka : wait until the Zookeeper in this host is up and running --------- 7.31s
    default: kafka : wait until the kafka server started up -------------------------- 5.40s
    default: kafka : create the active-ack topics ------------------------------------ 4.24s
    default: kafka : create the health and the cacheInvalidation topic --------------- 4.21s
    default: kafka : create the invoker topics --------------------------------------- 4.00s
    default: Gathering Facts --------------------------------------------------------- 2.15s
    default: Gathering Facts --------------------------------------------------------- 2.06s
    default: kafka : (re)start zookeeper --------------------------------------------- 0.70s
    default: kafka : (re)start kafka ------------------------------------------------- 0.59s
    default: controller : check if whisk_local_whisks with CouchDB exists ------------ 0.41s
    default: controller : create seed nodes list ------------------------------------- 0.32s
    default: controller : ensure controller log directory is created with permissions --- 0.29s
    default: controller : check if whisk_local_subjects with CouchDB exists ---------- 0.27s
    default: controller : check if whisk_local_activations with CouchDB exists ------- 0.26s
    default: controller : check, that required databases exist ----------------------- 0.18s
    default: controller : docker login ----------------------------------------------- 0.04s
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Feedback is welcome.

The whole error is very reproducible. Tried that already 5 times this morning. Getting always the same results. It fails always by starting the controllers. Every time I log in to the VM I can see that there are two Docker containers for the controller in exit status. Here is the output from docker ps -a inside of the Vagrant box:
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                              PORTS                                                              NAMES
108a1d038452        openwhisk/controller:latest   "/bin/sh -c 'export C"   9 minutes ago       Restarting (1) About a minute ago   <IP_ADDRESS>:8001->2551/tcp, <IP_ADDRESS>:10002->8080/tcp                    controller1
23527dee7b99        openwhisk/controller:latest   "/bin/sh -c 'export C"   9 minutes ago       Restarting (1) About a minute ago   <IP_ADDRESS>:8000->2551/tcp, <IP_ADDRESS>:10001->8080/tcp                    controller0
9483d14b5edf        ches/kafka:<IP_ADDRESS>           "/start.sh"              10 minutes ago      Up 10 minutes                       7203/tcp, <IP_ADDRESS>:9092->9092/tcp                                   kafka
ad63d6e0c58a        zookeeper:3.4                 "/docker-entrypoint.s"   12 minutes ago      Up 12 minutes                       2888/tcp, <IP_ADDRESS>:2181->2181/tcp, 3888/tcp                         zookeeper
f2972d0ec0c9        openwhisk/apigateway:0.8.2    "/usr/local/bin/dumb-"   13 minutes ago      Up 13 minutes                       80/tcp, 8423/tcp, <IP_ADDRESS>:9000->9000/tcp, <IP_ADDRESS>:9001->8080/tcp   apigateway
2e7b11e8dd0d        redis:3.2                     "docker-entrypoint.sh"   13 minutes ago      Up 13 minutes                       <IP_ADDRESS>:6379->6379/tcp                                             redis
e678f31af41c        klaemo/couchdb:2.0            "tini -- /docker-entr"   17 minutes ago      Up 17 minutes                       4369/tcp, 9100/tcp, <IP_ADDRESS>:5984->5984/tcp                         couchdb

@reiz can you have a look at the controller logs? There should be something hinting to the underlying issue. They should be in /tmp/wsklogs.

@markusthoemmes It's working now. I did the following on my host:
sudo visudo -f /etc/sudoers.d/vagrant

Then added this lines to the file:
vagrant ALL=NOPASSWD:ALL
Defaults:vagrant !requiretty

And now it's working again.
Beside that I used the companies VPN tunnel. Might be that it also counts to the solution, as there are some proxies involved here in the network.


”Cozmești”, ”Bălești”, ”Fâstâci”, ”Hordilești” are listed in the drop-down menu

Description:
When user writes ”Cozmești”, ”Bălești”, ”Fâstâci”, ”Hordilești” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.


Unresolved dependencies in using dl4j-spark-ml

When I run sbt console under dl4j-spark-ml project, this error has been occurred. As written in README.md, I deleted ~/ivy2/cache/org.deeplearning4j. But this is not successful.

Delete ~/.ivy2/cache/org.deeplearning4j and similar as necessary.

In order to resolve this problem, we have to delete all ivy cache. Or is there any good workaround here?
Deleting cache and downloading all dependencies again take always a lot of time.

I have the same problem as Lewuathe's.  there are a lot of "unresolved dependency..." errors.
e.g.,
unresolved dependency: org.apache.commons#commons-compress;1.8.1:
unresolved dependency: org.apache.commons#commons-io;1.3.2:
unresolved dependency: com.fasterxml.jackson.core#jackson-core;2.5.1:
unresolved dependency: net.bytebuddy#byte-buddy;0.6.14:
unresolved dependency: org.hamcrest#hamcrest-core;1.3:
unresolved dependency: org.springframework#spring-core;3.2.5.
unresolved dependency: org.reflections#reflections;0.9.10
unresolved dependency: io.netty#netty-buffer;4.0.28
unresolved dependency: org.projectlombok#lombok;1.16.4
unresolved dependency: com.twelvemonkeys.imageio#imageio-tiff;3.1.1:
unresolved dependency: com.twelvemonkeys.imageio#imageio-psd;3.1.1:
unresolved dependency: org.slf4j#slf4j-api;1.7.12
unresolved dependency: io.netty#netty-buffer;4.0.28
unresolved dependency: org.projectlombok#lombok;1.16.4:
unresolved dependency: ch.qos.logback#logback-classic;1.1.2
.......
question is: is there any 3rd-party libs that dl4j-spark-ml requires?

Lots unfortunately. We usually just wipe the cache atm. Please come on gitter in the spark-ml channel. We are happy to answer questions:
https://gitter.im/deeplearning4j/dl4j-spark-ml


feat: add interface to support copy in batches

1. Why is this change necessary?
As a manufacturer of a filesystem I want to be able to use the copyBatch-possibilities with a dedicated Interface until flysystem supports it out-of-the-box.
2. What does this change do, exactly?
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfill them.

hey @tinect what's the state here? Are you still working on it?

hey @tinect what's the state here? Are you still working on it?

Oh yes. I need to test it again and discuss the test case with shyim. I will ping you if I am ready.

Got it 🫡

@AydinHassan It is ready :-)

@tinect what's the reason for the rename? Is it worth it?

@tinect what's the reason for the rename? Is it worth it?

It is more style, while it has less to do with "copy", but with "write" regarding the filesystem/flysystem.

okay thanks. I am off for few days now, and if no one gets to it before, I will organise an internal review end of next week and then we go from there. Hope that's okay!

Thank you, have nice days! :-)

hey @tinect - we had a short discussion and the team is in agreement that the write -> copy change is not really worth the deprecations, could you update the PR please?

@AydinHassan ready :-) thank you.

thanks @tinect I will import it now :)

and it's merged 🎉  Thanks for working with us on this @tinect !


authenticode: Fix lint name

Codecov Report

Merging #27 (b57c2cf) into main (c843483) will decrease coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
- Coverage   87.29%   87.23%   -0.06%
==========================================
  Files           7        7
  Lines         480      478       -2
==========================================
- Hits          419      417       -2
  Misses         61       61

Impacted Files
Coverage Δ

authenticode/src/lib.rs
100.00% <ø> (ø)

... and 1 file with indirect coverage changes


Add Scrape ML Changelog Dashboard and Merged PR Statistics

This PR introduces a modernized changelog dashboard for Scrape ML, complete with:
Project Statistics: Displaying total PRs merged, total contributors
Merged PR Timeline: A section showcasing the most recent 5 merged PRs with relevant details such as title, merge date, contributor, and profile image.
Upcoming Features: A dedicated section highlighting key upcoming features with progress bars.
Footer Update: Replaced the previous footer content with a brief description of Scrape ML and its purpose, along with team credits.

@MastanSayyad  and @sanjay-kv , documentation addition or algo addition is level1/2


Upgrade to Tendermint module 3.1.9. (or latest)

The API has changed to use promises instead of callbacks, which would simplify our code.

pulling in the author (@mappum)

This will be less painful when the tests have been refactored and is low priority so I'm moving it to "For Later".

stale


Building site locally

Hi,
I downloaded the files to my PC, and wanted to build it again.
There were many problems I had to fix with the dashes. I removed them one by one, but there is one left which I could not solve.(I am not a programmer!).
here is the output:  I checked the foot.html but could not trace the dash.
Thanks for the help.
Renate
jekyll s --incremental
Configuration file: /var/www/html/namib_desert/_config.yml
Source: /var/www/html/namib_desert
Destination: /var/www/html/namib_desert/_site
Incremental build: enabled
Generating...
Liquid Exception: Liquid syntax error (line 1): Tag '{%- assign items = site.data[site.metadata] | where_exp: 'item','item.objectid' -%}' was not properly terminated with regexp: /%}/ in _includes/foot.html, included in _layouts/default.html
jekyll 3.1.6 | Error:  Liquid syntax error (line 1): Tag '{%- assign items = site.data[site.metadata] | where_exp: 'item','item.objectid' -%}' was not properly terminated with regexp: /%}/
rake deploy --trace
** Invoke deploy (first_time)
** Execute deploy
jekyll build
Configuration file: /var/www/html/namib_desert/_config.yml
Source: /var/www/html/namib_desert
Destination: /var/www/html/namib_desert/_site
Incremental build: disabled. Enable with --incremental
Generating...
Liquid Exception: Liquid syntax error (line 1): Tag '{%- if site.data.theme.featured-image -%}' was not properly terminated with regexp: /%}/ in _includes/head/head.html, included in _layouts/default.html
jekyll 3.1.6 | Error:  Liquid syntax error (line 1): Tag '{%- if site.data.theme.featured-image -%}' was not properly terminated with regexp: /%}/
rake aborted!
Command failed with status (1): [jekyll build...]
/usr/lib/ruby/vendor_ruby/rake/file_utils.rb:67:in block in create_shell_runner' /usr/lib/ruby/vendor_ruby/rake/file_utils.rb:57:in sh'
/var/www/html/namib_desert/Rakefile:10:in block in <top (required)>' /usr/lib/ruby/vendor_ruby/rake/task.rb:271:in block in execute'
/usr/lib/ruby/vendor_ruby/rake/task.rb:271:in each' /usr/lib/ruby/vendor_ruby/rake/task.rb:271:in execute'
/usr/lib/ruby/vendor_ruby/rake/task.rb:213:in block in invoke_with_call_chain' /usr/lib/ruby/2.5.0/monitor.rb:226:in mon_synchronize'
/usr/lib/ruby/vendor_ruby/rake/task.rb:193:in invoke_with_call_chain' /usr/lib/ruby/vendor_ruby/rake/task.rb:182:in invoke'
/usr/lib/ruby/vendor_ruby/rake/application.rb:160:in invoke_task' /usr/lib/ruby/vendor_ruby/rake/application.rb:116:in block (2 levels) in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:116:in each' /usr/lib/ruby/vendor_ruby/rake/application.rb:116:in block in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:125:in run_with_threads' /usr/lib/ruby/vendor_ruby/rake/application.rb:110:in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:83:in block in run' /usr/lib/ruby/vendor_ruby/rake/application.rb:186:in standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:80:in run' /usr/bin/rake:27:in '
Tasks: TOP => deploy

Hi Renate,
You need to update your jekyll! I didn't notice this before, but it looks
like you're running Jekyll 3.1.6 and Jekyll is currently on 4.1.0 or
something like that. To do this, enter
bundle update
in the command line. That should update all your Ruby gems.
This update will take this problem with the dashes away. It may, of course,
lead to other problems! But hopefully not. At some point, you'll need to
update your Ruby as well, but I think your just at the cutoff right now.
Hopefully this will clear up some of your problems, and I'm sorry I didn't
notice the issue sooner.
-Devin
On Thu, Sep 10, 2020 at 6:29 AM etanus11<EMAIL_ADDRESS>wrote:

Hi,
I downloaded the files to my PC, and wanted to build it again.
There were many problems I had to fix with the dashes. I removed them one
by one, but there is one left which I could not solve.(I am not a
programmer!).
here is the output: I checked the foot.html but could not trace the dash.
Thanks for the help.
Renate
jekyll s --incremental
Configuration file: /var/www/html/namib_desert/_config.yml
Source: /var/www/html/namib_desert
Destination: /var/www/html/namib_desert/_site
Incremental build: enabled
Generating...
Liquid Exception: Liquid syntax error (line 1): Tag '{%- assign items =
site.data[site.metadata] | where_exp: 'item','item.objectid' -%}' was not
properly terminated with regexp: /%}/ in _includes/foot.html, included in
_layouts/default.html
jekyll 3.1.6 | Error: Liquid syntax error (line 1): Tag '{%- assign items
= site.data[site.metadata] | where_exp: 'item','item.objectid' -%}' was not
properly terminated with regexp: /%}/
rake deploy --trace
** Invoke deploy (first_time)
** Execute deploy
jekyll build
Configuration file: /var/www/html/namib_desert/_config.yml
Source: /var/www/html/namib_desert
Destination: /var/www/html/namib_desert/_site
Incremental build: disabled. Enable with --incremental
Generating...
Liquid Exception: Liquid syntax error (line 1): Tag '{%- if
site.data.theme.featured-image -%}' was not properly terminated with
regexp: /%}/ in _includes/head/head.html, included in _layouts/default.html
jekyll 3.1.6 | Error: Liquid syntax error (line 1): Tag '{%- if
site.data.theme.featured-image -%}' was not properly terminated with
regexp: /%}/
rake aborted!
Command failed with status (1): [jekyll build...]
/usr/lib/ruby/vendor_ruby/rake/file_utils.rb:67:in block in
create_shell_runner' /usr/lib/ruby/vendor_ruby/rake/file_utils.rb:57:in
sh'
/var/www/html/namib_desert/Rakefile:10:in block in <top (required)>'
/usr/lib/ruby/vendor_ruby/rake/task.rb:271:in block in execute'
/usr/lib/ruby/vendor_ruby/rake/task.rb:271:in each'
/usr/lib/ruby/vendor_ruby/rake/task.rb:271:in execute'
/usr/lib/ruby/vendor_ruby/rake/task.rb:213:in block in
invoke_with_call_chain' /usr/lib/ruby/2.5.0/monitor.rb:226:in
mon_synchronize'
/usr/lib/ruby/vendor_ruby/rake/task.rb:193:in invoke_with_call_chain'
/usr/lib/ruby/vendor_ruby/rake/task.rb:182:in invoke'
/usr/lib/ruby/vendor_ruby/rake/application.rb:160:in invoke_task'
/usr/lib/ruby/vendor_ruby/rake/application.rb:116:in block (2 levels) in
top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:116:in each'
/usr/lib/ruby/vendor_ruby/rake/application.rb:116:in block in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:125:in run_with_threads'
/usr/lib/ruby/vendor_ruby/rake/application.rb:110:in top_level'
/usr/lib/ruby/vendor_ruby/rake/application.rb:83:in block in run'
/usr/lib/ruby/vendor_ruby/rake/application.rb:186:in
standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:80:in run'
/usr/bin/rake:27:in
'
Tasks: TOP => deploy
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CollectionBuilder/collectionbuilder-sa/issues/5, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTM4GLPRYOGIRZXPHH6SKLSFDIEPANCNFSM4RFBSDGA
.


Added an additional pep440-bare style

This is useful for legacy projects which already used the count from the last tag as their patch/minor number.  Moving to "post#" in the version string causes sorting problems for them.

The Travis errors appear to be due to pre-existent pyflake errors.  I can fix those too if wished.

We're working on reviving this project. Can you rebase/merge master to resolve conflicts and refresh the CI?


Version 4.0.0 has event listener priority 0

Version 4.0.0 has default event listener priority 0, since in v.3.1.1 it was 100 and with new version bundle is not work
v.3.1.1
json-request-bundle-3.1.1\DependencyInjection\Configuration.php
        $rootNode
            ->children()
                ->arrayNode('listener')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('request_transformer')
                            ->defaultValue(RequestTransformerListener::class)
                        ->end()
                        ->scalarNode('priority')
                            ->defaultValue(100)
                        ->end()
                    ->end()
                ->end()
            ->end();

v.4.0.0
json-request-bundle-master\src\DependencyInjection\JsonRequestExtension.php
$listener->addTag('kernel.event_listener', ['event' => KernelEvents::REQUEST]);

Propose is modify
json-request-bundle-master\src\DependencyInjection\JsonRequestExtension.php
$listener->addTag('kernel.event_listener', ['event' => KernelEvents::REQUEST, 'priority' => 100]);

Thanks for mention this issue. I thought something wrong with my request object or something..
I will make a PR later.

For workaround, put this code in services.yaml:
SymfonyBundles\JsonRequestBundle\EventListener\RequestTransformerListener:
        tags:
            - { name: 'kernel.event_listener', event: 'kernel.request', priority: 100 }


haskellngPackages.idris standard libraries are missing from the derivation

The Idris team specifically want to keep the bounds as they are - I'm not sure how Haskell ng would solve this problem.

Well, I guess we could keep the old versions around just so that Idris can compile. It sucks that this is necessary, though. :astonished:

They are happy to increase the bounds, but my understanding is they want more than just "it compiles", but more "it has been tested and shown to work".

Personally, I don't know much about Idris, so take my opinions on this matter with a gain of salt, but I reckon that making it compile is the first step to getting the code tested. If people cannot build Idris with recent version of its dependencies, how are they going to discover whether it works or not?
Anyway, I'll add the missing version of blaze and friends so that we can build the current version in Nix.

Automated tests > fallible humans. Even better are real Idris packages building against a nice Idris builder that uses the Idris package :smile:
I think @puffnfresh was working on such a thing at some point.

Now Idris builds but doesn't work properly
$ result/bin/idris
Can't find import Builtins
Can't find import Prelude

(I'm at b3f76d6030d8fed066611cf44895903a42902522.)
FWIW, Idris installed using cabal-install works.

https://github.com/idris-hackers/idrispkgs
@falsifian I had that problem upgrading Idris in that repo recently. No idea what changed in the build process to make that happen :sob:

I know the problem though: for some reason the Haskell + Nix build doesn't copy across the library directories which are meant to go into share/x86_64-linux-ghc-7.8.4/idris-0.9.17. Some directories do get copied over, such as idrisdoc and rts. It's just not the libraries.
:crying_cat_face:

Is it possible that Idris can't deal with being installed by cabal copy && cabal register rather than cabal install? Maybe they have some custom Setup.hs code that doesn't work in that case?

Their https://github.com/idris-lang/Idris-dev/blob/master/Setup.hs seems to have generalized code intended to handle both cabal install and cabal copy.
Attempting to ping @david-christiansen (random contributor to Idris's Setup.hs, but GitHub isn't auto-completing it) --- nix-specific stuff aside, does this problem of libraries not being copied over look familiar?

I did a diff between the versions of Setup.hs:
@@ -57,6 +57,13 @@ usesGMP flags =
     Just False -> False
     Nothing -> True

+execOnly :: S.ConfigFlags -> Bool
+execOnly flags =
+  case lookup (FlagName "execonly") (S.configConfigurationsFlags flags) of
+    Just True -> True
+    Just False -> False
+    Nothing -> True
+
 isRelease :: S.ConfigFlags -> Bool
 isRelease flags =
     case lookup (FlagName "release") (S.configConfigurationsFlags flags) of
 @@ -106,7 +113,7 @@ generateVersionModule verbosity dir release = do
                                   "gitHash :: String\n" ++
                                   if release
                                     then "gitHash = \"\"\n"
-                                    else "gitHash = \"-git:" ++ h ++ "\"\n"
+                                    else "gitHash = \"git:" ++ h ++ "\"\n"

 -- Generate a module that contains the lib path for a freestanding Idris
 generateTargetModule verbosity dir targetDir = do
 @@ -176,7 +183,7 @@ getVersion args flags = do
       let buildinfo = (emptyBuildInfo { cppOptions = ["-DVERSION="++hash] }) :: BuildInfo
       return (Just buildinfo, [])

-idrisBuild _ flags _ local = do
+idrisBuild _ flags _ local = unless (execOnly (configFlags local)) $ do
       buildStdLib
       buildRTS
    where
 @@ -199,7 +206,7 @@ idrisBuild _ flags _ local = do
 -- -----------------------------------------------------------------------------
 -- Copy/Install

-idrisInstall verbosity copy pkg local = do
+idrisInstall verbosity copy pkg local = unless (execOnly (configFlags local)) $ do
       installStdLib
       installRTS
    where

So a condition for installing the stdlib has been added. This must have broken the Nix build somehow.

@david-christiansen should that condition for Nothing be False instead of True?

Success!
     ____    __     _
    /  _/___/ /____(_)____
    / // __  / ___/ / ___/     Version 0.9.17-git:PRE
  _/ // /_/ / /  / (__  )      http://www.idris-lang.org/
 /___/\__,_/_/  /_/____/       Type :? for help

Idris is free software with ABSOLUTELY NO WARRANTY.
For details type :warranty.
Idris> ```

Awesome; thanks! So does Haskellng get updated all at once to hackage latest whenever someone runs a script?

@falsifian, I regularly update the Haskell NG package set. Once the Idris team releases a new version with the fix, we'll have it shortly after.


Show Dynamic values in legend

Description
Is it possible to show dynamic values to legend?
I know lines, OHLCV are currently shown in legend. But how to show dynamic/arbitrary values in the legend?
may be can we show marker values in the legend?
Thanks for your amazing work here!
Code example
chart.legend(visible=True, data={'enterTrade': True}, time=time)

Method of implementation
No response

@louisnw01 FYI , Thanks!

Hey @tradinworld,
Seems like you got the solution, can you share the solution over here.

@mehboob-dev sorry for late reply. i am yet to find solution for this. i think dynamic updates to legend is not supported for marker(), it is currently supported only for lines and default ohlcv values.
so i was just proposing to add a new feature to show marker values in the legend .
thanks !
@louisnw01 Appreciate your help on this!

I'm not entirely sure what you're after; could you share more information?
Louis


Fixed issue with logic to import Lodestone Id

Updated HTML scraping logic for retrieving uid from lodestone character search
Fixed build issue due to invalid package version in csproj

Checking the code, it seems like this CICUID property isn't used anywhere in the client. Is there a specific purpose for it?

I can't even remember what it's used for... but I'll be pushing an update that includes this fix :) Thanks!


Prisma Prepared Statement 's*' already exists

Bug description
I'm currently using the prisma adapter with nextauth while using Vercels new Postgres DB add-on. I'm attempting to do simple things like fetching session via prisma adapter but I keep getting a ConnectorError that states prepared state "s0" already exists.
This even happens when I try to deploy the app to vercel with my startup command:
"vercel-build": "npm run prisma-format && npx prisma generate && prisma migrate deploy && next build". I don't know if this is specific to Vercels Postgres DB add-on but I've seen other users experiencing something similar with other databases i.e here.
How to reproduce

Go to Vercel and create a postgres db datastore once you've created an account and connected your app
Copy the env vars provided on the datastores page:

POSTGRES_URL="postgres://user:password@postgres_host_url:post/db"
POSTGRES_PRISMA_URL="postgres://user:password@ep-autumn-band-804977-pooler.us-east-1.postgres.vercel-storage.com:5432/db?pgbouncer=true&connect_timeout=15"
POSTGRES_URL_NON_POOLING="postgres://user:password@ep-autumn-band-804977.us-east-1.postgres.vercel-storage.com:5432/db"
POSTGRES_USER="*"
POSTGRES_HOST="ep-autumn-band-804977-pooler.us-east-1.postgres.vercel-storage.com"
POSTGRES_PASSWORD=""
POSTGRES_DATABASE="db"

Add the following to the top of schema.prisma file

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider          = "postgresql"
  url                   = env("POSTGRES_URL")
}

Setup your nextauth configs like so in [...nextauth].ts:

import NextAuth from "next-auth";
import GoogleProvider from "next-auth/providers/google";
import { PrismaAdapter } from "@next-auth/prisma-adapter";
import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();

export default NextAuth({
  adapter: PrismaAdapter(prisma),
  providers: [
    GoogleProvider({
      clientId: process.env.GOOGLE_CLIENT_ID,
      clientSecret: process.env.GOOGLE_CLIENT_SECRET,
    }),
  ],
});

If you're using nextauth you should have something like this in _app.tsx:

import { SessionProvider } from "next-auth/react"
export default function App({
  Component,
  pageProps: { session, ...pageProps },
}) {
  return (
    <SessionProvider session={session}>
      <Component {...pageProps} />
    </SessionProvider>
  )
}

Run project and see multiple errors returned that state prepared statement "s0" already exists.

C:\app_dir\node_modules\@next-auth\prisma-adapter\dist\index.js:213:45

  210 getUserByEmail: (email) => p.user.findUnique({ where: { email } }),
  211 async getUserByAccount(provider_providerAccountId) {
  212     var _a;
  213     const account = await p.account.findUnique(
Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState(E42P05), message: "prepared statement \"s0\" already exists", detail: None, hint: None, position: None, where_:
None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("prepare.c"), line: Some(412), routine: Some("StorePreparedStatement") }) }), transient: false })

Expected behavior
I've followed the setup from both nextauth and vercel but I'm still getting these errors. Ideally I should be able to make simple db operations.
Prisma information

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider          = "postgresql"
  url               = env("POSTGRES_URL")
}

model Account {
  id                String  @id @default(cuid())
  userId            String
  type              String
  provider          String
  providerAccountId String
  refresh_token     String?
  access_token      String?
  expires_at        Int?
  token_type        String?
  scope             String?
  id_token          String?
  session_state     String?
  user              User    @relation(fields: [userId], references: [id], onDelete: Cascade)

  @@unique([provider, providerAccountId])
}

model Session {
  id           String   @id @default(cuid())
  sessionToken String   @unique
  userId       String
  expires      DateTime
  user         User     @relation(fields: [userId], references: [id], onDelete: Cascade)
}

model Product {
  id              String   @id @default(cuid())
  createdAt       DateTime @default(now())
  updatedAt       DateTime @updatedAt
  name            String
  description     String?
  published       Boolean  @default(false)
  productImageUrl String
  userId          String
  brand           String
  condition       String   @default("New")
  price           Decimal
  user            User     @relation(fields: [userId], references: [id])
}

model User {
  id              String    @id @default(cuid())
  name            String?
  email           String?   @unique
  emailVerified   DateTime?
  image           String?
  active          Boolean?
  stripeAccountId String?
  accounts        Account[]
  products        Product[]
  sessions        Session[]
}

model ar_internal_metadata {
  key        String   @id @db.VarChar
  value      String?  @db.VarChar
  created_at DateTime @db.Timestamp(6)
  updated_at DateTime @db.Timestamp(6)
}

model schema_migrations {
  version String @id @db.VarChar
}

lib/prismadb.ts
import { PrismaClient } from "@prisma/client"

declare global {
  var prisma: PrismaClient | undefined
}

const client = globalThis.prisma || new PrismaClient()
if (process.env.NODE_ENV !== "production") globalThis.prisma = client

export default client

pages/api/auth/[...nextauth].ts
import NextAuth from "next-auth/next";
import GoogleProvider from "next-auth/providers/google";
import EmailProvider from "next-auth/providers/email";
import { PrismaAdapter } from "@next-auth/prisma-adapter";
import { signInOrCreateUser } from "../lg/user/user";
import client from "@/lib/prismadb";

export default NextAuth({
    adapter: PrismaAdapter(client),
    providers: [
        GoogleProvider({
            clientId: process.env.GOOGLE_CLIENT_ID,
            clientSecret: process.env.GOOGLE_CLIENT_SECRET,
            allowDangerousEmailAccountLinking: true
        })
    ],
    secret: process.env.NEXTAUTH_SECRET,
    callbacks: {
        signIn: async ({ user, account, profile, credentials }) => {
            const isAllowedToSignIn = true;
            if (isAllowedToSignIn) {
                await signInOrCreateUser({
                    id: user.id,
                    name: user.name,
                    email: user.email,
                    active: true,
                    image: user.image
                })
                return true
            } else {
                // Return false to display a default error message
                return false
                // Or you can return a URL to redirect to:
                // return '/unauthorized'
            }

        },
        session: async ({ session, user, token }) => {
            return session;
        }
    },
    pages: {
        signIn: '/auth/signin'
    }
});

helper method
export const fetchUserByEmail = async (email: string | null | undefined) => {
    if (!email) return;

    return await client.user.findUnique({
        where: { email: email },
        include: { products: true }
    })
};

pages/account/index.tsx
import {  NextPageContext } from "next";
import { useSession, getSession } from "next-auth/react";
import { SESSION_STATUS_AUTHENTICATED } from "../../constants/constants";
import { fetchUserByEmail } from "../api/lg/user/user";
import Account from "../../components/account/Account";
import { User } from "../../interfaces/user/User";

type Props = {
    user: User
};

const Index = (props: Props) => {
    const { user } = props;
    console.log("USER", user);
    const { status } = useSession();

    if (status === SESSION_STATUS_AUTHENTICATED) {
        return (
            <main>
                <Account user={user}/>
            </main>
        )
    }
};

export default Index;

// Export the `session` prop to use sessions with Server Side Rendering
export const getServerSideProps = async (context: NextPageContext) => {
    const session = await getSession(context);

    if (!session) {
        return {
            redirect: {
                destination: "/"
            }
        }
    }

    const email = session.user?.email;
    const userData = await fetchUserByEmail(email);
    const user = JSON.parse(JSON.stringify(userData));

    return {
        props: {
            user,
        }
    }
}

Environment & setup

OS: Windows 10 64-bit
Database: Vercel Postgres
Node.js version: 16.13

dependencies
{
  "@next-auth/prisma-adapter": "^1.0.5",
   "@prisma/client": "^4.14.1",
   "next": "13.0.3",
   "next-auth": "^4.16.4",
}

devDependencies
Other dependencies
{
 "prisma": "^4.14.1",
}

Prisma Version
prisma                  : 4.14.1
@prisma/client          : 4.14.1
Current platform        : windows
Query Engine (Node-API) : libquery-engine d9a4c5988f480fa576d43970d5a23641aa77bc9c (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli d9a4c5988f480fa576d43970d5a23641aa77bc9c (at<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c
Default Engines Hash    : d9a4c5988f480fa576d43970d5a23641aa77bc9c
Studio                  : 0.484.0

url                   = env("POSTGRES_URL")
shadowDatabaseUrl = env("POSTGRES_URL_NON_POOLING")
``

POSTGRES_URL="postgres://user:password@postgres_host_url:post/db"

Which URL is postgres_host_url? Is it the ep-autumn-band-804977-pooler one, or something completely different? If it is a connection pooled one, that might make sense -
(Sidenote: Right now your project would also use the pooled URL when running migrate dev and other CLI commands, which might lead to problems.)

Ping @littlegromexchange - Can you help us by responding to the question?

Also happening intermittently when running the API though Cloudflare wrangler locally

I was having this issue on Vercel using Vercel Postgres.
The only way I was able to fix it was only using the POSTGRES_URL_NON_POOLING param in Prsima schema (i.e using the non-pooling URL).
datasource db {
  provider  = "postgresql"
  url       = env("POSTGRES_URL_NON_POOLING")
  directUrl = env("POSTGRES_URL_NON_POOLING")
}

Confusingly, the vercel prisma docs say

We recommend using the POSTGRES_URL_NON_POOLING Environment Variable instead.

But their example config still uses pooling URL.
datasource db {
  provider = "postgresql"
  url = env("POSTGRES_PRISMA_URL") // uses connection pooling
  directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
  ...
}

I will just stick with the non poolling for now and check back later to see of the pooling works.

I was having this issue on Vercel using Vercel Postgres. The only way I was able to fix it was only using the POSTGRES_URL_NON_POOLING param in Prsima schema (i.e using the non-pooling URL).
datasource db {
  provider  = "postgresql"
  url       = env("POSTGRES_URL_NON_POOLING")
  directUrl = env("POSTGRES_URL_NON_POOLING")
}

Confusingly, the vercel prisma docs say > We recommend using the POSTGRES_URL_NON_POOLING Environment Variable instead.
But their example config still uses pooling URL.
datasource db {
  provider = "postgresql"
  url = env("POSTGRES_PRISMA_URL") // uses connection pooling
  directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
  ...
}

I will just stick with the non poolling for now and check back later to see of the pooling works.

Interestingly ran into this exact issue - was able to log in once in my deployment and then it immediately logged me out on refresh. Tried logging in again to no avail. So I checked the vercel-postgres logs for an API call with a 500 error response and saw "prepared statement S3 already exists" in the logs. That led me to this post, so I updated my schema:
datasource db {
  provider  = "postgresql"
  url       = env("POSTGRES_PRISMA_URL_NON_POOLING") // uses connection pooling
  directUrl = env("POSTGRES_PRISMA_URL_NON_POOLING") // uses a direct connection
}

And that resolved the issue. Now I am able to log in! So thank you @cevaris +1

That is weird @taylor-lindores-reeves and should not be necessary. You were using POSTGRES_PRISMA_URL before for url? What values does it have in your deployment? Does it include pgbouncer=true in the connection string?

@janpio i have no idea, the environment variable names were provided in the Vercel documentation and they are not editable in the Vercel deployment UI.

I am able to connect locally to supabase but my vercel instance is not able to connect with the same exact configuration

I'm actually having this issue right now with Supabase. Similar setup with having pooling and non-pooling connection:
datasource db {
  provider          = "postgresql"
  url               = env("DATABASE_URL")
  directUrl         = env("DIRECT_URL")
  shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
  schemas           = ["auth", "public"]
}

Still happening in Dec 2024 with Next.js + Prisma + Supabase + Vercel.


Building a project with code from the voronoi fails in Visual Studio

Steps to reproduce:

Clone the code
Create a new console project in the Visual Studio
Add a new cpp file and put the following code there:

#include <iostream>
#include "jc_voronoi.h"

int main()
{
	return 0;
}

Go to Solution Explorer -> Project Properties -> C/C++ -> General
Add a path to the voronoi\src folder (of the cloned code) in Additional Include Directories property.
Apply
Try to build Solution by using hotkey Ctrl + B

As the result you will get the following error:

error C2526: 'jcv_delauney_begin': C linkage function cannot return C++ class 'jcv_delauney_iter_'
message : see declaration of 'jcv_delauney_iter_'

My environment:
Microsoft Visual Studio Professional 2022 (64-bit) - Version 17.4.4

I try doing the same at home in Visual Studio Community 2022 (64-bit) - Version 17.4.3 and the project was built successfully.

Thanks!
I'll try to fix this warning today. It was an oversight on my part. It should be easy to fix by passing in a pointer to the iterator when creating it.

@JCash could you explain why it happens, please? I can't find a good article about this problem in VS.

Compile issue is now fixed in https://github.com/JCash/voronoi/releases/tag/v0.9.0


missing Wast files

I am trying to build the Testnet-Single-Host-Multinode  and I am running to the following error...
1645753ms thread-0   main.cpp:1158        main                 ] Failed witherror: Assert Exception (10)
!wast.empty(): no wast file found build/contracts/eosio.bios/eosio.bios.wast

but the file in is present in the give directory.

Yes, you will need to build it yourself using eosiocpp -o eosio.bios.wast eosio.bios.cpp.
If it throws an error on the eosiolib/eosio.hpp include remove the eosiolib/ from the include in the cpp file.

hi, thank you for that...
it didn't throw an error at that point  ut 1st was the issue with the file directory,
clang-4.0: error: no such file or directory: 'eosio.bios.cpp'
clang-4.0: error: no input files

as handling that i am now having issues with the #include <eosio.bios/eosio.bios.hpp> in the eosio.bios.cpp file. the file is available I have tried a different system of referencing but nothing.

@dunkan50 any update? have you been able to solve this issue?

You need to run this command in ${EOSIO_SOURCE} directory, NOT IN "/build/program/cleos" directory.I solve it with this way. @dunkan50 @mlawand

@mlawand no yet been held up for some time,  but now I want to try the suggestion by @zmcNotafraid

@zmcNotafraid's method works but it doesn't make sense to me. How doe it work on the root directory?
cleos --wallet-port 8899 set contract eosio build/contracts/eosio.bios

it should be noted the above command is meant to be run the root directory.
@nsjames  @mlawand

@dunkan50  You can read WIKI->Testnet Single Host Multinode->Start the Second Producer Node.
This command use to start additional nodes.

@dunkan50  Can you tell me how you had handle these problems :
clang-4.0: error: no such file or directory: 'eosio.bios.cpp'
clang-4.0: error: no input files
Thanks in advance

Strange, my eosio.bios.wast file exists & I'm referencing it correctly using the full file path. However, eosio.bios.cpp does not exist, instead exist eosio.bios.cpp.bc
When I compile eosiocpp -o eosio.bios.wast eosio.bios.cpp.bc it gives some warnings but still seems to compile. The .wast file exists, and I can cat it fine.
I'm setting this up with Docker, maybe that's a problem?

I'm also encountering this issue @eosbet-io, are you using a cleos alias referencing docker-compose exec keosd?


One or more errors occurred. (Could not resolve the path '#/constraints/pricing'.)

Hi
Using the following code  I am getting the above error.
var schema2 = await NJsonSchema.JsonSchema4.FromUrlAsync("https://realtime-listings.webservices.zpg.co.uk/docs/latest/schemas/listing/update.json");
If I download the update.json schema  and remove the lines (just removing the first line then has an error  on the second line /constraints/price_per_unit_area) .
{ "$ref" : "#/constraints/pricing" },
{ "$ref" : "#/constraints/price_per_unit_area" },
I am using the following code in this case,
var schema2 = await NJsonSchema.JsonSchema4.FromFileAsync(fileLocation);
I can then go ahead and create the c# class, but without the "$ref" Lines.
var generator = new NJsonSchema.CodeGeneration.CSharp.CSharpGenerator(schema2);
var code = generator.GenerateFile();
It would be nice to be able to just run the schema through without having to edit it.
The Schema is available at the above URL, or I can upload it.
The Schema does seem to be valid.
Please could you Look into this.
Thanks
Gerry

Same issue as: https://github.com/RSuter/NJsonSchema/issues/450
The property constraints is not a known property (it seems to be a dictionary of key/schema) and thus it is not serialized to a schema dictionary and cannot be resolved...


fix(Router): Wrap usages of .detectChanges() to avoid a crash.

Closes https://github.com/dart-lang/angular/issues/1354.

This was replaced by @leonsenft


Yarn link workflows broken

When using yarn link on packages which leverage HTML sanitization[1] in fusion-core Symbols break across packages.
STR:

cd fusion-core && yarn link fusion-core
cd fusion-plugin-react-router && yarn link fusion-plugin-react-router
cd myapp && yarn link fusion-core && yarn link fusion-plugin-react-router
Load your app in a browser.

Expected result:

Page loads and everything works fine.

Actual result:

See an error regarding escaped context HTML not appearing.

[1] https://github.com/fusionjs/fusion-core/blob/4ecade8024468c2170db0edfa131263b9a0e3c62/src/sanitization.js#L20

Some things to look into:

https://github.com/yarnpkg/yarn/issues/4206
https://github.com/whitecolor/yalc


[Fix] jsx-indent with tabs

The test is currently failing. I could use some direction on how to fix it!
Fixes #1057

Getting pretty close on this one!

Pinging those who have touched this rule in one way or another: @yannickcr, @Jorundur, @eelyafi, @jayphelps, @petersendidit, @voxpelli
Thanks friends!

Don't merge this yet, just found a bug with the following code:

  {
    foo &&

  }

We're getting a bad report on the middle-most div. Looking into fixing that.

Just noticed that this is actually by design (a few valid tests showing this). I'm going to add a config option to enable this style.

Ok, I've updated the PR with documentation for the new configuration option indentLogicalExpressions

Oh, and just an argument for the indentLogicalExpressions pattern is the language-babel plugin for Atom (761,282 downloads) has an option to auto-indent JSX and this is how it indents things. Also I personally prefer this indentation style FWIW :)

I published my branch as @kentcdodds/eslint-plugin-react if anyone wants to try it out.

I've verified that this works on my work project :+1:

Is this multiple fixes to separate indention cases?

Is this multiple fixes to separate indention cases?

<ng-sheepishly>Yes, it is...</ng-sheepishly>

Originally, it was to fix a single issue with --fix, but I noticed that in my project we also indent multi-line LogicalExpressions so I slipped that in. I'd definitely prefer to just merge things together (as they are now), but can create a separate PR if people really feel strongly about this...

It's just a bit hard for me to follow with the various changes for separate things.

Understood @jayphelps, if others feel this way, then I'll split things up.

Could you perhaps edit the original post to include a summary of the changed behaviors?

Updated, let me know if more details would be helpful. Thanks @jayphelps!


SDK inconsistency across langs: support AZURE_CLIENT_SEND_CERTIFICATE_CHAIN from DAC

Is your feature request related to a problem? Please describe.
In order to implement SNI cert-based auth one has to leverage ClientCertificateCredential instead of DefaultAzureCredential. This happens because the latter does not support the AZURE_CLIENT_SEND_CERTIFICATE_CHAIN env var so that appropriate x5c header is sent. If a codebase has to support both SNI and MSI auth it follows it must have different code paths for each. This makes the auth logic convoluted and can lead to code obscurity.
Describe the solution you'd like
Add support for AZURE_CLIENT_SEND_CERTIFICATE_CHAIN when using DefaultAzureCredential() so that it can pick up said env var and send the appropriate x5c header.
Additional context
Other azure SDKs already have support for that (golang and .NET). It makes sense to make this behaviour uniform acroos all SDKs.

Other azure SDKs already have support for that (golang and .NET). It makes sense to make this behaviour uniform acroos all SDKs.

Thanks for reporting this issue, @maurolscla.  @scottaddie @christothes @g2vinay can you please follow up?

@KarishmaGhiya this tracking issue likely needs to be duplicated for other language repos


Labeling of matrices rows and columns

Describe the solution you'd like:
Being able to render matrices with labels for the rows and columns.
Check this SO answer for how it might look like.
Link to or name of a (La)TeX package that provides the same feature:
kbordermatrix or blkarray for example
Describe alternatives you've considered:
I don't know of any

That looks really complicated.  It uses commands \savestack and \stackon.  Are these commands that are built into LaTeX or something that the package adds?

I have no clue, never used LaTeX in my life.

For the moment you can simulate the effect in KaTeX: for the nicematrix example linked to, you can use the following code:
\begin{array}{rcl} &\color{blue}\begin{array}{c}C_1\ C_2\ C_3\ C_4\end{array}\\ \color{blue}\begin{matrix}L_1\\L_2\\L_3\end{matrix}\color{black}\hspace{-1em} &\begin{pmatrix}a&b&c&d\\e&f&g&h\\i&j&k&l\end{pmatrix}&\hspace{-1em} \color{blue}\begin{matrix}L_1\\L_2\\L_3\end{matrix}\\ &\color{blue}\begin{array}{c}C_1\ C_2\ C_3\ C_4\end{array} \end{array}

The row labels aren't a problem but you may have to fiddle with spacing to get the columns lined up.