WipEout® 2048 [PCSA00015]

Game summary

Game name: WipEout® 2048
Game serial: PCSA00015
Game version: v1.00

Vita3K summary

Version: v0.1.4
Build number: 2398-a6301712
Commit hash: https://github.com/vita3k/vita3k/commit/a630171274b39fc8139f07213f1552989e9e9390
CPU backend: Dynarmic

Test environment summary

Tested by: exaltedb
OS: Windows 11 Build 22000.434
CPU: AMD Ryzen 5 2600
GPU: AMD Radeon RX 580 8GB
RAM: 16 GB

Issues
Game boots and runs through menus, though extremely slowly whenever anything 3d is shown (~1 second/frame); 2d screens, like the initial menu, run at least 60fps.
3d rendering is completely busted; 2d elements render ok.
Also aside from a singular beep at startup, audio is missing entirely.
final line from log:
"[19:07:38.396] |W| [renderer::gl::sync_texture]: Texture has null data."
Screenshots

Log
vita3k.log
Recommended labels

In-Game -
graphics bug
audio Missing

As of Vita3K/Vita3K@a1588d4 WipEout 2048 is now playable with no issues and better FPS even at 4K upscaling. Only problem is FPS dips. Also audio works.

As of Vita3K/Vita3K@a1588d4 WipEout 2048 is now playable with no issues and better FPS even at 4K upscaling. Only problem is FPS dips. Also audio works.

I don´t know if it has to do with hardware, but on my dual core E5700 goes ingame, but freezes while loading first stage. The counting stops at 56 %

It is on more powerful hardware

@ArbestRi Could you make a proper report with a screenshot and the log please?

I am testing Wipeout 2018 PCSA00015 v1.0 ( includes all DLC )
Sometimes goes ingame on latest versions of vita3k, up to "Game Mode" menu. When I choose "Single player campaign", and then the track "Empire Climb" (first track), it starts loading, and then gets stuck at 56%, or 75%, or lately it crashes before menus, and sometimes reaches 99% and then crashes before showing graphics.
As far as I can see the crashes are random.
My specs: Pentium dual core E5700 - 8 GB RAM - GPU NVidia GForce GT 640 1 GB Vram
Some other games I tested work fine, mainly at lower fps because my PC is low end.
I attach two logs, hope you can figure out what is the issue.

Vita3k v.<IP_ADDRESS>7 date 14-05-22, crash at 99% while loading first track.

Vita3k v.<IP_ADDRESS>83 date 18-06-22, crash before getting to the menu.

vita3k crash at 99% on v.<IP_ADDRESS>7.log
vita3k crash before menu on v<IP_ADDRESS>83.log

Just a screenshot of the game when it can reach the menu while loading first track:

On mine, I get through the menus and when loading into an event it crashes.

Crashes as the seizure warning screen fades to black.
Tested base game, then with all DLCs. Tested with automatic and libpgf + libpvf module modes. Tested with Dynarmic CPU Backend. Tested with OpenGL and Vulkan (Vulkan crashes with a yellow screen behind menu elements instead of the normal game's background, likely because I have an AMD card).
Windows 7 SP2 64bit, Intel i7 6700k, 8gb RAM, Radeon RX 570 8gb.
vita3k.log

Got it to go ingame but the ship model is missing

Ingame+ (performance dips sometimes)

Crashes as the seizure warning fades, swapping to Vulkan gets to the first loading screen before it crashes out. Every CPU and GPU option tried, but it does not effect it beyond the swap to Vulkan. Other games have been playable, seems to be an issue with the GPU implementation, the logs get cut off as it crashes and if the issue causing the crash is logged, it is unclear. Using version Vita3K v0.1.6 3022-0e1e2573.
CPU: i7-9700k
GPU: RTX 3070
RAM: 32gb DDR4

Works on macOS

I made a video to prove it runs on Mac:
https://youtu.be/x9fbmYxeR24

System specifications:

Windows 10
Intel Core i5-8400
GeForce GTX 1060 3GB
16GB DDR4 RAM

Vita3K v0.1.6 3095-b28657ac
CPU backend: Dynarmic
GPU backend: OpenGL
Game starts fine but with some menu graphics missing and extreme lag during races. Favorite Ship on the profile screen flickers a lot after waiting a while, all music stops working when leaving a race. Game constantly spams "unknown base format" to the emulator console.

Broken UV mapping on the campaign grid:

Broken menu transparency:

@ArbestRi

Got it to go ingame but the ship model is missing

Not a bug. The ship model is missing because you're in first person mode, look how the HUD is curved.

@GamingDucking set modules mode: Automatic

is playable for powerful PCs and audio is fixed as of https://github.com/Vita3K/Vita3K/commit/b39d9bc427ceaa9d3f68eeb6f58fcaea0049512b.
Screenshots

Log
vita3k.zip
Recommended Labels

Playable

is playable for powerful PCs and audio is fixed as of Vita3K/Vita3K@b39d9bc.
Screenshots

Log
vita3k.zip
Recommended Labels

Playable

yes it's playable but it runs at half speed in tracks.
the intro video and main menu is 60 fps (16 ms) = normal
during races it's 30 fps (32 ms) = half speed
I'm on win 10 22h2
i5 12600k
rtx 3060 12Gb
32 gb ram

Races are capped at 30 fps, so that's not an issue, it's just how the game works. However, some issues do persist, such as music stopping, black background on load screens, performance dips and missing bloom/lighting on tracks; if you compare Vita3K Screenshots to native Vita screenshots, there's a huge lighting difference, resulting in Vita3K looking much darker.

i think vitagrafix is better
https://github.com/Electry/VitaGrafixPatchlist/blob/master/patchlist.txt#L795C1-L795C1

I used HxD and patched the address, having in mind the headers and stuff.

I used HxD and patched the address, having in mind the headers and stuff.

interesting, I can use hxd but I don't know the exact way to do it for this eboot, can you share a mini tutorial ?

Unfortunately, I'm afraid it might be illegal to share how to modify a game, but I can refer you to a guide by Electry on what each thing means on their patches. The address refers to the decrypted binary, the encrypted bin has some headers so the position is a bit farther than specified.
This is the guide: https://github.com/Electry/VitaGrafix/wiki/The-VG-Language™

Thanks for sharing, I tried but didn't really understand .

hi, i installed the 2 DLC packs and the network pass, but they aren't detected. The installation was succesfully:

I have same issue with several others games like Muramasa Rebirth and Dariusburst Chronicles: DLC aren't detected
Do you know how to fix this?
thanks!

Currently there are two major bugs, 1. The music completely dies if you skip songs at any point during a race when one's already begun playing, and it stays muted until restart 2. The livery colors on the profile and team select screen are inverted (only the hue, not the saturation or lightness).
No other apparent bugs. Recommended tag as Playable.

Ship textures in the frontend GUI are no longer the wrong color

Playable on PC and mobile, no performance issues, no gamebreaking bugs or glitches.
I am unable to activate the HD / Fury dlc. Does anybody know how to do that?

Playable on Samsung S21 FE 5G
6 GB of RAM
Qualcomm snapdragon 888
Adreno 660
turnip-23.3.0 driver


Update the readme so it doesn't reference those old Result objects

There are some legacy examples in the docs

mostly covered in #88


Brotli build failure

Host Environment

OS: Windows 11
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
`./vcpkg install cpprestsdk:x64-windows
Failure logs
Starting package 1/3: brotli:x64-windows
Building package brotli[core]:x64-windows...
-- Downloading https://github.com/google/brotli/archive/e61745a6b7add50d380cfd7d3883dd6c62fc2c71.tar.gz -> google-brotli-e61745a6b7add50d380cfd7d3883dd6c62fc2c71.tar.gz...
-- Cleaning sources at C:/Program Files/vcpkg/buildtrees/brotli/src/6c62fc2c71-7c6c2710e9.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Program Files/vcpkg/downloads/google-brotli-e61745a6b7add50d380cfd7d3883dd6c62fc2c71.tar.gz
-- Applying patch install.patch
-- Applying patch fix-arm-uwp.patch
-- Applying patch pkgconfig.patch
-- Applying patch fix-ios.patch
-- Using source at C:/Program Files/vcpkg/buildtrees/brotli/src/6c62fc2c71-7c6c2710e9.clean
-- Configuring x64-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: ninja -v
    Working Directory: C:/Program Files/vcpkg/buildtrees/brotli/x64-windows-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      C:\Program Files\vcpkg\buildtrees\brotli\config-x64-windows-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_cmake.cmake:356 (vcpkg_execute_required_process)
  ports/brotli/portfile.cmake:14 (vcpkg_configure_cmake)
  scripts/ports.cmake:140 (include)

Error: Building package brotli:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: brotli:x64-windows
  Vcpkg version: 2021-09-10-2059ef11aa6067e6f59b0d939c5d17e3c5c47d3e

Sry Fixed

@kiki7000  how did you fix it?


Module not found: Can't resolve 'util/types'

Issue on ./node_modules/undici/lib/fetch/body.js:21:40
Dependency of Serpapi
Also I needed to install net manually

@santa-bringyouwishes We've removed all dependency requirements for the next release.

@santa-bringyouwishes We've removed all dependency requirements for the next release.

@zyc9012  Thanks for your comment
I am using ver 1.1.1
Next release exists?

I am using ver 1.1.1
Next release exists?

Not released yet (but already on master branch). We'll release it soon.

@ByteBallet New version 2.0.0 is released. Please check if it fixes this issue. Thank you.


Hi! I've been converting (sometimes creating from scratch) several SVG logos and saving them on my repository. Maybe you wanna look at them and incorporate them into your repository.
https://github.com/denilsonsa/denilsonsa.github.io/tree/master/icons
I always hand-edit the SVG code to make the code more readable and to remove inkscape-specific stuff. I leave a <!-- comment --> in each file pointing to the source material I used.
I've submitted some of them to https://github.com/johan/kilobyte-svg-challenge, and it would be great to also have them on your repository (which seems to be the best collection of SVG logos, AFAIK).

Hey @denilsonsa
Sweet, I already downloaded some and I'll add them soon.
However I edit all the logos manually and strip everything not used in the graphic itself and leave them with the same size and syntax. Is that ok?
[s]

@denilsonsa And I already vectorized over 100 logos from raster images. Some of my friends call me crazy but I find it very soothing. :+1:

Added some @ bb6c6084557a0c1da093a91b02d52471a1674660

Well, it would be awesome to have a blog post or a screencast showing how you do it. Is it completely manual? Do you use any tracing tool (and later fine-tune the result)? And when the logo looks a bit complex? And when it is hard to find a high-res version?
By the way, I've added/updated a few logos today: https://github.com/denilsonsa/denilsonsa.github.io/commits/master/icons

However I edit all the logos manually and strip everything not used in the graphic itself and leave them with the same size and syntax. Is that ok?

Of course it is okay! I see it is not too different from the code style from my SVGs (which can be summed up as: "keep it clean").

@denilsonsa
There isn't a clear process for vectorizing.
For simple geometric logos I prefer to draw the paths manually. For the rest I always try to trace it first in Illustrator while tweaking its options for path and curves accuracy but I rarely use the first result.
And always do it in a different layer of the original raster to use it as a guide.
But I also edit some of the original vector logos (svg/eps/pdf) cause I like to overlap the paths so there is no gap between them.

And always convert the stroke to paths so it look the same ate every size.
[s]

@denilsonsa continuing..
If it is too complex or I can't find a decent size version there's no magic. It will probably looks a bit different and most of the time doesn't worth the effort
I have a few logos that I would love to vectorize but I don't think I ever will..


IP Address

Is it possible to display the IP address of a device with the other text information so that it can be printed with the QR code? If not, is that something that can be easily added? Thanks!

hi @CaptGreenbean! It is possible. You need to add field primary_ip to text_fields configuration for device. For example:
PLUGINS_CONFIG = {
    'netbox_qrcode': {
        'with_text': True,
        'device': {
            'text_fields': ['name', 'serial', 'primary_ip']
        }
    }
}


Transformed target regressor support?

When I build a pipeline where I use a scikeras KerasRegressor, but put it inside of a scikitlearn transformedtargetregressor, I can no longer access the training history.
I can still access the KerasRegressor object, and when I do I get the following:
In [38]: pipeline['NN_model'].regressor
Out[38]:
KerasRegressor(
	model=<function build_regressor_model at 0x000001DE15A4D5E0>
	build_fn=None
	warm_start=False
	random_state=None
	optimizer=<tensorflow.python.keras.optimizer_v2.adam.Adam object at 0x000001DE760DAF40>
	loss=mse
	metrics=None
	batch_size=None
	validation_batch_size=None
	verbose=1
	callbacks=None
	validation_split=0.2
	shuffle=True
	run_eagerly=False
	epochs=100
	parameters={'num_nodes': (250, 150, 100), 'num_dense_layers': 3, 'dropout': 0.01, 'dropout_type': 'none', 'activation': 'elu', 'output_activation': 'linear', 'learning_rate': 0.0001, 'input_dim': 258, 'output_dim': 140, 'loss': 'mse', 'epochs': 100}
)

but when I try to get the history object, I get the following
In [39]: pipeline['NN_model'].regressor.history
Traceback (most recent call last):

  File "<ipython-input-40-eb7647671dbe>", line 1, in <module>
    pipeline['NN_model'].regressor.history

AttributeError: 'KerasRegressor' object has no attribute 'history'

Am I doing something wrong, or is some of the functionality of scikeras not supported when using a Transformed target regressor?

Try history_, not history.
https://github.com/adriangb/scikeras/blob/7c072fbed1985e9ad58e2291b3fee2324e4c39ea/scikeras/wrappers.py#L94-L95

If you are coming from the TensorFlow wrappers, I'd also suggest you check out our migration guide for some other subtle changes.

Oh, sorry, that was a typo above. It still doesn't work with history_
I have some model where I don't transform the target data and all the scikeras functionality works super well. It's just when I wrap the regressor in a transformedtargetregressor when I have issues.
I tried using the following line in the migration guide, but got an error
hist = clf.fit(...).history_
AttributeError: 'Pipeline' object has no attribute 'history_'

It still doesn't work with history_

Could you help is with the error you are getting?
I think you'd want to do:
pipeline['NN_model'].history_

So, my pipeline is as follows:
Pipeline(memory=None,
         steps=[('preprocess', MinMaxScaler(copy=True, feature_range=(0, 1))),
                ('NN_model',
                 TransformedTargetRegressor(check_inverse=True, func=None,
                                            inverse_func=None,
                                            regressor=KerasRegressor(batch_size=None, build_fn=None, callbacks=None, epochs=100, loss='mse', metrics=None, model=<function build_regressor_model at 0x000001DE1D4073A0>, optimizer=<ten...': 100, 'input_dim': 258, 'learning_rate': 0.0001, 'loss': 'mse', 'num_dense_layers': 3, 'num_nodes': (250, 150, 100), 'output_activation': 'linear', 'output_dim': 140}, random_state=None, run_eagerly=False, shuffle=True, validation_batch_size=None, validation_split=0.2, verbose=1, warm_start=False),
                                            transformer=MinMaxScaler(copy=True,
                                                                     feature_range=(0,
                                                                                1))))],

If I do pipeline['NN_model'], it will return a scikitlearn TransformedTargetRegressor object, like this
TransformedTargetRegressor(check_inverse=True, func=None, inverse_func=None,
                           regressor=KerasRegressor(batch_size=None, build_fn=None, callbacks=None, epochs=100, loss='mse', metrics=None, model=<function build_regressor_model at 0x000001DE1D4073A0>, optimizer=<tensorflow.python.keras.optimizer_v2.adam.Adam object at 0x000001DE1ABDFAC0>, parameters={'activation': 'el...e': 'none', 'epochs': 100, 'input_dim': 258, 'learning_rate': 0.0001, 'loss': 'mse', 'num_dense_layers': 3, 'num_nodes': (250, 150, 100), 'output_activation': 'linear', 'output_dim': 140}, random_state=None, run_eagerly=False, shuffle=True, validation_batch_size=None, validation_split=0.2, verbose=1, warm_start=False),
                           transformer=MinMaxScaler(copy=True,
                                                    feature_range=(0, 1)))

This object does not have a hitory_ attribute. however, if I type pipeline['NN_model'].regressor, I get the actual scikeras regresor object, like this
KerasRegressor(
	model=<function build_regressor_model at 0x000001DE1D4073A0>
	build_fn=None
	warm_start=False
	random_state=None
	optimizer=<tensorflow.python.keras.optimizer_v2.adam.Adam object at 0x000001DE1ABDFAC0>
	loss=mse
	metrics=None
	batch_size=None
	validation_batch_size=None
	verbose=1
	callbacks=None
	validation_split=0.2
	shuffle=True
	run_eagerly=False
	epochs=100
	parameters={'num_nodes': (250, 150, 100), 'num_dense_layers': 3, 'dropout': 0.01, 'dropout_type': 'none', 'activation': 'elu', 'output_activation': 'linear', 'learning_rate': 0.0001, 'input_dim': 258, 'output_dim': 140, 'loss': 'mse', 'epochs': 100}
)

Normally, when I type .history_ after a trained scikeras model, I get the recorded history of the losses, but when it is wrapped in the TransformedTargetRegressor object, it doesn't exist. Does that help clarify things?
I know there are some workarounds. I could define my own custom class to transform the y data and then do an inverse transform, but then I'm losing many of the benefits of scikeras, because I could save the history object on my own, and can't save everything in one clean pipeline. If there is a different workaround I haven't thought of that does use a TransformedTargetRegressor and doesn't use custom classes, I'd love to hear it, but I also think it would be nice if scikeras objects still worked when using this very helpful function

here is a standalone example that reproduces the problem:
from tensorflow import keras

from keras.layers import Dense, Conv1D, Reshape, Dropout,Flatten, concatenate, Activation, LeakyReLU#,GaussianNoise
from keras import optimizers
from keras.engine.sequential import Sequential
# from keras.wrappers.scikit_learn import KerasRegressor
from keras import backend as K
from keras.layers.core import Lambda

# from keras.wrappers.scikit_learn import KerasRegressor
from scikeras.wrappers import KerasRegressor
from sklearn.pipeline import Pipeline
from sklearn.compose import TransformedTargetRegressor
from sklearn.preprocessing import StandardScaler, MinMaxScaler

import numpy as np

def build_regressor_model(parameters):

    input_layer = keras.Input(shape=(parameters['input_dim'],),name='input')

    layer = input_layer
    for i in range(parameters['num_dense_layers']):
        num_dense_nodes = parameters['num_nodes'][i]

        layer = Dense(num_dense_nodes, activation=parameters['activation'],  name='fc_'+str(i))(layer)

        if parameters['dropout_type'] == 'Permadropout':
            layer = Dropout(parameters['dropout'],  name='dropout_'+str(i))(layer)
        elif parameters['dropout_type'] == 'dropout':
            layer = Dropout(parameters['dropout'],  name='dropout_'+str(i))(layer)

    outputs = Dense(parameters['output_dim'], activation=parameters['output_activation'])(layer)

    model = keras.Model(inputs=input_layer, outputs=outputs)

    # model.compile(loss=parameters['loss'], optimizer=optimizers.Adam(lr=parameters['learning_rate']))

    return model

x = np.random.rand(100,100)
y = np.random.rand(100,100)

parameters = {'num_nodes' : (250, 150, 100),
              'num_dense_layers': 3,
              'dropout': 0.01,
              'dropout_type': 'none',
              'activation': 'elu',
              'output_activation': 'linear',
              'learning_rate': .0001,
              'input_dim': x.shape[1],
              'output_dim': y.shape[1],
               'loss':'mse',
              'epochs':100}

NN = KerasRegressor(model=build_regressor_model,
                    validation_split=.2,
                    loss=parameters['loss'],
                    # metrics=['val_loss'],
                    optimizer=optimizers.Adam(lr=parameters['learning_rate']),
                    verbose=0,
                    epochs=parameters['epochs'],
                    parameters=parameters)

NN_model_with_y_scaling = TransformedTargetRegressor(regressor=NN,transformer=MinMaxScaler())

pipeline = Pipeline([
    ('preprocess',StandardScaler()),
    ('NN_model',NN_model_with_y_scaling)])

pipeline['NN_model'].regressor.history_

#without TTR
# pipeline = Pipeline([
#     ('preprocess',StandardScaler()),
#     ('NN_model',NN)])
# pipeline.fit(x, y)

# pipeline['NN_model'].history_

The behavior is really weird. If I train a model in a fresh kernal with TTR, then I can't display a history object. BUT, if I first train a model without TTR, then train a different model with TTR, I can print the history object! I dont understand this at all. To make it a little clearer, here are the two cases below
Case 1 (Can't print history object)
-Fit pipeline with TTR
-Try to print pipeline['NN_model'].regressor.history_
-Get error message saying object doesn't exist
Case 2
-Fit pipeline without TTR
-Succesfully print pipeline['NN_model'].history_
-Fit pipeline_2 with TTR (different name, same input vars)
-Try to print pipeline_2['NN_model'].regressor.history_
-Somehow succeeds! With the same values as pipeline['NN_model'].history_
Any clue why this is happening?

Ok, actually figured that last question out already. Both pipeline were sharing the same NN object. When it is trained with TTR, the history_ object is not created, but when it is trained without TTR, the history_ object is created and seem to stay in place when using the NN object in a different pipeline, even when refitting

Aha! I think I found the problem:
https://github.com/scikit-learn/scikit-learn/blob/2beed55847ee70d363bdbfe14ee4401438fba057/sklearn/compose/_target.py#L205
Scikit-Learn clones the regressor and saves it under regressor_ before fitting. So when you access .regressor you are accessing an un-fitted copy of the regressor, which has 0 trained epochs and hence no history_ attribute.
Try:
pipeline['NN_model'].regressor_.history_

That worked! Thank you so much!

Glad we could help!


A better fix for the json marshalling/unmarshalling of vcs-config.

The issue I ran into earlier was simple, I needed VcsConfig to be
a *json.RawMessage instead of a json.RawMessage. But I did not want
to just fix that because it would have sent the vcs-config as JSON
to the client exposing any credentials that are stored there. I use
a trick here where I create a special type like json.RawMessage that
will preserve bytes in Unmarshal, but just emit {} in marshal.

Good stuff.


License?

Awesome project, really well-deserved that it won React Open Source Awards! Would love to play around with this and use it as inspiration for other projects, but there's no license. Have you considered adding a license, e.g. MIT? :)
Would of course attribute you and this repo if making anything inspired by this codebase.

Done! It was always meant to be MIT, but I never got around to it 😊

Awesome, thanks!


fixed user error return

@gianmarcomennecozzi
Please prefer to use hotfixand feature prefix in front of branch name.

I think, we can merge it once branch name is changed :) @gianmarcomennecozzi

you can merge both


Add an override to return user to Basket

There should be an option to redirect the user to the basket or current product page once added to cart

Added in RC4


Waveform widget hover time is incorrect

Joulescope model
JS220
UI version

1.1.5
1.0.62

What OS are you seeing the problem on?
Windows 11
What happened?
The Waveform widget displays the y-value and time when you hover over the plot.  The time is supposed to be relative to the offset displayed at the top left.  However, I see values in Ps!

What was expected?
The Waveform widget should display the correct time offset.
How to reproduce?
Open a Waveform widget and hover over a plot.  The time is never right.

The changes made for #261 broke this in 1.0.59.

Fixed in 1.1.6


Add equal checks to Transform3D::looking_at and Transform3D::set_look_at, fixes misleading error.

Code:
Transform3D().translated(Vector3(4, 0, 0)).looking_at(Vector3(4, 0, 0))

Before:
E 0:00:07:0161   _ready: The target vector can't be zero.
  <C++ Error>    Condition "p_target.is_equal_approx(Vector3())" is true. Returning: Basis()
  <C++ Source>   core/math/basis.cpp:1097 @ looking_at()
  <Stack Trace>  scene.gd:4 @ _ready()

After:
E 0:00:07:0230   _ready: The transform's origin and target can't be equal.
  <C++ Error>    Condition "origin.is_equal_approx(p_target)" is true. Returning: t
  <C++ Source>   core/math/transform_3d.cpp:75 @ looking_at()
  <Stack Trace>  scene.gd:4 @ _ready()

I am assuming this type of check would be useful elsewhere, if so let me know.

Thanks!


[Composer] Edited state wont roll back after undoing to original state

Description:

Steps to reproduce:
After editing a file. Try undoing the change to original state using "ctrl+z"
And you will notice that edited state asterisk mark on the tab wont go and when you try closing the file, it will prompt to save file.
Affected Versions:
v0.974.1.SNAPSHOT
OS, DB, other environment details and versions:
Windows 10, Chrome
Suggested Labels (optional):
[Type/UX]
Suggested Assignees (optional):
@kaviththiranga

Composer is discontinued hence closing the issue.


Allow REST data sources to form bodies from input

Summary
This adds a new option to the REST data source driver to form a body
from input. This will be marshaled as JSON or interpreted as a string,
and will be used as the message body.
This allows us to dynamically form the body in order to better support
POST-based implementations like OSV.
the new field is called body_from_field. The field must exist in the
input parameters and must be marked as required or have an appropriate
default. The field must also be a top-level parameter.
Here's an example of a data source that uses it:

---
version: v1
type: data-source
name: osv
context: {}
rest:
  def:
    query:
      # Supports templating based on RFC6570
      endpoint: 'https://api.osv.dev/v1/query'
      parse: json
      method: POST
      body_obj_from_field: query
      input_schema:
        type: object
        properties:
          query:
            type: object
            properties:
              version:
                type: string
              package:
                type: object
                properties:
                  ecosystem:
                    type: string
                    description: The ecosystem the dependency belongs to
                  name:
                    type: string
                    description: The name of the dependency
        required:
          - query

Note in this case we do validation of all parameters that can be passed
to the body.
usage within a rego evaluation policy would look as follows:
...

          reqparams := {
              "query": {
                "version": version,
                "package": {
                  "name": name,
                  "ecosystem": "PyPI"
                }
              }
            }

          out := minder.datasource.osv.query(reqparams)
	  ...

Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 55.214% (-0.02%) from 55.237%
when pulling 1b6b93023bb317ab75a35d928f5943aa3b9351fd on JAORMX:datasource-bodyfromfield
into dfecd0af749637e343961782be27fb88172a7be5 on mindersec:main.


Make .LfCache use XDG directory spec

vim or neovim?

[ ] vim
[x] neovim

Output of vim --version or nvim --version: NVIM v0.7.0
Output of :echo has("python"): 0
Output of :echo has("python3"): 1
Output of :py print(sys.version): 3.10.4
Output of :py3 print(sys.version): 3.10.4
Operating system:

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Describe your question, feature request, or bug.
The XDG Base Directory Spec defines a standard, user-configurable set of directories defined as environment variables.
LeaderF should be using $XDG_CACHE_HOME/Lf as its cache directory instead of ~/.LfCache.
reference spec

You can set g:Lf_CacheDirectory.


Open Shading Language to LuisaCompute AST translator

We will start this as a separate project. So closing it here.


Errors building after XCode update

I have a previously stable build of a flutter macos app no longer compiling after what appears to have been an automatic Xcode update to version 15. (Grrr!)
The build output has four problems:
error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead (in target 'Firebase' from project 'Pods')
warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.11, but the range of supported deployment target versions is 10.13 to 14.0.99. (in target 'PromisesObjC' from project 'Pods')
...then a repeat of this warning for targets 'nanopb' and 'GoogleUtilities'
It's impossible to change DT_TOOLCHAIN_DIR because it only occurs in generated xcconfig files in the Pods directory. Even if I do change it flutter run will overwrite
I was working on Firestore 10.12.0. I've tried upgrading to 10.15.0. Same issue.
There's also a flood of other warnings that look like below - but I'm not certain they're related to Firestore as the above must be.
2023-09-20 16:36:57.744 xcodebuild[46339:4502861] [MT] DVTAssertions: Warning in /System/Volumes/Data/SWE/Apps/DT/BuildRoots/BuildRoot11/ActiveBuildRoot/Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-22267/IDEFoundation/Provisioning/Capabilities Infrastructure/IDECapabilityQuerySelection.swift:103
Details:  createItemModels creation requirements should not create capability item model for a capability item model that already exists.
Function: createItemModels(for:itemModelSource:)
Thread:   <_NSMainThread: 0x14d60bda0>{number = 1, name = main}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.

Add this to your podfile, I saw this on a different post
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end

  # to resolve `Error (Xcode): DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead`
  installer.aggregate_targets.each do |target|
    target.xcconfigs.each do |variant, xcconfig|
      xcconfig_path = target.client_root + target.xcconfig_relative_path(variant)
      IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
    end
  end

  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if config.base_configuration_reference.is_a? Xcodeproj::Project::Object::PBXFileReference
        xcconfig_path = config.base_configuration_reference.real_path
        IO.write(xcconfig_path, IO.read(xcconfig_path).gsub("DT_TOOLCHAIN_DIR", "TOOLCHAIN_DIR"))
      end
    end
  end
end

Legend!
Thanks Hunter.

We are just repackaging things here for the most part, I do not believe this is anything we can actually fix in this repository?
Going to close as I do not think it is actionable - that workaround is fantastic though, always amazed at what you can fix on-the-go with a Podfile hack...


Add local_inner_macros to all helper macros

It allows to use the Rust2018-style macro imports correctly:
use juniper::graphql_object;

graphql_object!(User: () |&self| { ... });

In the future when dropping compatibility with pre-2018 compilers, it is able to be replaced with the explicit $crate prefixes instead of local_inner_macros.
Notes
In macro_rules! with the annotation local_inner_macros, all of macro calls are transformed into $crate::builtin!(...) (https://github.com/rust-lang/rust/issues/53464#issuecomment-414049821).  Therefore, name resolutions of built-in macros are not perfomed correctly.
To avoid such situation, some helper macros are introduced to make built-in macros be interpreted as crate-local macros.

Codecov Report

Merging #233 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #233      +/-   ##
==========================================
- Coverage   89.89%   89.88%   -0.01%
==========================================
  Files          96       96
  Lines       18167    18153      -14
==========================================
- Hits        16331    16317      -14
  Misses       1836     1836

Impacted Files
Coverage Δ

juniper/src/macros/interface.rs
100% <ø> (ø)
:arrow_up:

juniper/src/macros/args.rs
100% <ø> (ø)
:arrow_up:

juniper/src/macros/scalar.rs
100% <ø> (ø)
:arrow_up:

juniper/src/macros/object.rs
97.67% <ø> (ø)
:arrow_up:

juniper/src/macros/union.rs
100% <ø> (ø)
:arrow_up:

juniper/src/macros/field.rs
88.23% <100%> (ø)
:arrow_up:

juniper/src/util.rs
96.29% <0%> (-3.71%)
:arrow_down:

juniper/src/integrations/serde.rs
49.28% <0%> (-1.64%)
:arrow_down:

juniper_codegen/src/util.rs
77.65% <0%> (-0.42%)
:arrow_down:

juniper/src/lib.rs
84.61% <0%> (-0.24%)
:arrow_down:

Continue to review full report at Codecov.

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


Change all Person to Student

Codecov Report

Merging #97 (4bdec00) into master (dac3af4) will decrease coverage by 0.14%.
The diff coverage is 60.11%.

@@             Coverage Diff              @@
##             master      #97      +/-   ##
============================================
- Coverage     56.00%   55.85%   -0.15%
  Complexity      317      317
============================================
  Files            73       73
  Lines          1225     1221       -4
  Branches        121      121
============================================
- Hits            686      682       -4
  Misses          481      481
  Partials         58       58

Impacted Files
Coverage Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

...rc/main/java/seedu/address/logic/LogicManager.java
0.00% <0.00%> (ø)

...ss/logic/commands/exceptions/CommandException.java
50.00% <ø> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
96.00% <ø> (ø)

.../seedu/address/logic/parser/ViewCommandParser.java
91.66% <ø> (ø)

...main/java/seedu/address/model/student/Address.java
30.00% <ø> (ø)

...main/java/seedu/address/model/student/ClassId.java
70.00% <ø> (ø)

...c/main/java/seedu/address/model/student/Email.java
30.00% <ø> (ø)

...c/main/java/seedu/address/model/student/Grade.java
70.00% <ø> (ø)

...rc/main/java/seedu/address/model/student/Name.java
80.00% <ø> (ø)

... and 24 more

Continue to review full report at Codecov.

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


Product dashboard Average duration fix and Build widget search format

This PR has fix for below issues

Product dashboard Average duration fix for 90 days pipeline
Build widget config search criteria fix.

I was concerned with the unusual dates on project dashboard. I have forked Nireesh's new changes and tested it locally. now the averages dates are showing perfectly!
Thanks!

@tabladrum LGTM


Vicariousdrama patch 3 (WIP)

Git check both LND and CLN, and add Fulcrum and Thunderhub
Improve usage guidance
Integrate --mock into the section to get Lightning data
Convert lightning output to data lines for greater flexibility
Check enabled, then active for services
Lightning services try --mock, then LND, then CLN
Electrum Servers try: Electrs, then Fulcrum
Block Explorer Servers try: BTC RPC Explorer
Lightning Web App try: Ride the Lightning, then Thunderhub
Only one of each service type is reported on, first enabled.
Improve error suppression where identified

Fixes #9
Fixes #11
Fixes #15
Fixes #18
Fixes #19
Fixes #20

Tested against

Node 1: Bitcoin Core v23.0.0, LND (0.15.4-beta), Ride the Lightning (v0.12.3)  [live funds]
Node 2: Bitcoin Core v23.0.0, Fulcrum (1.8.2) and Core Lightning (v22.11rc2)  [unfunded]

With these changes it thinks Electrs and BTC RPC Explorer is down on my node, RTL not installed and LND not up to date.
main:

this PR:

Good catch on Electrs and the Block Explorer @kristapsk.  Those should be resolved now.
I'm looking into how best to handle the RTL indicating as not installed.  I've got variables at the top of the script to set the service name for it which in the past can be either rtl or ridethelightning.  Current guidance per https://github.com/raspibolt/raspibolt/blame/master/guide/lightning/web-app.md#L208 is to use rtl, so I'm going to change the default to that, as well as open an issue to try to detect this when run

I'm looking into how best to handle the RTL indicating as not installed. I've got variables at the top of the script to set the service name for it which in the past can be either rtl or ridethelightning. Current guidance per https://github.com/raspibolt/raspibolt/blame/master/guide/lightning/web-app.md#L208 is to use rtl, so I'm going to change the default to that, as well as open an issue to try to detect this when run

I think that's correct approach.
Alternative would be to decide some kind of separator, like |, then set variable to rtl|ridethelightning, then add bash function that splits string by | and checks each one. But I think that would be overkill, don't see the need to support some old legacy configs. It's easier to just ask people to rename or reinstall stuff.

Alternative would be to decide some kind of separator, like |, then set variable to rtl|ridethelightning, then add bash function that splits string by | and checks each one. But I think that would be overkill, don't see the need to support some old legacy configs. It's easier to just ask people to rename or reinstall stuff.

Latest 2 commits handle service name fallback for those edge cases, as well as username lookups where needed. I'm hoping this covers it good enough for any disparities.

Also, there is still warning about LND v0.15.5-beta not being latest version.

Also, there is still warning about LND v0.15.5-beta not being latest version.

Can you report what you get for each of these
lncli getinfo | jq -r '.version | split("=") | .[1]'

curl -s --connect-timeout 5 https://api.github.com/repos/lightningnetwork/lnd/releases/latest | jq -r '.tag_name | select(.!=null)'

Also, there is still warning about LND v0.15.5-beta not being latest version.

Can you report what you get for each of these
lncli getinfo | jq -r '.version | split("=") | .[1]'

curl -s --connect-timeout 5 https://api.github.com/repos/lightningnetwork/lnd/releases/latest | jq -r '.tag_name | select(.!=null)'

These have answers you might expect:
admin ~/raspibolt-pulse ₿ lncli getinfo | jq -r '.version | split("=") | .[1]'
v0.15.5-beta
admin ~/raspibolt-pulse ₿ curl -s --connect-timeout 5 https://api.github.com/repos/lightningnetwork/lnd/releases/latest | jq -r '.tag_name | select(.!=null)'
v0.15.5-beta

These have answers you might expect:
admin ~/raspibolt-pulse ₿ lncli getinfo | jq -r '.version | split("=") | .[1]'
v0.15.5-beta
admin ~/raspibolt-pulse ₿ curl -s --connect-timeout 5 https://api.github.com/repos/lightningnetwork/lnd/releases/latest | jq -r '.tag_name | select(.!=null)'
v0.15.5-beta

ok, now lets check the file that keeps track of what versions its seen in github
cat ~/.raspibolt.versions.json

Everything seems correct there too.
admin ~/raspibolt-pulse ₿ cat ~/.raspibolt.versions.json | grep lnd
    "lnd": "v0.15.5-beta",

Any chance your get_LND_data.sh may be from an older commit ?

Before updating some out of date services

After updating LND and RTL on my node

setup: this is raspberry pi 4, 8 GB, and RTL is installed under ridethelightning user and has ridethelightning as service name
to test branch
# clone it
cd /tmp
git clone -b vicariousdrama-patch-3 https://github.com/vicariousdrama/raspibolt-pulse.git
cd raspibolt-pulse
chmod +x raspibolt-pulse-switch.sh
# test run before install
./raspibolt-pulse-switch.sh

when satisfied, install it
sudo cp *.sh /usr/local/bin/
sudo mv /usr/local/bin/raspibolt-pulse-switch.sh /usr/local/bin/raspibolt
# run as raspibolt
cd ~
raspibolt

Sample of running on a system without Bitcoin and related services

Can we merge this branch now?


Question - not an issue

Hi @flowstack,
Sorry to reach out like this, but I couldn't find any other way to get in contact with you.
I just wanted to ask you, how attached you are to the name flowstack?
I have a small startup, that is called FlowStack and would love to start open sourcing some of our code on GitHub.
Unfortunately our GitHub organization is currently named flowstack-com, which is not the best name for creating e.g. Go modules.
Are there any chance, that you would be willing to change your username and let us use the name for our organization?
All the best
Dan

Hey Dan. Great minds think alike - Flowstack was going to be my company name years ago and I also used to own the domains. Anyway, I've changed my username to my new company name so you are free to take it.

Hey @metricmogul. Thank you so much! Very kind of you :)
And thank you for also leaving the domain name for us to pick up :)
And now we even have a great story about the name, domain and github name 👍
Thanks again and all best
Dan


Error trying to parse settings

When I start Sublime with this package installed this I get this error message.
Error trying to parse settings: Expected value in Packages/User/Word Highlight.sublime-settings:1:1
I simply click on and proceed. Nothing seems to be affected, but still.

This indicates a malformed settings file, with invalid json content.


Missing period in the README made the quick copy/paste of the instruc…

…tions not work.
I was rapid fire copying and pasting the commands with the copy button but the activation of the venv was looking for .venv instead of the venv that was created.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @gel001. Closing this PR as the issues was addressed in a commit earlier today.


Add build test which require pull authentication

The build logic is separate from the pull and also needs to guarantee credentials are properly being passed and used during build.

Random thought: Is it possible to move the port numbers into variables, instead of using magic numbers in the tests?

Moving the port numbers to variables would help, currently you would have to reference the nginx config which is a pain to add tests. I just looked for a test which included basic auth and copied that, but a good method.
I can add the has digest checks

LGTM


Cleanup all exception messages to be more consistent.

There's kinda all over the place, and I've seen a pattern recently that I kinda like. Right now we usually generate the exception message in the same place where we call it, and that feels a little wrong.
I'd like to go through and remove all places where we raise Teaspoon::CustomException, "message", and just pass in the things that the message might need at the time that we raise them. This should consolidate all the exception messages into exceptions.rb.
At the same time, I'd like to restructure the phrasing of most of them to this sort of pattern:
"Unknown version: expected a valid version for jasmine, which allows [1.0.0, 2.0.0]."

What would the API look like when we want to raise a custom exception?

We just need to move as much of the messaging to the exception classes themselves (in exceptions.rb). I'm happy to take this on too.

Done in fd7d4442d90fb1982f08efe2cc32e96c1ed69fea


cRonstrue does not validate specified values

cRonstrue does not validate the input cron value as it can be seen from the following example in the demo web site:
specified value 99 99 99 99 99 99 90

It is expected that the error is thrown in those cases.
Version 1.82.0.

It's not really the intent of cRonstrue to handle validating a cron expression.  Some rudimentary but not exhaustive validation is done for the purpose of parsing but in general "garbage in, garbage out".
There are some other packages out there that could be used to validate a cron before passing into cRonstrue:
https://www.npmjs.com/package/cron-validator
https://www.npmjs.com/package/sancronos-validator


[E2] Internal error but no compiler error/warning when trying to do operations on not-yet-defined variable

Describe the bug
sv: Expression 2 (oops): Internal error 'entities/gmod_wire_expression2/core/number.lua:81: attempt to perform arithmetic on local 'lhs' (a nil value)' at line 8, char 1
To Reproduce
@name bug
@strict

function bruh() {
    Piss = 5
}

print(Piss + 2)

Expected behavior
A compiler error or something

Oh god are you the same cheeze that made the horribly uncompressed button textures

This is intentional since @strict doesn't replace globals every time now, but I think it really should initialize on the first go, at least, since that wouldn't cost much.
That or make the compiler not stupid and include the scoping when deciding if a variable has already been assigned to.   I'd prefer that.
ie https://github.com/wiremod/wire/blob/4038ae0a5cd2335d6af52d6baafb6fbc70d74e21/lua/entities/gmod_wire_expression2/base/compiler.lua#L1023 should also write down the scopeid it was initialized at, then just check if assignid < currentid when checking if the variable is initialized or not.
Then you'll at least get a warning in advance.


"Save" button in notification settings modal not working on desktop Safari

In the notification view, there's a settings button that opens a modal. The "Save" button inside the modal doesn’t work in the desktop version of Safari (though it works fine on iOS). I’ve tested this on both my instance and the official vernissage.photos instance, and the issue is the same on both.
The button gives visual feedback when clicked, but nothing happens, and the notification settings are not saved.

I’ve checked the browser's JavaScript console, and there are no errors or messages displayed when the "Save" button is clicked.

I cannot reproduce that issue. Check please if you have "Service worker" enabled in Safari:

Verify also if in the Safari console you switched to see all console messages:

Theoretically, you should not see the "Settings" button when the "Service worker" is disabled, but I don't have any other ideas.

Yes, I have service workers enabled, and the JavaScript console in Safari 18.0 is set to display all messages by default. I’ve also tried disabling Safari’s built-in content blockers and tested with AdGuard turned off, but the issue persists.
Let me know if there’s anything else I should check!

I will add more messages during the process of saving notifications in the new version of the application, which might help us identify the issue. I’ll let you know once it’s done.

Can you verify what error message do you have now?
And can you verify also what do you have in the Notifications tab in the Safari:

but for some reason, it works on iOS, and notifications are also working correctly for me on iPhone

I’m getting exactly the same message on the official instance.

The code which is responsible for notification subscription looks like that:
const subscription = await this.swPushService.requestSubscription({
    serverPublicKey: this.settingsService.publicSettings.webPushVapidPublicKey
});

const jsonObject = subscription.toJSON();
this.endpoint = jsonObject.endpoint;
this.p256dh = jsonObject.keys?.p256dh;
this.auth = jsonObject.keys?.auth;

if (!this.endpoint || !this.p256dh || !this.auth) {
    this.messageService.showError('Error during generating encryption keys for Web push.');
    return;
}

Basically we have three steps here:

requestSubscription - after that operation you should have question from browser about notification approval,
subscription.toJSON() - then we have to ask for browser generated public keys,
!this.endpoint || !this.p256dh || !this.auth - check if everything has been retrieved from browser,

Seems like the first step is failing somehow (not returning correct PushSubscription object). But for now I don’t know why.

Has anything been fixed regarding the "Save" button in the notification settings? Today, the button is working for me on both my instance and the official one.

No. I didn't do nothing regarding this. I think it was something with browser (cache or something like that). Can I close the issue?


Give an example to validate an email address

Please give a straightforward example to validate an email string: let email: String?
Let's check for a value first (required) then for pattern (valid email address)
From the many examples it's not clear how to do it.
I was only able to do it by unwrapping the value first, but that just defeats the purpose of the library.
Also, you give some examples with ValidationError but that class is nowhere to be found.
Please consider including it as a helper class and rewriting the examples with them instead of someValidationErrorType.

Duplicate of https://github.com/adamwaite/Validator/issues/90. Fixing now.


Groom branch for 1.2.2-beta.1

TODO:

Groom the CHANGELOG file.
Delete the GROOMME marker file.

Merge this PR before kicking off the release branch creation.

Can't approve my own PR. Assigned a couple folks.

btw, this PR can not pass CI right now. There are now bugs open to fix this in the prerelease branch creation workflow (and a PR up for that). For this one, just merge it without CI being green when you're ready.


Refactor EulerAngles and EulerAngleAxis

I think we can potentially simplify things if we refactor these two representations. Could you please clarify if one can be easily represented in terms of the other? I understand that EulerAngleAxis is a rotation around an arbitrary unitary vector whereas EulerAngles are rotations specified in terms of the canonical basis. Can the latter be written in terms of the former as a sequence of rotations with pre-defined static vectors? What is the benefit of keeping them separate as two separate structs?
After we sort out the redundancy, I think we could make things more static and turn rot_seq simply a utility function. We could write something like basis(:X) to get (1,0,0) an basis(:XY) to return a list of such basis vectors. Does that make sense?
This will help define conversion methods.

Hi @juliohm !
EulerAngleAxis is a geometric representation (a rotation of an angle about one axis) of how a quaternion works. The Euler Angles are a more meaningful description of rotations that is mostly used to analyze data. We can develop equations to convert from one to another but I just cannot see the point.
Those types exist to analyze rotations from different perspectives, they cannot be merged.

After we sort out the redundancy, I think we could make things more static and turn rot_seq simply a utility function. We could write something like basis(:X) to get (1,0,0) an basis(:XY) to return a list of such basis vectors. Does that make sense?

I really did not understand, can you please clarify?

Hi @ronisbr !

Those types exist to analyze rotations from different perspectives, they cannot be merged.

You want to keep them separate so that users can choose between different ways of representing rotations, right?

After we sort out the redundancy, I think we could make things more static and turn rot_seq simply a utility function. We could write something like basis(:X) to get (1,0,0) an basis(:XY) to return a list of such basis vectors. Does that make sense?

I really did not understand, can you please clarify?

I thought initially from the names of the structs that EulerAngles(theta1, theta2, theta3) = EulerAngleAxis(theta1, (1,0,0)) * EulerAngleAxis(theta2, (0,1,0)) * EulerAngleAxis(theta3, (0,0,1)) or some permutation of these factors. If that is the case, then it can make sense to merge the internal implementations. Users could still choose between the two structs, but internally they would be implemented in terms of a single function that does successive rotations around specific vectors X, Y, Z. Am I missing something?

I thought initially from the names of the structs that EulerAngles(theta1, theta2, theta3) = EulerAngleAxis(theta1, (1,0,0)) * EulerAngleAxis(theta2, (0,1,0)) * EulerAngleAxis(theta3, (0,0,1)) or some permutation of these factors. If that is the case, then it can make sense to merge the internal implementations. Users could still choose between the two structs, but internally they would be implemented in terms of a single function that does successive rotations around specific vectors X, Y, Z. Am I missing something?

Oh, yes, the Euler angles representation can be written as you proposed using the EulerAngleAxis. However, I really do not see the point. IIUC, this will only add computational burden of converting Euler angles to EulerAngleAxis without any gain. I really cannot see what we will simplify in the current implementation. Notice that it is very important to have a EulerAngles structure so that the users can see those angles when converting from DCM or Quaternions.

I will close this because I think it was handled using the conversion methods in master. With Euler angles, I created a "helper" private structure so that you can do:
julia> d = rand(DCM)
DCM{Float64}:
 -0.96356    0.183948  -0.194204
 -0.0820236  0.487857   0.869061
  0.254606   0.853322  -0.454991

julia> convert(EulerAngles(:XYX), d)
EulerAngles{Float64}:
  R(X) :  0.758285 rad  ( 43.4465°)
  R(Y) :  2.8708   rad  ( 164.485°)
  R(X) : -0.31166  rad  (-17.8568°)

julia> convert(EulerAngles(:ZYX), d)
EulerAngles{Float64}:
  R(Z) :  2.95296  rad  ( 169.192°)
  R(Y) :  0.195446 rad  ( 11.1982°)
  R(X) :  2.0531   rad  ( 117.634°)


Add a license to the repository

I recently came across your project ChatApp-based-qiskit and I noticed that the repository github.com/takkiiiiiiiii/ChatApp-based-qiskit currently does not have a license specified.
Why Adding a License is Important?
As GitHub documents

Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.

Would be possible to add a valid license to this repository? Probably something really OpenSource such as the Apache 2.0 license would fit really well.
Thanks!

Thank you for bringing this to my attention.
Sorry for the late reply.
I have added the Apache 2.0 License to the repository, as you suggested. The project is now properly licensed for open-source use.
If you have any further suggestions or feedback, please let me know.
Best regards,

Thanks!


Get the foss-eda-tools.googlesource.com mirror happening

This appears to be happening now - https://foss-eda-tools.googlesource.com/gf180mcu-pdk/


fix(FreeRTOS): use Freertos systick

This fixes HAL_Delay hanging issues by updating SysTick_Handler to (1) increment tick and (2) call the freeRTOS xPortSysTickHandler.

@sfoster1 I already added the changes to gripper in the other PR. And turns out the L5 board already took care of this issue.
But I did open a ticket #284 to remind ourselves to make sure we update the pipettes subproject when we switch back to the G4 board.


Add options for saving hvPlotExplorer settings and only show the plot

Maybe I have overlooked something, but it could be nice to be able to save the settings from hvPlotExplorer so it can easily be recreated in another session.
I'm thinking about something like this:
## First input cell in a notebook
import hvplot.ui
import hvplot.pandas
import panel as pn
pn.extension()

from bokeh.sampledata import penguins

df = penguins.data
dfe = hvplot.ui.hvPlotExplorer(df)

## First output cell
# Play around with the Explorer until you have the plot you want

## Second input cell
dfe_settings = dfe.save()  # Returns a dict with the settings, which could be saved to a JSON file.

## Third input cell or another notebook where you have loaded the settings
# Load the settings into a new hvPlotExplorer
dfe2 = hvplot.ui.hvPlotExplorer.load(df, dfe_settings)
# or
dfe2 = hvplot.ui.hvPlotExplorer(df, settings=dfe_settings)

Here a natural thing would be to only show the plot because all the settings have already been determined. Maybe with a function call like dfe2.output() or dfe2.plot().

Yes, definitely! To demo in the docs I think you'd use code like:
# First notebook cell
settings = {}
if os.exists("somefile.json"):
    with open("settings.json") as f:
        settings = json.load(f)
dfe = hvplot.ui.hvPlotExplorer(df, **settings)

# Second notebook cell
with open("settings.json", 'w') as f:
    json.dump(settings, f)

That way the notebook will run properly the first time and when used with Run All, but when run cell-by-cell it will save the settings selected interactively for use next time.


⚠ Bofrost.at has degraded performance

In 8b98547, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 912 ms

Resolved: Bofrost.at performance has improved in 767b0aa.


ERROR during bitfile generation

Hi,
When trying to do the bitfile generation of the unmodified code I get following Error:
ERROR: [DRC 23-20] Rule violation (INBB-3) Black Box Instances - Cell 'i_dsp/genblk4[4].iir/p_ay1_module/product0' of type 'i_dsp/genblk4[4].iir/p_by1_module/product0/mult_32_32' has undefined contents and is considered a black box.  The contents of this cell must be defined for opt_design to complete successfully.
I am using Vivado 2015.4 on windows 10 and saw on the Xilinx webpage that these versions dont support each other. But I am unsure because the synthesis and simulation work. Could the version be the issue?
Or has anyone else had this Error?

I never tested vivado on win10. Could certainly be the issue. Can you test on a different OS, eg Ubuntu booted from a usb stick?

Can you also compile pyrpl with a different Vivado version?

not without errors I think. In principle it should be straightforward to migrate to a more recent vivado version, but this will require some modifications.


Headless sunshine + moonlight issue

Hi!. First, thanks for this! it's working great. The issue is when I try to run headless sunshine on windows 11 the virtual monitor (Linux FHD) attaches itself to "Virtual Display Driver by MTT" and this device can't be used by sunshine to stream. Can this be changed some way? or is just how this driver works? Thanks Again!

Did You try to set Linux FHD as primary monitor and disable anything else, if You have anything? In my case in win11 Linux FHD is "connected" to my RTX 3080 (dxgi-info).

Did You try to set Linux FHD as primary monitor and disable anything else, if You have anything? In my case in win11 Linux FHD is "connected" to my RTX 3080 (dxgi-info).
Even though i have also headless setup, somehow it was "remembering" old display i used for installing windows on it. After changing Linux FHD as primary and "Show only on X screen" it worked flawlessly.

Tried all possible combinations primary, secondary, mirrored, extended etc.
Must be an issue with my strange setup Ryzen 7 5700g (APU) + RX6800 both working at the same time.  Does Virtual Display Driver by MTT shows on Display settings > Graphics settings > power saver / high performance ?

disable integrated gpu in bios

Can't, I'm using it to stream. Replaced virtual driver with a cheap dummy plug.

disable integrated gpu in bios

Can't, I'm using it to stream. Replaced virtual driver with a cheap dummy plug.

Try this, temporarily disabling it also works for me.

I've fixed this issue on sunshine, commenting here to keep track of which issues to notify once the PR gets approved.


Message loss in non-persistent geo-replication at high sending throughput

Describe the bug
I set up five single-broker Pulsar clusters in five regions, Clemson, Wisconsin, Massachusetts, and two in Utah (Utah1, Utah2). The publisher is in Utah1, and the subscribers are in each of the rest clusters.
For my experiment purpose, I prefer non-persistent topics.
I want to use the geo-replication of Pulsar, and I found that when the sending throughput is high (like 1k message/sec, message size 10k, totally 10k message), only the subscriber in Utah2, which has the highest bandwidth from the Utah1, can receive all the published messages (not always, some times it also receives only a part). For the rest of the subscribers in other clusters, they are only able to receive part of the messages.
I use Java client at first. I got the bug and I thought it was my code's fault. So I use the perf tool, and the problem is still there.(see picture below, the records received are all not 10000, but the producer says
08:25:20.996 [Thread-1] INFO  org.apache.pulsar.testclient.PerformanceProducer - Aggregated throughput stats --- 10000 records sent --- 639.113 msg/s --- 49.931 Mbit/s)
I set the parameters below in broker.conf to 10000(higher or equal to the total number of message than I want to publish)
maxConcurrentNonPersistentMessagePerConnection

replicationProducerQueueSize

maxPendingPublishdRequestsPerConnection

and I also set the receiverQueueSize(10000) in my Consumer client code.
I think this is not a bug, but a feature, because the sending bandwidth is much higher than the bandwidth on WAN. In Issue 451, there seems some discussion about the sending rate of the publisher. But I don't know what sending rate is reasonable under the WAN environment. Could you offer me some suggestions on what the sending bandwidth should be?
The network information is:

Utah2
Wisconsin
Clemson
MIT

Utah1
1174.74125
3.2375
52.99125
16.5625

bandwidth(Mbyte/s)

Utah2
Wisconsin
Clemson
MIT

Utah1
0.061
35.612
50.918
48.083

latency(ms)
To Reproduce
Steps to reproduce the behavior:

Go to root path of the pulsar
run bin/pulsar-perf produce non-persistent://my-tenant/my-namespace/wa -bm 0 -s 10240 -r 1000 -m 10000 at publisher
run bin/pulsar-perf consume non-persistent://my-tenant/my-namespace/wa at subscriber
See the output of the consumer, and the "bug" can be seen.

Expected behavior
All the non-persistent messages are received correctly.
Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Ubuntu 18.04

Taking a deep view into the source code, in NonPersistentReplicator.java, if the netty connection is not writable, the non-persistent messages are just dropped silently. I think the connection is not writable when the load is too heavy for it, am I right?
Is 'dropping the non-persistent messages' the common design for the non-persistent topics in the pub-sub system when the load on the connection is heavy?

yes, non-persistent topic doesn't persist messages so, it doesn't give message delivery guarantee. it's used for usecases which only care about the latest data and don't care about past data for example live video streaming.

We use a lot of high-throughput non-persistent topics on our system for streaming telemetry, it's useful for use cases where the overhead of tracking message acknowledgement and redelivery is just not worth it.

If you can spare the CPU cycles compressing the data will dramatically reduce the bits on the wire (obviously that's the point) which may be useful if the latency is high.
You mention using Ubuntu... Most linux distributions have absolutely terrible default TCP settings and you have to change them if you want to get reasonable high-throughput performance. There are dozens of kernel settings but the ones I always end up changing are the rx/txqueuelen, net.core.rmem_max & net.core.wmem_max, net.ipv4.tcp_rmem & net.ipv4.tcp_wmem, ec..

We use a lot of high-throughput non-persistent topics on our system for streaming telemetry, it's useful for use cases where the overhead of tracking message acknowledgement and redelivery is just not worth it.

If you can spare the CPU cycles compressing the data will dramatically reduce the bits on the wire (obviously that's the point) which may be useful if the latency is high.
You mention using Ubuntu... Most linux distributions have absolutely terrible default TCP settings and you have to change them if you want to get reasonable high-throughput performance. There are dozens of kernel settings but the ones I always end up changing are the rx/txqueuelen, net.core.rmem_max & net.core.wmem_max, net.ipv4.tcp_rmem & net.ipv4.tcp_wmem, ec..

Thanks for your useful suggestions, I will try it!

yes, non-persistent topic doesn't persist messages so, it doesn't give message delivery guarantee. it's used for usecases which only care about the latest data and don't care about past data for example live video streaming.

Get confirmed from the author of the pulsar is indeed useful, thanks a lot!

The issue had no activity for 30 days, mark with Stale label.


enable the configuration of maxDays attribute for Access Log Valve

Is your feature request related to a problem? Please describe.
The housekeeping/purging of localhost_access_logs cannot be managed using configuration. The logs rotate every day for the life of the container.
Describe the solution you'd like
I would like to add the maxDays attribute whose value can be adjusted using an environment variable.
This would require set_env.sh to add the following system property to CATALINA_OPT
CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.EnvironmentPropertySource

I propose that the default value of maxDays be -1, which means never deleting the old files, which matches existing behaviour.
Describe alternatives you've considered
We add this value when building our pega containers using the pega-ready container as the base, but the retention period is hardcoded.
LINE=$(grep -n "prefix=\"localhost_access_log\"" ${CATALINA_HOME}/conf/server.xml | cut -d: -f1) \
 sed -i "${LINE}s/$/ maxDays\=\"90\"/" ${CATALINA_HOME}/conf/server.xml

Additional context
Add any other context or screenshots about the feature request here.

#188 We decided to not to purse with the enhancement


Make section width configurable

Is your feature request related to a problem? Please describe.
Currently sections are evenly divided over the available width. This doesn't always produce the best results, because some sections need more space than others.
Describe the solution you'd like
I would like sections to get a width property where width can be configured as a percentage.
Describe alternatives you've considered
I do not this there is another way to achieve this.

added in v1.11.0


IEEE754 Floating Point Exception Flags Plugin - Fix loose ends

This Issue is meant as a reminder for what still needs to be done:

Provide documentation on cpputest.github.io
Include in Visual C++ projects (only those that support it, e.g. ? @Andne)
Include in Dos build (if it works)
Now that it is part of mainline CppUTestExt, the failing samples should be handled differently, perhaps with a #define that has to be explicitly set by the user, or perhaps drop them. The idea was to give a user a chance to play around with this feature - what do you think @Andne? Right now, failures do not occur, because we don't have a build that does both the examples and C++11 combined.
Right now, MemoryReporterPlugin and MockSupportPlugin are installed directly in tests/CppUTestExt/AllTests.cpp. Should this be done with IEEE754ExceptionsPlugin (and any future plugin developments)?
Perhaps add methods enableSignal() / disableSignal() to facilitate crashing for debug purposes (problematicon MacOS).

@basvodde it turns out the plugin requires C99 support, not necessarily C++11. Does that change anything for the Travis builds? Locally, it will compile without a hitch. We might be able to do away with the #ifdef altogether.

It turns out that MS Visual C++ 2013 still has some problems with fenv.h. I am therefore not attempting to build IEEE754ExceptionsPlugin with MS code.
All other points have been addressed.
Should IEEE754ExceptionsPlugin be needed for MS, then I suggest to open a new pull request for it.


Let change TMDB language

Thanks for this great app, the design is excellent!
I would love to see the content in my language, this is maybe something to deal with #216.
Thanks 🤗

Hi. Thanks for the suggestion and for your kind words. I will resolve this as soon as possible.


getallheaders() is returning responses headers instead of request headers

What happened?
The getallheaders() function implemented by FrankenPHP returns response headers and not request headers, as described in the PHP documentation (used by Apache and PHP FPM, SAPI since 7.3).
The stub is "consistent" with the implementation, but it's not the right one.
This implementation therefore breaks with Slim Framework, and more generally with nyholm/psr-7.
Is it possible to go back to the first implementation described in the PR #499 ?
Versions
PHP : 8.3.6
FrankenPHP : 1.1.4
Thanks!
Build Type
Docker (Alpine)
Worker Mode
No
Operating System
macOS
CPU Architecture
x86_64
PHP configuration

CLI config
PHP Version => 8.3.6

System => Linux 5a52b8ac12d0 6.7.11-orbstack-00143-ge6b82e26cd22 #1 SMP Sat Mar 30 12:20:36 UTC 2024 x86_64
Build Date => Apr 11 2024 18:31:03
Build System => Linux - Docker
Build Provider => https://github.com/docker-library/php
Configure Command =>  './configure'  '--build=x86_64-linux-musl' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--with-pic' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-pdo-sqlite=/usr' '--with-sqlite3=/usr' '--with-curl' '--with-iconv=/usr' '--with-openssl' '--with-readline' '--with-zlib' '--enable-phpdbg' '--enable-phpdbg-readline' '--with-pear' '--enable-embed' '--enable-zts' '--disable-zend-signals' 'build_alias=x86_64-linux-musl'
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => (none)
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed => /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini

PHP API => 20230831
PHP Extension => 20230831
Zend Extension => 420230831
Zend Extension Build => API420230831,TS
PHP Extension Build => API20230831,TS
Debug Build => no
Thread Safety => enabled
Thread API => POSIX Threads
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
Zend Max Execution Timers => enabled
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
Registered Stream Filters => zlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk

This program makes use of the Zend Scripting Language Engine:
Zend Engine v4.3.6, Copyright (c) Zend Technologies

 _______________________________________________________________________

Configuration

Core

PHP Version => 8.3.6

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => On => On
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_log_mode => 0644 => 0644
error_prepend_string => no value => no value
error_reporting => no value => no value
expose_php => On => On
extension_dir => /usr/local/lib/php/extensions/no-debug-zts-20230831 => /usr/local/lib/php/extensions/no-debug-zts-20230831
fiber.stack_size => no value => no value
file_uploads => On => On
hard_timeout => 2 => 2
highlight.comment => #FF8000 => #FF8000
highlight.default => #0000BB => #0000BB
highlight.html => #000000 => #000000
highlight.keyword => #007700 => #007700
highlight.string => #DD0000 => #DD0000
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/local/lib/php => .:/usr/local/lib/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => Off => Off
mail.add_x_header => Off => Off
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
mail.mixed_lf_and_crlf => Off => Off
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
max_multipart_body_parts => -1 => -1
memory_limit => 128M => 128M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 4096K => 4096K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => no value => no value
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
serialize_precision => -1 => -1
short_open_tag => On => On
SMTP => localhost => localhost
smtp_port => 25 => 25
sys_temp_dir => no value => no value
syslog.facility => LOG_USER => LOG_USER
syslog.filter => no-ctrl => no-ctrl
syslog.ident => php => php
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => EGPCS => EGPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => 1 => 1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.exception_ignore_args => Off => Off
zend.exception_string_param_max_len => 15 => 15
zend.max_allowed_stack_size => 0 => 0
zend.multibyte => Off => Off
zend.reserved_stack_size => 0 => 0
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 8.5.0
Age => 10
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => No
SPNEGO => No
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => Yes
GSSAPI => No
KERBEROS5 => No
UNIX_SOCKETS => Yes
PSL => No
HTTPS_PROXY => Yes
MULTI_SSL => No
BROTLI => Yes
ALTSVC => Yes
HTTP3 => No
UNICODE => No
ZSTD => No
HSTS => Yes
GSASL => No
Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, mqtt, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp, ws, wss
Host => x86_64-alpine-linux-musl
SSL Version => OpenSSL/3.1.4
ZLib Version => 1.3.1

Directive => Local Value => Master Value
curl.cainfo => no value => no value

date

date/time support => enabled
timelib version => 2022.10
"Olson" Timezone Database Version => 2024.1
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.833333 => 90.833333
date.sunset_zenith => 90.833333 => 90.833333
date.timezone => UTC => UTC

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.11.7
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

fileinfo

fileinfo support => enabled
libmagic => 543

filter

Input Validation and Filtering => enabled

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => libiconv
iconv library version => 1.17

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

json

json support => enabled

libxml

libXML support => active
libXML Compiled Version => 2.11.7
libXML Loaded Version => 21107
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 6.9.9

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.regex_retry_limit => 1000000 => 1000000
mbstring.regex_stack_limit => 100000 => 100000
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

mysqlnd

mysqlnd => enabled
Version => mysqlnd 8.3.6
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 86400
Collecting statistics => Yes
Collecting memory statistics => No
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
API Extensions =>

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 3.1.4 24 Oct 2023
OpenSSL Header Version => OpenSSL 3.1.4 24 Oct 2023
Openssl default config => /etc/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 10.42 2022-12-12
PCRE Unicode Version => 14.0.0
PCRE JIT Support => enabled
PCRE JIT Target => x86 64bit (little endian + unaligned)

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => On => On
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => sqlite

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.44.2

Phar

Phar: PHP Archive support => enabled
Phar API version => 1.1.1
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => disabled (install ext/bz2)
Native OpenSSL support => enabled

Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

posix

POSIX support => enabled

random

Version => 8.3.6

readline

Readline Support => enabled
Readline library => 8.2

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \>

Reflection

Reflection => enabled

session

Session Support => enabled
Registered save handlers => files user
Registered serializer handlers => php_serialize php php_binary

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => Off => Off
session.gc_divisor => 100 => 100
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => no value => no value
session.serialize_handler => php => php
session.sid_bits_per_character => 4 => 4
session.sid_length => 32 => 32
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => Off => Off

SimpleXML

SimpleXML support => enabled
Schema support => enabled

sodium

sodium support => enabled
libsodium headers version => 1.0.19
libsodium library version => 1.0.19

SPL

SPL support => enabled
Interfaces => OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 support => enabled
SQLite Library => 3.44.2

Directive => Local Value => Master Value
sqlite3.defensive => On => On
sqlite3.extension_dir => no value => no value

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i

Directive => Local Value => Master Value
assert.active => On => On
assert.bail => Off => Off
assert.callback => no value => no value
assert.exception => On => On
assert.warning => On => On
auto_detect_line_endings => Off => Off
default_socket_timeout => 60 => 60
from => no value => no value
session.trans_sid_hosts => no value => no value
session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form=
unserialize_max_depth => 4096 => 4096
url_rewriter.hosts => no value => no value
url_rewriter.tags => form= => form=
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.11.7

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.3.1
Linked Version => 1.3.1

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
HOSTNAME => 5a52b8ac12d0
PHP_INI_DIR => /usr/local/etc/php
SHLVL => 1
HOME => /root
GODEBUG => cgocheck=0
PHP_LDFLAGS => -Wl,-O1 -pie
PHP_CFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_VERSION => 8.3.6
GPG_KEYS => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
PHP_CPPFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_ASC_URL => https://www.php.net/distributions/php-8.3.6.tar.xz.asc
PHP_URL => https://www.php.net/distributions/php-8.3.6.tar.xz
TERM => xterm
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
XDG_CONFIG_HOME => /config
XDG_DATA_HOME => /data
PHPIZE_DEPS => autoconf 		dpkg-dev dpkg 		file 		g++ 		gcc 		libc-dev 		make 		pkgconf 	re2c
PWD => /app
PHP_SHA256 => 53c8386b2123af97626d3438b3e4058e0c5914cb74b048a6676c57ac647f5eae

PHP Variables

Variable => Value
$_SERVER['HOSTNAME'] => 5a52b8ac12d0
$_SERVER['PHP_INI_DIR'] => /usr/local/etc/php
$_SERVER['SHLVL'] => 1
$_SERVER['HOME'] => /root
$_SERVER['GODEBUG'] => cgocheck=0
$_SERVER['PHP_LDFLAGS'] => -Wl,-O1 -pie
$_SERVER['PHP_CFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PHP_VERSION'] => 8.3.6
$_SERVER['GPG_KEYS'] => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
$_SERVER['PHP_CPPFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PHP_ASC_URL'] => https://www.php.net/distributions/php-8.3.6.tar.xz.asc
$_SERVER['PHP_URL'] => https://www.php.net/distributions/php-8.3.6.tar.xz
$_SERVER['TERM'] => xterm
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['XDG_CONFIG_HOME'] => /config
$_SERVER['XDG_DATA_HOME'] => /data
$_SERVER['PHPIZE_DEPS'] => autoconf 		dpkg-dev dpkg 		file 		g++ 		gcc 		libc-dev 		make 		pkgconf 		re2c
$_SERVER['PWD'] => /app
$_SERVER['PHP_SHA256'] => 53c8386b2123af97626d3438b3e4058e0c5914cb74b048a6676c57ac647f5eae
$_SERVER['PHP_SELF'] =>
$_SERVER['SCRIPT_NAME'] =>
$_SERVER['SCRIPT_FILENAME'] =>
$_SERVER['PATH_TRANSLATED'] =>
$_SERVER['DOCUMENT_ROOT'] =>
$_SERVER['REQUEST_TIME_FLOAT'] =><PHONE_NUMBER>.8135
$_SERVER['REQUEST_TIME'] =><PHONE_NUMBER>
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0
$_ENV['HOSTNAME'] => 5a52b8ac12d0
$_ENV['PHP_INI_DIR'] => /usr/local/etc/php
$_ENV['SHLVL'] => 1
$_ENV['HOME'] => /root
$_ENV['GODEBUG'] => cgocheck=0
$_ENV['PHP_LDFLAGS'] => -Wl,-O1 -pie
$_ENV['PHP_CFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_ENV['PHP_VERSION'] => 8.3.6
$_ENV['GPG_KEYS'] => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
$_ENV['PHP_CPPFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_ENV['PHP_ASC_URL'] => https://www.php.net/distributions/php-8.3.6.tar.xz.asc
$_ENV['PHP_URL'] => https://www.php.net/distributions/php-8.3.6.tar.xz
$_ENV['TERM'] => xterm
$_ENV['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_ENV['XDG_CONFIG_HOME'] => /config
$_ENV['XDG_DATA_HOME'] => /data
$_ENV['PHPIZE_DEPS'] => autoconf 		dpkg-dev dpkg 		file 		g++ 		gcc 		libc-dev 		make 		pkgconf 		re2c
$_ENV['PWD'] => /app
$_ENV['PHP_SHA256'] => 53c8386b2123af97626d3438b3e4058e0c5914cb74b048a6676c57ac647f5eae

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact<EMAIL_ADDRESS>

Relevant log output
Here's some output (in order) from `frankenphp_request_headers()`, `getallheaders()` and `frankenphp_response_headers()`

Array
(
    [Connection] => close
    [User-Agent] => RapidAPI/4.2.0 (Macintosh; OS X/14.4.1) GCDHTTPRequest
    [Content-Length] => 2272
    [Accept] => application/json
    [Content-Type] => application/json; charset=utf-8
)
Array
(
    [X-Powered-By] => PHP/8.3.6
    [Content-type] => text/html; charset=UTF-8
)
Array
(
    [X-Powered-By] => PHP/8.3.6
    [Content-type] => text/html; charset=UTF-8
)

Good catch. It's definitely a bug. We need to update the alias defined in the stub.


[Automated] Update eventing-kafka-broker-eventing nightly

/assign @knative-extensions/eventing-wg-leads
/cc @knative-extensions/eventing-wg-leads
Produced via:
for x in eventing-crds.yaml eventing-core.yaml eventing-tls-networking.yaml; do
  curl https://storage.googleapis.com/knative-nightly/eventing/latest/$x > ${GITHUB_WORKSPACE}/./third_party/eventing-latest/$x
done

Details:
bumping knative.dev/eventing 4a3f65d...217f7a3:
  > 217f7a3 Create validation function for cross namespace referencing (# 7812)

/test reconciler-tests-namespaced-broker

/retest-required

/test upgrade-tests

/retest

Manual update in https://github.com/knative-extensions/eventing-kafka-broker/pull/3908


Integrate the SQF UI into the Cadastre as a Governance Tab

For the SQF Pilot, we will be funding the quadratic matching pool from Geo Web land market funds. To help reinforce the connection between the land market and the public goods funding of SQF, we want to integrate the Cadastre and SQF UIs as tabs on https://geoweb.land/.
Mockups: https://www.figma.com/file/91MErrXwszIqG1ITRWvh6G/Geo-Web-Mockups?type=design&node-id=5974-641&mode=design&t=SjRygsLGrtMZwobW-0
Requirements

Update the desktop header to include Cadastre and Governance tab (see mockup)

Set the SQF tab URL to https://geoweb.land/governance

The mobile will require a dropdown, removal of the funding counter, & moving the connect/profile element

Add a static message prompting mobile users to switch to landscape mode to interact with the Sankey Diagram

Remove the existing AA/Smart Account sign-in option and flow from the Cadastre

This should allow us to have a unified sign-in for the Cadastre & SQF
We will revisit AA integration and hopefully utilize the removed code down the road
Note: The menu/profile shown when the account is opened from the header will be different on the two tabs

Closed with #471


docs: add apacheCon trailer

history article

Please add Bilibili videos, related materials can be found in:

Apache-APISIX Official Bilibili account

Apache Local Community 北京本地社区

@moonming Do you want a Bilibili video under each topic (8 in total), or a trailer video in the beginning section?

in the beginning section is ok
Thanks,
Ming Wen
Twitter: _WenMing
yilinzeng @.***> 于2021年8月30日周一 上午11:25写道：

@moonming https://github.com/moonming Do you want a Bilibili video
under each topic (8 in total), or a trailer video in the beginning section?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/apisix-website/pull/525#issuecomment-907984646,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJZBK5L5AZJV5MNXBYPJ4DT7L2ZFANCNFSM5C445DNQ
.

in the beginning section is ok Thanks, Ming Wen Twitter: _WenMing yilinzeng @.***> 于2021年8月30日周一 上午11:25写道：
…
@moonming https://github.com/moonming Do you want a Bilibili video under each topic (8 in total), or a trailer video in the beginning section? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#525 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGJZBK5L5AZJV5MNXBYPJ4DT7L2ZFANCNFSM5C445DNQ .

Hi @moonming, after search on Apache-APISIX and Apache Local Community's Bilbili accounts, there is no videos suitable to put in the beginning section, because there is no individual introduction videos or trailers in these accounts.
The best way I can think of to work around this, is  is to add the following texts to the beginning:
"同时，ApacheCon Asia 2021 也为无法参加在线会议的各位开源爱好者提供了每个议题的回放和录播视频，详情请移步 Apache Local Community 北京本地社区。"
Since the article in this pr is a trailer, it would be inappropriate to add video recaption to it.  Maybe we can consider add a series of 'ApacheCon Recaption' blogs, and add  authors, topics, and videos in them?


A way to remove original UI to replace it with my own

Thanks for a great library! It is the only one supported and supporting modern Swift syntax :)
It works very well and I'd like to use it in my app.
But I need a way to remove debugLabel, debugMapButton and closeButton cause I will be using my own interface for augmented reality in product version of my app.
It is not totally impossible now, but I need to use dirty hacks like:
let currentSubviews = self.view.subviews

        for subview in currentSubviews {
            if subview is UIButton || subview is UILabel {
                subview.removeFromSuperview()
            }
        }

It would be cool to just call a specific method.

Hi, it seems I made a bug on last release, I was refactoring and forgot to call addDebugUi only if debugEnabled = true, currently addDebugUi is called always.
Regarding close button, there is closeButtonImage property so you can use that unless you need totally different layout.
I will fix it this weekend and add new release, I will also add ability to remove close button.
Thank you for the feedback and sorry for the trouble.

Great news! Thank you.
There was little trouble since I decided to write you at the early stages of development.

I've added ability to remove close button and to hide debug UI in version 1.1.1.


Sampler for MeetAny constraint

Think I covered everything there!

Looks great, thanks!  I'll get the next release out with this PR included shortly.


Is rapids ready for production?

Thanks a lot.

Yes, we had many PRC customers to use Spark Rapids in their product environment. @sameerz @viadea may have more examples from US.
cc @GaryShen2008

Cool.


Added  Sudoku MorseCode Translator and Blox-smash by NkTech-official

@Nktech-Official  Thanks for this great pull request. Nice projects.


Db2 LUW zOS service cannot be added. Test Connection fails due to possibly SQLAlchemy package issue

Affected module
Does it impact the UI, backend or Ingestion Framework? Ingestion Framework
Describe the bug
The "Test Connection" feature on the "Database Services" screen throws an error, when we try to add a DB2 service. The source is a DB2 LUW database, which we are trying to connect using SQLAlchemy.
To Reproduce
In the opemetadata-ingestion docker container:
docker exec -it openmetadata_ingestion bash
apt-get update
apt-get install libxml2
pip install "ibm-db==3.1.3"
pip install "ibm-db-sa==0.3.8"
On the OM UI
Services -> "Add a New Service" -> Choose DB2 -> db2+ibm_db is the only connection scheme available. Enter the user, password, host:port and schema name.
Screenshots or steps to reproduce
Error message:
Failed to test connection due to {"error": "Connection error from Engine(db2+ibm_db://dt224374:@db2databaseurl:50000/TPJ) - Unknown error connecting with Engine(db2+ibm_db://dt224374:*@db2databaseurl:50000/TPJ) - (ibm_db_dbi.ProgrammingError) ibm_db_dbi::ProgrammingError: SQLNumResultCols failed: [IBM][CLI Driver][DB2/AIX64] SQL0104N An unexpected token "END-OF-STATEMENT" was found following "1.3.1"} / SELECT 42". Expected tokens may include: "<table_expr>". SQLSTATE=42601 SQLCODE=-104\n[SQL: / {"app": "OpenMetadata", "version": "<IP_ADDRESS>"} /\nSELECT 42]\n(Background on this error at: https://sqlalche.me/e/14/f405)."}
It seems as though the generated query 'SELECT 42' here is wrong. DB2 expects that query to be 'SELECT 42 FROM SYSIBM.SYSDUMMY1;'
Relevant code: ./lib/python3.9/site-packages/metadata/orm_profiler/orm/functions/conn_test.py
Expected behavior
The test connection should succeed and the DB2 service should be created, instead of the error above.
Version:

OS: [e.g. iOS] (Host is CentOS 7, but the issue is inside the open-metadata-ingestion docker container.
Python version: 3.9 inside the docker container
OpenMetadata version: [e.g. 0.8] openmetadata/server:0.11.3
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ] openmetadata/ingestion:0.11.3
openmetadata/db:0.11.3
docker.elastic.co/elasticsearch/elasticsearch:7.10.2

Additional context
This may be more of an SQLAlchemy issue than an open-metadata issue, but open-metadata could circumvent by possibly :

Using a different driver internally, or a different or older version of ibm_db_sa which does not have this problem?
Supporting another toolkit/ORM apart from SQLAlchemy, which can extract from DB2 LUW and z/OS
Some custom connection scheme instead of the db2+ibm_db option which can extract schema successfully.

Thank you, @upenbendre, for asking in the SQLAlchemy community.
Note: DB2 is not supported directly by SQLAlchemy.

@nahuelverdugo
Can I mark this as close?