Add subjectAltName even for singular host

So I learned something new today, which is that certs which specify their host using only the commonName field have been deprecated for quite some time, and all publicly-trusted CAs have included subjectAltName even for single-host certs since 2012.
I learned this when Chrome suddenly refused to recognize any of the certs signed by my private CA (I kept getting net::ERR_CERT_COMMON_NAME_INVALID errors, a name which now seems frustratingly imprecise). After much searching I found this Chromium thread in which they discuss requiring subjectAltName. I'm on the Chrome beta track and saw it recently updated to 58.0.3029.19 beta so they must at least be testing this feature.
Anyway, I created new certs with subjectAltNames and the error went away, so here's the pull request. Thanks for the tool; it did exactly what I needed.

@radiac this is a tiny change, any chance it can be pulled in? Also wondering if this repo is still actively maintained.
Thanks!

@radiac +1 to include this change.


[CORE] Add junitxml path of scalatest-maven-plugin for backends-velox, spark33 and spark34

What changes were proposed in this pull request?
See https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin, it helps CI tools collect UT results.

@PHILO-HE please help review this minor patch, thank you!

Thanks for your work!
With this patch, some xml files will be generated under the configured path on CI server, right? Can we cover Spark32 tests?

Thanks for your work! With this patch, some xml files will be generated under the configured path on CI server, right? Can we cover Spark32 tests?

Spark32 already has such config, https://github.com/oap-project/gluten/blob/bc4c1ac753c4ca1822f6fcb23eeadee448912ac9/gluten-ut/spark32/pom.xml#L155

Thanks. We already set the option in root pom:
https://github.com/oap-project/gluten/blob/bc4c1ac753c4ca1822f6fcb23eeadee448912ac9/pom.xml#L567
Would you figure out whether it's working or not?

I think not, you can check your CI machine's backends-velox/target/scalatest-reports before this patch and this patch.

Did you find out why it's not working? May it relate to relative/abstract path or something?

Did you find out why it's not working? May it relate to relative/abstract path or something?

nope, -DtestFailureIgnore=true also not work.

can we merge?

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4573_time.csv
log/native_master_01_30_2024_ec7f10c58_time.csv
difference
percentage

q1
34.04
35.36
1.322
103.88%

q2
24.49
24.10
-0.396
98.38%

q3
38.28
38.51
0.232
100.61%

q4
38.42
38.16
-0.257
99.33%

q5
71.32
68.29
-3.035
95.74%

q6
5.36
7.27
1.906
135.55%

q7
84.01
82.16
-1.855
97.79%

q8
84.72
84.80
0.084
100.10%

q9
128.19
126.41
-1.784
98.61%

q10
45.84
44.51
-1.338
97.08%

q11
21.10
20.56
-0.538
97.45%

q12
27.50
28.18
0.678
102.46%

q13
46.57
45.37
-1.195
97.43%

q14
17.17
16.65
-0.518
96.98%

q15
28.56
28.38
-0.182
99.36%

q16
15.65
14.19
-1.459
90.68%

q17
103.47
101.24
-2.232
97.84%

q18
148.45
149.10
0.652
100.44%

q19
12.38
12.63
0.247
102.00%

q20
26.34
26.37
0.027
100.10%

q21
227.80
226.96
-0.840
99.63%

q22
13.68
13.51
-0.170
98.75%

total
1243.36
1232.71
-10.651
99.14%


Add submission download options

This PR contains the frontend work for getodk/central#150. It also closes #133.
Most of the work is done in a new component, SubmissionDownloadDropdown. We use event bubbling in that component. We rarely use event bubbling, and I needed to make a change to trigger in order to test the event bubbling. I also made a couple of other small changes to trigger.

Cookie auth / HTTPS is required for download — could that be it?

Ugh, how many more times/different ways am I going to ask this. It's unintuitive to me what does and doesn't work locally.


traffic_ops.ort.pl fails with syntax error

traffic_ops_ort.pl fails with the folowing error.
[root@cdn1cdedge0010 ort]# /opt/ort/traffic_ops_ort.pl badass debug https://cdn1cdcms0001.coxlab.net chs:w@term@rk -dispersion=0
syntax error at /opt/ort/traffic_ops_ort.pl line 2510, near "else"
Missing right curly or square bracket at /opt/ort/traffic_ops_ort.pl line 2587, at end of line
Execution of /opt/ort/traffic_ops_ort.pl aborted due to compilation errors.

this was fixed by https://github.com/Comcast/traffic_control/commit/2fd26e06fcd84f100b163edc2cacdfedc9ade7f2


alert with stateChangesOnly doesn't trigger OK on script start

There are 2 related scenarios here.

Lets say you have an alert with stateChangesOnly enabled, and kapacitor has triggered a CRITICAL alert. But then you stop the script, or kapacitor, or the whole host it's running on. While the script is stopped the condition clears. When kapacitor starts back up, it doesn't send an OK alert, and so any external systems still see the state as CRITICAL.
Similarly you have an alert with stateChangesOnly enabled, but you have a bad tick script which results in some erroneous alerts. So you fix the script and then redefine it in kapacitor. When the new script is started, it comes up in OK state, but an OK alert doesn't get triggered. An alert gets triggered if it's still in an INFO, WARNING, or CRITICAL state, just not OK. This results in the false alerts not getting cleared.

I think it would be a good idea to allow triggering an OK alert when a script first starts up.

@phemmer I think the correct solution is to store the alert state in a persistent manner instead of loosing it on process restart or task restart.
But that is a lot of work, and while it is on the roadmap, it is a ways out.
I like the idea of triggering an OK on start. This will only work though if Kapacitor receives new data. For example say host A goes CRITICAL and then kapacitor stops and host A recovers. When Kapacitor starts back up it will not know that host A exists until it receives the first point from host A. At that point it could fire an OK alert but not before, (for the same reason that all state is lost during a restart).
Will that still work for your current needs?

The only reason why I didn't mention the persistence is that it won't solve scenario 2. If the script is changed, what is your persistence key going to be? Meaning how will you know which alert needs an OK to be sent?
Maybe this is something we just don't support. Or maybe we use the persistence and send an OK when whatever is used as the key is not present in the updated script (though this feels a little wrong).
But anyway, I think having to wait for data before sending an OK is reasonable. That is in fact what I would expect.


[Bug]: Most linux distros use HiDPI now.  Post Save icons, and Action Icons shrink or are not sensitive to hiDPI scaling

Apache Hop version?
2.11-SNAPSHOT
Java version?
Java 17
Operating system
Linux
What happened?
After clicking the save icon which was normal size in HiDPI the saved state icon shrinks and is not sensitive to the HiDPI settings.  Also the "Action" menu on the Workflow and Pipeline are not sensitive to HiDPI settings.

Issue Priority
Priority: 3
Issue Component
Component: Hop Gui

can you try setting GDK_DPI_SCALE=2 and restarting Hop Gui?

I tried that. I gather that some common options like Save and Save As do not have scalable art.  That zoomed in the text and some of the icons elsewhere.


Add logic for handling a deeplink in a QR code

See issue #97
This update detects a deeplink in a QR code and redirects to the AddScreen for the deeplink to be handled similarly to when a deeplink is clicked outside the app.
I don't think this is ready for merging. A few notes:
The deeplink needs to specify at least vc_request_url, issuer and challenge as params.
Currently an deeplink without the correct parameters will redirect to the add screen without any error (this probably also applies to links clicked outside the app).
The overall flow from adding a credential this way is different from adding a CBOR-LD QR Code, since the user will be redirected to an auth flow. I'm assuming that is the intended behavior?
For parsing query parameters I used 'query-string', this was already an indirect dependency.

@dirkcuys - looks good! Can you fix the linting error?

@dmitrizagidulin - I added logic to check the parsed querystring to fix the linting errors. I opted to display an error if any of the required query params in the deep link is missing, or if any are double (ie  parses to string[]).


Bad audio quality

I installed this kext on a laptop with Ryzen 5 5500U. Microphone detected in settings, can record in Voice Memos but with a bad sound quality.

It's a known issue with Voice memos. You can try Quicktime for better sound quality.
Also, it should work normally with apps like Zoom or Messenger, etc.


Missing value of integrity attribute

Steps to reproduce
View the source of any page.
You can see that, in the <head> tag, the value of integrity attribute is missing for external stylesheets (<link /> tags):
For example, on this page I observed that:
<link href="/hextra/css/compiled/main.min.ecc9bbfeacf5a6f4e36c4a8ef28ad870def480b01c4126a5fb3f7fe92c9fb3a3.css" rel=stylesheet integrity>
<link href=/hextra/css/custom.min.e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css rel=stylesheet integrity>

Good catch again, thanks! It's a mis-spelling in the head template
https://github.com/imfing/hextra/blob/57134eae361effa32f80e56f0136814de95ff433/layouts/partials/head-css.html#L9
Should capitalize the integrity: .Data.Integrity


Fix broken link to Github from readthedocs

From https://testslide.readthedocs.io/en/latest/, the link to "Edit on Github" is currently broken.

Fixed, by setting a version number instead of "latest".


Multiuser usage problem

OS : windows 10
ray version : latest(<IP_ADDRESS>)
We would like to thank you very much for officially providing remote environment support with this update.
"Ray was unable to bind to the remote server's port. Is the port in use or is someone else using ray on this server?" Message is displayed and it does not work.
Is there a way that two workers can use it at the same time?
ray configuration file content.
<?php
return [
    'enable' => true,
    'host' => 'localhost',
    'port' => 23517,
    'remote_path' => null,
    'local_path' => null,
    'always_send_raw_values' => false,
];

Connection type : remote
Related images

ps. Use alone works well.
ps2. Even if the program is terminated, there is a bug that forced termination is not possible because the program resides in the process.

The port can be changed in the Ray program itself.
Supports multiple server transmission in the ray setting

How many multi-users would this not be possible?


Upgrade SDK to v1.11.0 for Watch OS 2 .

Thanks for hard work for Watch OS 2.
I download 1.11.0 SDK and replace old SDK.Upgrade target to Watch OS2.
When I build I got
ld: file is universal (5 slices) but does not contain a(n) armv7k slice: /Users/yang/Documents/Xcode/Circle/OpenSource/Bolts.framework/Bolts file '/Users/yang/Documents/Xcode/Circle/OpenSource/Bolts.framework/Bolts' for architecture armv7k
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Is there any doc for Watch OS 2?

Hey @powhu,
It looks like you are trying to integrate iOS version of Bolts.framework into a watchOS app.
To fix this - I would recommend trying out a watchOS starter project from the releases page here.
Or using CocoaPods with pod 'Parse' for your watchOS 2 target.
Please note that binaries from iOS/watchOS/tvOS/OSX are not compatible with each other, and you need a framework that is built specifically for each platform.
All of these are available on the releases page of this repository or Bolts-ObjC
Let me know if you run into any issues or need help with the setup of something explicit.

@nlutsenko
Thanks a lot.
Using CocoaPods solved my problem.


Regex seems to always take priority

I'm new to Rust and new to Logos, so this could just be me...but when using regex is seems like it always stomps on the other tokens.  The snippet below has essentially calls out three tokens, one represents an action alert, another is protocol tls and then network information.
Here is the code with a regex
use logos::Logos;
use regex::Regex;

#[derive(Debug, Logos, PartialEq)]
enum Token {
    #[token("alert", priority = 2500)]
    Action,

    #[token("tls", priority = 200)]
    Protocol,

    #[regex(r"([^\s]+) ([^\s]+) (->|<-) ([^\s]+) ([^\s]+)", priority = 0)]
    NetworkInfo,

    Error,
}

struct SuricataLexer<'a> {
    lexer: logos::Lexer<'a, Token>,
}

impl<'a> SuricataLexer<'a> {
    fn new(input: &'a str) -> Self {
        SuricataLexer {
            lexer: Token::lexer(input),
        }
    }

    fn next_token(&mut self) -> Token {
        self.lexer.next().unwrap().unwrap_or(Token::Error)
    }
}

fn main() {
    // Sample Suricata rule
    let input = "alert tls $HOME_NET any -> $EXTERNAL_NET any (msg:\"some bs\")";

    // Create a SuricataLexer instance
    let mut lexer = SuricataLexer::new(input);

    // Tokenize the input and print the results
    while lexer.lexer.span().end < input.len() {
        let token = lexer.next_token();
        println!("{:?}", token);
    }
}

This outputs:
Error
Error
NetworkInfo
Error
Error

However, if I comment out the NetworkInfo section, my Action and Protocol will work just fine.
Output:
Action
Error
Protocol
Error
Error
....

This part of the input $HOME_NET any -> $EXTERNAL_NET represents a source host, source port, direction, destination host and destination port.  These things are pretty fluid so outside of regex, not really sure of how I would go about targeting them.
Is there a way to have regex not overpower everything around it...or am I doing something incorrectly?  I read the token-disambiguation but couldn't seem to find a way to lower regex priority.

Hello, thanks for sharing your issue!
First, let me suggest this simpler MWE, so it is easier to debug:
use logos::Logos;

#[derive(Debug, Logos)]
enum Token {
    #[token("alert")]
    Action,

    #[token("tls")]
    Protocol,

    //#[regex(r"([^\s]+) ([^\s]+) (->|<-) ([^\s]+) ([^\s]+)")]
    NetworkInfo,
}

fn main() {
    let input = "alert tls $HOME_NET any -> $EXTERNAL_NET any (msg:\"some bs\")";

    let mut lexer = Token::lexer(input);
    while let Some(token) = lexer.next() {
        println!("{:?}", token);
    }
}

Second, I think this is a duplicate of #358, and maybe #265. Hopefully, the bug fix mentioned in #265 by @jameshurt might solve this, but I am waiting for a reply :-)


Unified date, time, and datetime input widgets

These changes add three custom Handsontable editors to handle editing times, dates, and datetimes. Each inherits from one editor superclass that handles setting up a Flatpickr instance and hooking it up to the necessary Handsontable events. The concrete subclasses are just responsible for providing Flatpickr configuration. I chose Flatpickr over native browser inputs because the native controls generally lack the ability to control the formatting of the selected date. These editors are registered as part of three custom cell types and applied to columns based on the column datatype. The format of the values as displayed in the Handsontable grid are controlled by three new options that can be passed to the DataHarmonizer constructor. Acceptable values for these options should be based on the Unicode standard date and time tokens. Fixes #391
These changes also make the utility functions dataArrayToObject and dataObjectToArray used in JSON import/export aware of the DataHarmonizer instance's date and time formats and provide finer control over how to serialize/deserialize dates. This is ultimately controlled by another new DataHarmonizer constructor option. The default is that exported JSON will have dates in a format that is compatible with JSON Schema validation. Other possible options are having dates serialized according to the default serialization of Date objects or in the same format as they're displayed in the Handsontable grid. Fixes #389.

@ddooley I think this read for review now. Please let me know if you'd like me to walk you through any of it!


fix: fix imports for standalone use

Fix all missing @import for a standalone use of each components.

CDS Report yarn-build-ui-kit#1178.0 ✘

build

build ✘


Incorrect colors in ViewRenderable

Hello, @ThomasGorisse!
When using the colors with the full pixel intensity, for example, the red #ff0000, green #00ff00 and blue #0000ff colors, they are displayed incorrectly on a ViewRenderable. This can be tested by changing the label background color here:
https://github.com/ThomasGorisse/sceneform-android-sdk/blob/master/samples/gltf/src/main/res/drawable/rounded_bg.xml#L18
I think that this is caused by the inverseTonemapSRGB function here:
https://github.com/ThomasGorisse/sceneform-android-sdk/blob/master/core/assets-sources/materials/sceneform_view_material.mat#L41
Should I ask about that in the Filament repository since I get the same results in the hello-triangle example?

Hi @grassydragon,
You are totally right about it.
Actually I put it in the TODO list since I was not completely sure about the ViewRenderable inverseTonemapSRGB original usage reason.
I already removed it elsewhere (in the Renderable class from what I can remember) without issues (also from what I can remember).
I actually try not to spend too much time on the Sceneform little bug fixes and focus more on the new framework publication date.
But it would be very helpful for anyone using Sceneform if you could ask the Filament team about the reason why inverseTonemapSRGB could have been used. Link the question to this issue and make a quick PR.
Thanks a lot for your great report !

As I understand the inverseTonemapSRGB does two things. It converts the color from the sRGB space to the linear space and applies the inverse transformation to cancel the tone-mapping effect. The problem can be solved by converting the color manually as described in the FIlament materials guide: https://google.github.io/filament/Materials.html#handlingcolors/linearcolors. I will ask about that because I am not sure about the performance impact.


Fatal error from a tool results in "Success with 0 issues found."

Note: Conception-go is a large unsupported repository with low quality Go code. It's not a goal to have it work well; I'm just using it as an opportunity to spot an issue that can happen in another useful Go repository.
See https://gci.gopherci.io/analysis/1156:

However, one of the tools failed to complete running:
$ staticcheck ./... 33.577s
fatal error: runtime: out of memory

It looks like a failure (non-zero exit code) from a tool isn't being correctly recognized and reported. This is bad, because it can give a false sense of confidence ("GopherCI told me were no issues in this commit; it turned out there were some issues but they weren't reported due to some problem").

Reporting “Success” isn’t correct here, although, non zero exit codes are normal for static analysis tools. I’ll need to see if there’s a cleaner way or I will need to special case some of these messages.

non zero exit codes are normal for static analysis tools

Do you mean it's normal for static analysis tools to give non-zero exit code and report no problems?

Do you mean it's normal for static analysis tools to give non-zero exit code and report zero problems?

Ah no, I misunderstood your point. But I then agree, a non-zero exit status with no issues detected should then be considered an unknown state to be raised to the user.


The project is using an incompatible version (4.2.0-alpha10) of the Android Gradle plugin.

The Upgrade Assistant failed to upgrade this project, finding no way of performing the Upgrade AGP version from 4.2.0-alpha10 to 4.2.0-alpha12 command, possibly because the project's build files use features not currently supported by the Upgrade Assistant (for example: using constants defined in buildSrc, or other unrecognized constructs, in Gradle build files).
Android Studio 4.2 Canary 12
Build #AI-202.63<IP_ADDRESS>47140, built on September 18, 2020
Runtime version: 11.0.7+10-b765.53 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 8

Can you share your gradle file ? I think the problem is because your gradle-wrapper version differs from the gradle plugin version

I'm closing this issue as we've upgraded all samples to AGP 4.2.0-alpha13 in #212

facing this same problem with  4.2.0-alpha13.
The Upgrade Assistant failed to upgrade this project, finding no way of performing the Upgrade AGP version from 4.2.0-alpha13 to 4.2.0-alpha14 command, possibly because the project's build files use features not currently supported by the Upgrade Assistant (for example: using constants defined in buildSrc, or other unrecognized constructs, in Gradle build files).

@manmohan777
Doing a global find for "alpha13" and replacing it with "alpha14" resolved this issue for me. The OWL sample builds and runs, but none of the previews appear to work (with Android Studio 4.2 Canary 14)

None of the Compose Preview projects work for me.  Not even the OWL sample.
Problem has persisted for a few months in the 4.2 Preview.

facing this same problem with 4.2.0-alpha13.
The Upgrade Assistant failed to upgrade this project, finding no way of performing the Upgrade AGP version from 4.2.0-alpha13 to 4.2.0-alpha14 command, possibly because the project's build files use features not currently supported by the Upgrade Assistant (for example: using constants defined in buildSrc, or other unrecognized constructs, in Gradle build files).

I had same issue where I was asked to upgrade from 7.0.0-beta01 to 7.0.0-beta03.
I searched Project Wide for 7.0.0-beta01
Navigated to com.example.compose.jetsurvey.buildsrc and within that opened dependencies.kt
there was a dependency as const val androidGradlePlugin = "com.android.tools.build:gradle:7.0.0-beta03"
changed from 7.0.0-beta01 to 7.0.0-beta03 and it complied fine


Issue 580/standard visualization

Fixes #580
Changes in this pull request address the need to DRY up visualization implementations. This is a work-in-progress, so things are likely to change as requirements evolve.

This is really cool!
One thing im not quite following yet is what is the vision for how this gets used? Something like
<StandardVisualization>
    <Scatterplot />
</StandardVisualization>

or would it call the Scatterplot component inside based on the VisualizationProps part of the props?

This is really cool!
One thing im not quite following yet is what is the vision for how this gets used? Something like
<StandardVisualization>
    <Scatterplot />
</StandardVisualization>

or would it call the Scatterplot component inside based on the VisualizationProps part of the props?

This is really cool! One thing im not quite following yet is what is the vision for how this gets used? Something like
<StandardVisualization>
    <Scatterplot />
</StandardVisualization>

or would it call the Scatterplot component inside based on the VisualizationProps part of the props?

@asizemore that's a good question. This isn't really finalized, and a lot of details are missing, but I was thinking it would be used more like this:
function ScatterPlotVisualization(props) {
  return (
    <StandardVisualization
      {...props}
      renderPlot={(data) => (
        <ScatterPlot data={data}/>
      )}
  );
}

I have made some more progress on this PR. @asizemore see https://github.com/VEuPathDB/web-eda/blob/9b5d72d0feb310863683c069277cf141a4762a63/src/lib/core/components/visualizations/implementations/TestVisualization.tsx#L52-L95 for an example of how to use StandardVisualization.
At this point, I would love feedback about the current approach. Specifically, is the interface clear enough to tell a story, or is it utterly confusing? Note that I decided to use a factory function[^1] pattern for this interface, which returns a React component. The motivation for using a factory function, rather than using the StandardVisualization component directly, is that it removes some moving pieces, and it removes the need to use memoization hooks for props being passed to StandardVisualization.
CC: @asizemore @bobular @chowington @jtlong3rd @moontrip
[^1]: A factory function is a function that returns an object. In this case, the object being returned is a React Component. Technically, a function is being returned, so this could also be called a higher order function. However, there are several different kinds of React Components (function, class, and object). Thus, conceptually, this is closer to a factory function.

I was just looking at the discussion in #1086 and realized we had discussed the possibility of handling computed variables in the variable coverage table. Is the idea that if these variables/config are appropriately mapped via the inputs to StandardVisualization, then the variable coverage table would look there for all of the vars?

I was just looking at the discussion in #1086 and realized we had discussed the possibility of handling computed variables in the variable coverage table. Is the idea that if these variables/config are appropriately mapped via the inputs to StandardVisualization, then the variable coverage table would look there for all of the vars?

Yes! I'm taking an iterative approach to this. First, I'm going to get the existing visualizations working with this, including making the summary views (table, birds eye, etc) in StandardVisualization. Then, I will start adding the features we've been talking about for apps. We can revisit this plan of action if our timeline is too short.

I'm definitely on board! I think we can ramp up development on this pretty soon. I think once we have an existing visualizations ported over, it won't be difficult to start adding the new features, and port the other visualizations in parallel. Maybe I should start with box or scatter...


Add a "Display Name" field on event registration.

One of the organizers of geocode bent my ear about not getting reliable names from the various OAuth providers on user registration. We could grab the name from the provider, prepopulate the field but then allow them to override it? The organizer had a significant number of crazy or missing name data.

Absolutely, should be a required filed as well.


Colormap failing to serialize for tile endpoints

It looks like some colormaps can easily become too large when serialized to pass through as a URL parameter. Take the following example originally reported in https://github.com/opengeos/leafmap/discussions/966
Create the sample data
import numpy as np
import rasterio

l = list(range(0,80,1))
l.extend([65535]*10) # 65535 means missing data
l.extend([65533]*10) # 65533 is another special value
nparr = np.array(l, dtype=np.float32)
nparr[nparr<65000] /= 10
nparr = nparr.reshape([10,10])
GT33 = (1000.0,0.0,300000.0,0.0,-1000.0,7000000.0)

profile = {
    'driver': 'GTiff',
    'height': nparr.shape[0],
    'width': nparr.shape[1],
    'count': 1,  # Number of bands
    'dtype': nparr.dtype,
    'crs': 'EPSG:32633',
    'transform': GT33,
}

with rasterio.open('output.tif', 'w', **profile) as dst:
    dst.write(nparr, 1)  # Write data to the first band

Attempt plotting
Create the colormap
import matplotlib.colors as mcolors
import matplotlib.pyplot as plt

colors = ['green', 'yellow', 'orange', 'red']
cmap = mcolors.LinearSegmentedColormap.from_list('custom_cmap', colors)
cmap.set_under('grey')
cmap.set_over('grey')

Attempt to use with localtileserver (not that the above/below colors are unused:
import localtileserver as lts
client = lts.TileClient('output.tif')
client.tile(10, 543, 279, nodata=65535, colormap=cmap, vmin=0, vmax=10)

and if I try to use on a map:
m = client.get_leaflet_map()
m.zoom = 11
m.add(lts.get_leaflet_tile_layer(client, nodata=65535, colormap=cmap, vmin=0, vmax=10))
m

then I see browser network errors: 414 Request-URI Too Large
Summary

above/below colors on a matplotlib LinearSegmentedColormap are not used
serializing the LinearSegmentedColormap is too large for the URL parameters and silently fails

In case anyone out there knows of a better way to serialize and pass along the colormap, I am currently serializing it to JSON and injecting it as a URL query parameter here:
https://github.com/banesullivan/localtileserver/blob/0920f747a027863b6434e64574b67008e5180d3a/localtileserver/client.py#L456-L469

TiTiler supports JSON encoded custom Colormap. Not sure if its implementation be useful to localtileserver.
https://developmentseed.org/titiler/endpoints/cog/#description
import leafmap
url = "https://github.com/opengeos/datasets/releases/download/raster/nlcd_2021_land_cover_30m.tif"
colormap = {
    "11": "#466b9f",
    "12": "#d1def8",
    "21": "#dec5c5",
    "22": "#d99282",
    "23": "#eb0000",
    "24": "#ab0000",
    "31": "#b3ac9f",
    "41": "#68ab5f",
    "42": "#1c5f2c",
    "43": "#b5c58f",
    "51": "#af963c",
    "52": "#ccb879",
    "71": "#dfdfc2",
    "72": "#d1d182",
    "73": "#a3cc51",
    "74": "#82ba9e",
    "81": "#dcd939",
    "82": "#ab6c28",
    "90": "#b8d9eb",
    "95": "#6c9fb8",
}
m = leafmap.Map(center=[40, -100], zoom=4, height="650px")
m.add_basemap("Satellite")
m.add_cog_layer(url, colormap=colormap, name="NLCD Land Cover", nodata=0)
m.add_legend(title="NLCD Land Cover Type", builtin_legend="NLCD")
m.add_layer_manager()
m

See also the example @giswqs posted where the colormap is written directly to the raster: https://leafmap.org/notebooks/103_raster_colormap/


Frequency-based antenna parameterization

The existing antenna designs are based on some sort of length parameter. We should probably use frequency to drive the size, and use a factor parameter to show how the length deviates from an exact dependence on wavelength.

Started a subdirectory called freq_based in #13


fix: allow to specify store path for multi-files with folders

What is the purpose of this pull request? (put an "X" next to item)
[ ] Documentation update
[X] Bug fix
[X] New feature
[ ] Other, please explain:
What changes did you make? (Give an overview)
Allowed the user to optionally specify a path, when declaring multiple files.
Which issue (if any) does this pull request address?
With this file paths will be treated as relative, not absolute, this fixes the issue of residual folders after the store is destroyed, it also includes the changes from https://github.com/feross/fs-chunk-store/pull/16 which this would break
https://github.com/webtorrent/webtorrent/pull/2121
I focused on making non-breaking changes, however this isn't the best solution, the user could get confused and treat the path as the path for the store, not the store's path, meaning a folder might get recursively deleted, when the user didn't mean to do so, a much better solution would be using something like name alongside the path, but that would either need a re-structure or have the name to be required

Tests would be nice, repo needs to be migrated to GH actions

Tests would be nice, repo needs to be migrated to GH actions

yeah tests would help, I already found a bunch of issues with this XD


Rules - Disabled eReceipts toggle can't be enabled back

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.49-1
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
As the admin of a USD Control workspace that has never enabled Rules in the past

Navigate to More Features in the workspace editor
Enable Rules
Navigate to the Rules page in WS editor
Disable eReceipt toggle
Try to Enable eReceipt toggle back

Expected Result:
eReceipt toggle can be enabled back
Actual Result:
eReceipt toggle can't be enabled back after it is disabled
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/687687f5-032d-4726-9c41-1f31dba01b77

View all open jobs on GitHub

@adelekennedy  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

This should be debugged in BE side. Afte changing currency of the policy in ND the eReceipt toggle (BE handling the eReceipt setting) will only work after the workspace page in the OD is reloaded. Quite Odd

reproduced


E_VALIDATION regression bug

After running npm install, suddenly we get Error (E_VALIDATION) :: 1 attribute is invalid
This seems to work and not work in Waterline 0.10.28.
Any new npm install will fail with our latest stable code.
I have a collegue who zipped up his node-modules-foler, and it works for me using that.
We solved it temporarily by running npm shrinkwrap, via the working copy of node_modules.
I then made a fix where the previous team had a row:  var WLValidationError = require('../../node_modules/sails/node_modules/waterline/lib/waterline/error/WLValidationError.js');; I now tried to install waterline 0.10.28 and do:  var WLValidationError = require('waterline/lib/waterline/error/WLValidationError.js');
Then I got the same error as above on an isolated test.
I went into our project's waterline and did npm shrinkwrap and compared the results with the sails/waterline part of our project shrinkwrap. You can see the results here: https://gist.github.com/marcusnielsen/b390dd438a31989042a9 .

Hey @marcusnielsen sorry to hear that. What attribute validations are failing? We pushed a new version of Anchor (our validation library) not too long ago but there weren't any breaking changes. Can you post the validations you have set on that failing attribute?

Usually the consultant team made some custom validations like so:
var MasterClient = {
  // Enforce model schema in the case of schemaless databases
  schema: true,
  attributes: {
org_number: { type: 'string', required: true, beCountryCodeFormatted: true, uniqueIfNotDeleted: asyncValidations.uniqueIfNotDeleted },

// SNIP

types: {
    uniqueIfNotDeleted: function(org_number, result){
      return result;

    },

// SNIP

var asyncValidations = {
  uniqueIfNotDeleted: function(cb) {
    var id = this.id;
    sails.models.masterclient.find({org_number: this.org_number, deleted: {'!': true} })
    .exec(function(err, mClients){
      if(id){
        mClients = _.reject(mClients, "id", id);
      }
      return cb(_.isEmpty(mClients));
    });
  },
};

Error output:
Invalid attributes sent to MasterClient:
 • org_number
   • "uniqueIfNotDeleted" validation rule failed for input: 'SE8765432123'

Stack trace: https://gist.github.com/marcusnielsen/05dc9267e68c8e1c97c5
Note that it happens when barrels runs. And as I said before, exactly the same project code works with the right node_modules structure, but not if we npm install without our current shrinkwrap.

I'm pinpointing the culprit by deleting node_modules and pasting the working ones from the shrink-wrapped folder. So far:

Barrels gave the same error.
Sails gave no error.
Sails/waterline gave no error.

I will move down the tree and keep trying to find the smallest unit that removes the error and then give you an update.

Changing sails to install "waterline": "=0.10.28" and running npm install works.
=0.10.29 and =0.10.30 does not work.

So 0.10.28 does not include anchor. I guess sails does some magic fallback to include another anchor.
Including anchor from 0.10.29 into node_modules in 0.10.28 breaks our tests with above error.
Removing anchor from 0.10.29 node_modules makes our tests pass without the above error.
Is this sufficient info for you to work with?
Suggestions?

Anchor 0.11.0 was set in Waterline 0.10.29 so it sounds like that is it. It could be related to https://github.com/sailsjs/anchor/issues/102. I'm not quite sure whats going on with that custom definition but that issue on Anchor could be a start to your debugging.

Tried to fix return cb(_.isEmpty(mClients)); to return cb({valid: _.isEmpty(mClients)});, and it now throws an error on the next async validator. So this should be easy to go through and fix. Thanks for the link! It saved our asses this time!
Off-topic: I read in sailsjs/anchor#102 that this is not the documented way for doing async validation. Then what is the documented way?

@marcusnielsen thanks for the follow-up!

Then what is the documented way?

@marcusnielsen @particlebanana Re documentation: custom validations are documented: http://sailsjs.org/documentation/concepts/models-and-orm/validations#?custom-validation-rules
That said, in the interest of being completely transparent on my personal opinions towards this feature and the way it affects the structure of a Sails app, I added some background on the topic here.

[..]write complex custom validations using services or machines and calling those helper functions before updating or creating records[...]

These are the docs I'm looking for!
I actually had the discussion of going with lifecycle hooks to avoid multiple DB lookups during validation.
But the docs just list the hooks, and doesn't tell us the best place for custom async validations: http://sailsjs.org/documentation/concepts/models-and-orm/lifecycle-callbacks .
So the reasoning from us as a team was that custom validations via lifecycle hooks felt like an undocumented approach, and would be too risky in the long run. So to politely ask the question a bit differently:
Is there a documented way of doing async custom validations?
It doesn't even need to be official, just something to throw out to the team that's not my own interpretations of what's being said here. We all agreed on our current implementation being not-so-good.

@marcusnielsen not that I know of off the top of my head. To be honest I don't use custom validations so I'm not aware of pitfalls using them.
For normal async validations there are some docs in here.

Summary of my perspective: Don't use the documented way of doing custom validations (above link provided by @particlebanana).
Use lifecycle hooks. But that's undocumented, and doesn't seem to be able to access anything but values provided into the #beforeValidate(values, cb) method. See docs: https://github.com/balderdashy/waterline-docs/blob/master/models/lifecycle-callbacks.md
So we can close this bug, but I still don't know how to do validations in a good fashion.


Announcement: RealSense Depth Module D450 + Vision Processor pack now in the RealSense Store

Hi everyone,
A pack of RealSense Depth Module D450 + Vision Processor board is now available in the official RealSense Store.
https://store.intelrealsense.com/buy-intel-realsense-depth-module-d450-and-d3-board-bundle-1.html

Under Tech specs it says:
RGB Sensor Resolution and Frame Rate | 1920 x 1080 at 30 fps
Is that a misprint? Or does it have a different color camera than the D455?

Under Tech specs it says:
RGB Sensor Resolution and Frame Rate | 1920 x 1080 at 30 fps
Is that a misprint? Or does it have a different color camera than the D455?

Misprint.  Thanks for informing us.

Misprint.  Thanks for informing us.

Thats great news. Why is this bundled with a D3 Vision processor, and not the D4 vision processor? - D455 comes with D4 as does the other modules. Is this too a misprint too? If not, is there a difference in performance compared to D455?

Thats great news. Why is this bundled with a D3 Vision processor, and not the D4 vision processor? - D455 comes with D4 as does the other modules. Is this too a misprint too? If not, is there a difference in performance compared to D455?

Sorry, this is another typo. There is no D3 VPU board, actually it is called V3 version of D4 VPU Board which is for D450 module.
Thanks

Sorry, this is another typo. There is no D3 VPU board, actually it is called V3 version of D4 VPU Board which is for D450 module.
Thanks


Wrong include paths generated by schemagen?

Hello, following https://github.com/microsoft/cppgraphqlgen/pull/150, shouldn't the include paths generated by shemagen be changed from graphqlservice/[...] to graphqlintrospection/[...] ?

Ah, that's a search/replace bug in the CMake logic. It's not supposed to install in graphqlintrospection.

Ah, that's a search/replace bug in the CMake logic. It's not supposed to install in graphqlintrospection.


feat: add OTeL metrics

Issue #, if available: n/a
Description of changes: I've implemented a feature that enables the emission of OTeL metrics in a 'one-shot' format. When the application runs in Kubernetes and emits OTeL metrics, the corresponding node hosting the pod will be labeled in a way that the associated daemonset does not tolerate. Consequently, after the application completes, the pod won't be rescheduled.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This is great! Thanks! I've quickly looked things over and it looks good to me so far, but still need to take it for a test run. Things are a bit busy at the end of the year / beginning, but will try to get back to this soon.

@bwagner5 thank you so much!

@bwagner5 just wanted to bump this thread again to have a look at this PR


[BUG] NRE in Upsert when writing string[]

Version
5.0.10
Describe the bug
I want to write a string[] as BsonValue. The code which worked with LiteDB 4.1.4 throws a NullReferenceException in 5.0.10.
Code to Reproduce
[Fact]
public void Upsert_StringArray()
{
    using (var liteDatabase = new LiteDatabase(new MemoryStream()))
    {
        var items = liteDatabase.GetCollection("items");

        var bdoc = new BsonDocument();
        bdoc["_id"] = Guid.NewGuid();
        bdoc["stringArray"] = new BsonValue(new string[] { "a" });

        var docs = new List<BsonDocument>() { bdoc };
        items.Upsert(docs);
    }
}

Expected behavior
The string[] would be written to the database.
Stacktrace
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at LiteDB.BsonValue.GetBytesCount(Boolean recalc)
   at LiteDB.BsonValue.GetBytesCountElement(String key, BsonValue value)
   at LiteDB.BsonDocument.GetBytesCount(Boolean recalc)
   at LiteDB.Engine.DataService.Insert(BsonDocument doc)
   at LiteDB.Engine.LiteEngine.InsertDocument(Snapshot snapshot, BsonDocument doc, BsonAutoId autoId, IndexService indexer, DataService data)
   at LiteDB.Engine.LiteEngine.<>c__DisplayClass31_0.<Upsert>b__0(TransactionService transaction)
   at LiteDB.Engine.LiteEngine.AutoTransaction[T](Func`2 fn)
   at LiteDB.Engine.LiteEngine.Upsert(String collection, IEnumerable`1 docs, BsonAutoId autoId)
   at LiteDB.LiteCollection`1.Upsert(IEnumerable`1 entities)

Additional context
In BsonValue.GetBytesCount this.Type is BsonType.Array but this.AsArray returns null.
Maybe I'm doing this wrong. If you tell me how I should convert arrays to BsonValues in a different way, I'd also be fine. Especially if I could write/read different kinds of arrays. Currently I'm limited to string arrays.

@MichaelRumpler The BsonValue constructor should never be used for arrays (and document)s. You should use the BsonArray constructor instead. BsonArray inherits from BsonValue, and if you call the BsonValue constructor directly, you'll end up with an instance that is not a BsonArray but which has Type == BsonType.Array. Try using something like this:
var bsonArray = new BsonArray(new BsonValue[] { "a" });

I ended up using BsonMapper.Global.Serialize. This seems to work too so far.
Apparently I did something wrong, but it still worked in v4 and breaks in v5. I'll leave this issue open. If you decide that it is ok to throw in v5, you should at least throw a better exception. The NRE tells you nothing.

@MichaelRumpler This worked in LiteDB v4 because the BsonArray class didn't exist yet, so everything was a BsonValue.
Calling BsonMapper.Global.Serialize(...) is probably the best solution right now, as it should work for any time in any situation.
I'll leave this issue open for now, while I think of a way to solve or mitigate this issue.


Bug Report: there's no shortcut icon on Fedora 32 with Gnome

Describe the bug
When I press windows key to see installed softwares, this app is there but with gnome default icon.
Screenshots

Expected behavior
I assuming the app should have an icon.
Desktop (please complete the following information):

OS: Fedora 32 Workstation
App Version: PRODUCTIVITY-TIMER-v3.0.0-linux.rpm

I didn't see that happening to my Manjaro. It's rare, but I advice if possible just install the app using snap.
If the issue still persist even using the snap package please inform me. Thank you @hunkjazz .

It persists only for the .rpm release.
Snap package works fine.

I have the same problem: Screenshot. OS: Fedora 32 Workstation

@vladspirin I honestly don't know why it's happening.
That is why I personally suggest using the snap package instead of others when using on Linux machines.
Using snap you will also always up-to-date because .rpm doesn't support auto-updates for Linux as far as I know.
If possible just install the app using SnapStore.
Thanks for understanding.

I'll add a task this weekend to setup a fedora VM and give it a test. I assume it'll be something simple e.g. either the file on the desktop has a missing tag for the image or is pointing to the wrong location for some reason.

Thank you so much @sekwah41.
You will find the configuration here at app/main/package.json.
I initially tried to fix it up, but I can't confirm if it solves the problem. Thank you

@sekwah41 If you have still extra time,
I would like to ask a favor if possible please include in your test  if issue #127 has been fixed.
Thank you friend.

@roldanjr
Are you planning to release a "flatpack" version?

Maybe soon @vladspirin. I used Electron Builder to distribute the app and it doesn't support flatpak yet. But it's a great idea having that.

can confirm on fedora 32 using the rpm

taking a look a the documentation, ill make a pr fixing both the Linux issues


crosslinks: Only link existing tiddlers

When autolinking CamelCase, the current version displays all CamelCase text detected in the current tiddler in its reference section, whether this matches an existing tiddler or not. This proposed change adds an existence test to avoid referencing empty tiddlers.

Closed following our conversation via MP on talk.tiddlywiki.org. Thanks!

Updated the title so it's easier to scan for future readers.
With crosslinks 0.4.0, you can now override the links and backlinks filters to list links and backlinks as you see fit.


UHDM Plugin: Anonymous structs fail to be converted to AST in current plugin

Example module
module anon_module

   (
    output logic                                    all_done
    );

   typedef struct packed {
     logic                      a;
     logic                      b;
   } typedef_struct_thing;

   typedef_struct_thing [50:0]   data;

   struct packed {
     logic a;
     logic [100:0]      b;
   } [200:0] anon_struct;

   always_comb begin
     data[0].a = 0; //ok
     anon_struct[0].a = 0; // Not ok
     all_done = anon_struct.a;
   end

endmodule : anon_module

This example will fail to be read into yosys. Specifically it lacks the information added by add_multirange_attribute both multirange inputs are totally empty in the case of anon_struct, but are filled in for data. Giving a typedef name to the anon struct also fixes the issue.

@kbieganski @alaindargelas added more details in the linked issue above.

@hzeller Can you help prioritize this issue. It's one of the blockers on the internal project

@QuantamHD It looks like now we have all necessary information in UHDM file. I've started implementing support for this in uhdm-plugin.

@QuantamHD I merged PR adding support for this to master.


[💡 FEATURE REQUEST]: newrelic: option to consider some http codes as not error codes

Plugin
No response
I have an idea!
Currently, if the status code is f.e. 412, it will be reported as an error. However, for some applications, 412 is the expected result and it should not be reported as an error but as a normal transaction. The solution for this is to
Add a configuration field to the newrelic section:
error_status_codes: 500,424
If the status code is listed there, mark the transaction as the error. Otherwise, report it as a normal, successful transaction.

Sorry @arku31, that's not possible due to the new_relic library architecture.


Does not preserve line

This plugin is amazing. It is a life saver for our setup. (we use Bazel, and Bazel creates virtual symlinks for all headers)
I'd like to report one issue though. When you navigate to some definition (e.g. ctrl+click on a function) then this plugin opens header file, but cursor is on the top of file, so you need to manually scroll to find the function definition that you were navigating to.

I tried this code locally and it worked fine for me.
As I understood it works this way:  navigate event sends two async events 'open file' and 'move caret'. And all events are processed by FileEditorManager. So to catch 'move caret ' event we need to schedule our event so that it happens after those two events.
// Original code replaced in FileOpenListener.java
// source.closeFile(file);
// source.openFile(realPathFile, true);

Editor textEditor = source.getSelectedTextEditor();
source.runWhenLoaded(textEditor, () -> {
    LogicalPosition pos = textEditor.getCaretModel().getLogicalPosition();
    source.closeFile(file);
    source.openFile(realPathFile, true);
    source.getSelectedTextEditor().getCaretModel().moveToLogicalPosition(pos);
});


Ollie: Watch blessedilluminatirecriutmemt.it(?:@gmail.com)?

Ollie requests the watch of the watch_keyword blessedilluminatirecriutmemt\.it(?:@gmail\.com)?. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

blessedilluminatirecriutmemt\.it(?:@gmail\.com)? has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


simplify text

right now "de facto" is not needed as Potlatch died
BTW, it would be nice to linkify JOSM but I have not figured out how to do this

I also converted 'JOSM' to a LearnOSM-internal link


Postgres permission denied to change default privileges

I have done some testing using the settings grantToAdmin false and extraPrivileges rds_iam.
First impression is that it seems to do what is expected, but it presents an side effect because the AWS master user (admin used by the operator) is not a real superuser, it is more limited.
Without taking the readwrite of readonly role (which I do not want because of their rds_iam role), the admin user gets a permission denied ("error": "pq: permission denied to change default privileges") on
ALTER DEFAULT PRIVILEGES FOR ROLE \"user-rw\" IN SCHEMA \"dbschema\" GRANT SELECT, INSERT, DELETE, UPDATE ON TABLES TO \"user-rw\";
Which seems to be origination from  https://github.com/db-operator/db-operator/blob/174782644ee8c33ec084f0776fca02e6287406c0/pkg/utils/database/postgres.go#L511
My suggestion would be not to execute this using the admin user https://github.com/db-operator/db-operator/blob/174782644ee8c33ec084f0776fca02e6287406c0/pkg/utils/database/postgres.go#L526 but by the role itself (p.MainUser.Username or user.Username?). In that case the permissions should be okay.

I remember trying that on Azure, they have pretty similar Postgres setup there, and I remember that running the DEFAULT PRIVS as a MainUser didn't work, that's why I've started granting them to admin, it was the only working solution.
I will have a look later this week

This is simple test that did work in my case anyway:
postgres=# create user role2;
CREATE ROLE
postgres=# \c postgres role2
You are now connected to database "postgres" as user "role2".
postgres=> ALTER DEFAULT PRIVILEGES FOR ROLE "role2" IN SCHEMA public GRANT SELECT, INSERT, DELETE, UPDATE ON TABLES TO role2;
ALTER DEFAULT PRIVILEGES

Could you try making this change in the code and then open a PR, it should produce a new dev container that can be found here: https://github.com/db-operator/db-operator/pkgs/container/db-operator-dev
and then you could try deploying it to your cluster and see if it works.
Since we're not using AWS atm, it would make things a way easier for us.

I am starting to have more doubts if the alter default privileges is the only challenge.
In the code I also see actions like drop downed by and drop user. The AWS master dbuser also cannot perform these actions without taken that role I just tested. So maybe this is a dead end after all.

is it absolutely not possible to log in using password when you have aws_iam role?

No, the iam authentication will take precedence over the password authentication.

I'll think about creating an AWS account to test it. I'm sure there must be a way.

@a-dekker Would you mind testing a dev build? I've created a PR: https://github.com/db-operator/db-operator/pull/126
It shouldn't affect anything but users created by DbUser CR.  I've tested it on a regular instance and it seemed to do the trick. If iy works, I'll think about how to make the code nicer and it should make it to the main.
Here should be the dev build: https://github.com/db-operator/db-operator/pkgs/container/db-operator-dev/235055590?tag=v87c7bf5878a41143ed53cb3cf986feed83f69a73

I did not test this yet, for now I am trying to understand how it should work. As far as I understand the noinherit attribute must make sure the user/role created is not set as active once granted, but should be set explicitly with set role to make it active.
Does that mean this role has to be set in case like alter default privileges actions are needed for that DbUser? And that way we can avoid rds_iam getting activated for the master user?

As I understood, it means that roles(1) that are added to the target role(2) won't be granted to the role (3) when we are granting role (2) to it.
So if you have aws_iam role  that is granted to readonly_user, it shouldn't be passed to the admin user once the readonly_user is granted to the admin
And it seemed to work this way, when I've tested.
(But the postgres role management is so complicated, so I might be wrong)

It does not look good when I try to test it on AWS:
mydb=> create user “rdsiamtest” with encrypted password ‘thisisasecret’ noinherit nosuperuser;
CREATE ROLE
mydb=> grant rds_iam to rdsiamtest ;
GRANT ROLE
mydb=> grant rdsiamtest to mymasteruser
GRANTED BY        WITH ADMIN        WITH GRANT OPTION WITH INHERIT      WITH SET
mydb=> grant rdsiamtest to mymasteruser;
GRANT ROLE

then disconnect and try to reconnect as masteruser:
psql: error: connection to server at awsserver, port 5432 failed: FATAL:  PAM authentication failed for user masteruser
This is the typical error given when trying to connect with a regular password and having the rds_iam role.

Alright, I'll see what else can be done. Thanks for trying

One other thing I think of:
if GrantToAdmin is false:
  grant dbuser to masteruser;
  do your action as masteruser for the dbuser
  revoke dbuser from masteruser;
else
  do your action as masteruser for the dbuser

Als long as you don't reconnect after the grant you are fine. The db action en revoke afterwards will be milliseconds and not noticable at all I suspect.

I don't like that solution, because each reconciliation creates a new connection, and it would mean that we're sacrificing  the stability of the main functionality
I will go through the postgres user creation manuals once again and will try to find a way how to handle it without workarounds. I hope I'll have time to do it this or the next week.

Then how about this:
if GrantToAdmin is false:
  set role dbuser;
  do your action
  # optional role restore: set role masteruser;
else
  do your action

It should only change the role for this session to the desired used that needs actions
The alter default privileges command worked for me this way without getting the rds_iam role. Does not change any default roles.

It should work, but it also might require an update to the removing logic, and a lot of tests. If I have time on the weekend, I'll try it

Well, it's a PR where I've implemented your logic: https://github.com/db-operator/db-operator/pull/134/files
It's also tested here: https://github.com/db-operator/charts/actions/runs/9926879963
But before sending it to review, I would ask you whether it's possible for you to test it on AWS, because I still don't have an personal account there.
I can describe the process of using a dev image, if you don't mind testing

Thanks, will definitely try to test it asap. If I need some help with that I'll let you know.

@allanger I think I need some assistance with the dev image. For starters, I can't find any release/artifact I could use.

You can check values here: https://github.com/db-operator/charts/pull/59/files
We're pushing an image on each git push, and they are going to ghcr.io/db-operator/db-operator-dev:v$GIT_SHA
So you just need to replace tag and registry in the chart
image:
  repository: ghcr.io/db-operator/db-operator-dev
  pullPolicy: Always
  tag: d9b4fad6a579214a49ecb8cf40f31b3463ceb7f2

@a-dekker Ah, I think I've used a wrong commit in the chart test, let me re-test it to make sure and I'll send you correct values, sorry

Here goes the right values file: https://github.com/db-operator/charts/pull/59/files
image:
  repository: ghcr.io/db-operator/db-operator-dev
  pullPolicy: Always
  logLevel: info
  tag: fd7fd5c0181816637cc0ac426f6503aace95a921

I hope to get some test result by the end of the week. It's rather busy for me atm, but I made a start with trying to install this build.

Finally I have a operational test environment for this.
Currently I am facing the message
2024-07-19T15:21:15Z	DEBUG	events	pq: PAM authentication failed for user “my-app-postgres-write”	{“type”: “Warning”, “object”: {“kind”:“DbUser”,“namespace”:“my-app”,“name”:“postgres-write”,“uid”:“4dde535c-6018-428d-b044-bd06fb5a27ee”,“apiVersion”:“kinda.rocks/v1beta1",“resourceVersion”:“58708"}, “reason”: “Failed”}
after creating the users.
Will investigate further on Monday.

Still getting those errors. In my opinion, PAM authentication errors would only occur if an attempt is made to connect via a username/pwd with the rds_iam role attached. Only the readonly and write user have this role., the grantToAdmin: false and extraPrivileges: rds_iam do their work as expected I would say.
helm list -A
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
cert-manager    cert-manager    1               2024-03-12 15:01:42.173266 +0100 CET    deployed        cert-manager-v1.12.0    v1.12.0
db-operator     db-operator     4               2024-07-19 13:50:11.728325 +0200 CEST   deployed        db-operator-1.27.3      2.8.1

Anything else I can check to make sure I am testing using the correct code?

Hmm, the operator version is empty
NAMESPACE   NAME                  STATUS   PROTECTED   DBINSTANCE        OPERATORVERSION   AGE
my-app      postgres-for-my-app   true     false       postgres-melmac                     2d22h

$ k get dbusers.kinda.rocks postgres-write -n my-app -o yaml
apiVersion: kinda.rocks/v1beta1
kind: DbUser
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"kinda.rocks/v1beta1","kind":"DbUser","metadata":{"annotations":{},"name":"postgres-write","namespace":"my-app"},"spec":{"accessType":"readWrite","databaseRef":"postgres-for-my-app","extraPrivileges":["rds_iam"],"grantToAdmin":false,"secretName":"postgres-readwrite-secret"}}
  creationTimestamp: "2024-07-19T15:07:19Z"
  finalizers:
  - dbuser.postgres-write
  generation: 2
  name: postgres-write
  namespace: my-app
  resourceVersion: "58708"
  uid: 4dde535c-6018-428d-b044-bd06fb5a27ee
spec:
  accessType: readWrite
  credentials: {}
  databaseRef: postgres-for-my-app
  extraPrivileges:
  - rds_iam
  grantToAdmin: false
  secretName: postgres-readwrite-secret
status:
  created: true
  database: postgres-for-my-app
  status: false

A bit more log:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:222
2024-07-22T13:27:46Z    ERROR   an error occurred during the reconciliation     {"controller": "dbuser", "controllerGroup": "kinda.rocks", "controllerKind": "DbUser", "DbUser": {"name":"postgres-readonly","namespace":"my-app"}, "namespace": "my-app", "name": "postgres-readonly", "reconcileID": "53568d96-0443-4a5b-9e60-6cd66ea8297b", "error": "pq: PAM authentication failed for user \"my-app-postgres-readonly\""}
github.com/db-operator/db-operator/internal/controller.(*DbUserReconciler).manageError
        /opt/db-operator/internal/controller/dbuser_controller.go:258
github.com/db-operator/db-operator/internal/controller.(*DbUserReconciler).Reconcile
        /opt/db-operator/internal/controller/dbuser_controller.go:213
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:114
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:311
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:261
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.18.4/pkg/internal/controller/controller.go:222
2024-07-22T13:27:46Z    DEBUG   events  pq: PAM authentication failed for user "my-app-postgres-readonly"       {"type": "Warning", "object": {"kind":"DbUser","namespace":"my-app","name":"postgres-readonly","uid":"2262cfc0-cd3a-4a01-9948-1b0762b34f23","apiVersion":"kinda.rocks/v1beta1","resourceVersion":"58730"}, "reason": "Failed"}
2024-07-22T13:27:46Z    INFO    controllers.DbUser      updating a user postgres-write
2024-07-22T13:27:48Z    ERROR   failed updating postgres user   {"controller": "dbuser", "controllerGroup": "kinda.rocks", "controllerKind": "DbUser", "DbUser": {"name":"postgres-write","namespace":"my-app"}, "namespace": "my-app", "name": "postgres-write", "reconcileID": "cc408911-24f2-4fd0-8cda-0ac6228cb0af", "query": "ALTER DEFAULT PRIVILEGES FOR ROLE \"my-app-postgres-write\" IN SCHEMA \"my-app-postgres-for-my-app\" GRANT SELECT, INSERT, DELETE, UPDATE ON TABLES TO \"my-app-postgres-write\";", "error": "pq: PAM authentication failed for user \"my-app-postgres-write\""}

Installed chart running:
helm upgrade --install --namespace db-operator --debug db-operator ./db-operator
with the version set to 1.27.3 and adapted repostory and tag added in that folder.

I was looking for the set role logic in the code. Can you point me to that? If it is just executed by the owner instead of the master it will give PAM errors. It needs to be executed by the master user doing a set role <owner> first.

We don't have such logic in the code, and I'm not even sure how to implement it with our postgres session management. It's just executed by the owner, but the what does the set role command does?
I though it would set a current user for the session, that would in my understanding be the same as execute by the user that should be set after theset role

That must be the issue I am facing now.
My idea was to connect as the master user as usual. Issuing the set role <user> effectively makes you switch to the user itself, but without having to explicitly connect using credentials. This way we can avoid the rds_iam connect issue.

@allanger do you have the intention to change the code accordingly, or should I give it a try? With a bit of luck the alteration needed will not be that hard, if go handles it straightforward.

To be honest, I don't like this idea. I feel like instead of trying to understand the Postgres role managed, we're trying to find a workaround. And it's not something that should be expected from the operator that is supposed to manage databases.
I would like to understand the postgres inheritance better
You can try making this change, but I'm not sure whether this change will make it to the upstream, at least until I'm out of more native options.
By the way, I do have AWS in my working env now, and I supposed we're going to use db-operator one day, and if we do, we will also need users, so it should happen one day anyway

Any thoughts on https://github.com/db-operator/db-operator/compare/main-user-creates-a-user...a-dekker:db-operator:main-user-creates-a-user ?
I do not know who to test (build) it, so I can't tell for sure if it would work. If you think it is worth a PR, should I do things differently?

I will check, but I assume it won't work, because as I remember, currently we are opening a new session for each query. And basically you would just execute SET ROLE and then the session will be closed.
It doesn't seem like a right behavior to me, but it's something to be refactored later.
But if you want to try that, I can pull you change to our repo and then a dev build would be triggered, so you will be able to test it.

I am aware of the session behavior, that's why I do the set role and actual command using the same connection in the execSettingRole function.
Will try to create a PR now.

Ah, sure, sorry, I've missed it.
We can have a PR, but before merging it, I still would like to be sure, that we can't just set some params during users creation

https://github.com/db-operator/db-operator/pull/137 created.
Feel free to improve it, I am sure there is room for that.

@allanger do you consider accepting my commits as part of the rds_iam role solution, or do you want to find alternative solutions yourself?

@a-dekker, I think, I've already answered this question here: https://github.com/db-operator/db-operator/issues/125#issuecomment-2252184567
I would not like to merge it unless I know that we can't solve it on the postgres level without workarounds. If it's confirmed not to be possible, I'll consider merging it.
Is it alright for you to use the dev build for some time?

Custom dev build will complicate our current installation process somewhat I imagine, lets see how we can deal with that.
I understand you don't want any vendor specific behavior, but I can find that here. All we have done so far is adding the option for extra roles and giving the choice not to grant the userrole to the master user by default. This master user should still be able to reconcile by setting the role, regardless of what Postgres instance we are dealing with.
If you come up with other solutions I am happy to test them as well.

I'll have a call with another maintainer on the next week, and will come back with an answer.
I think that if we're not able to find another solution fast, and your code works on generic databases and passes all the tests, it will be merged. Maybe it will be refactored later, but I've got a feeling that you're waiting for that feature long enough to have it delivered, especially, since you've made it work

So, we will merge your PR, but we will add some flag, like --experimental-features=aws-set-workaround (it can be changed), and without it, your function would not be executed
But I can't really understand, what the actual difference between connection to a databases as a database-user and connection to a database as an admin and then setting role to database-user

Thanks for that!
I'll try to explain the issue once more.
Our desired situation
application-owner
Owner of app db objects
application-readonly-user
readonly permissions on app db objects
additional role: rds_iam
application-readwrite-user
readwrite permissions on app db objects
additional role: rds_iam
If someone needs access to the database, we can grant this person access via AWS policies. Next a rds_iam login string can be generated for the readonly or readwrite user to connect to the database, using their aws credentials.
Having an rds_iam role implicates one can no longer use a regular username/password login for that db-user.
This faced us with the following problems using db-operator:

the admin user cannot take the role application-readonly-user or application-readwrite-user as it does by default, because it will also inherit the rds_iam role, disabling its own username/password login
the default AWS admin user has insufficient rights to reconcile all parts of the application-readonly-user or application-readwrite-user
The admin user cannot (re)connect as application-readonly-user or application-readwrite-user, as these accounts require the iam login.

But: the admin user can set the role of application-readonly-user or application-readwrite-user to impersonate these users. And the benefit of this action is, that you do not have to log in as these users, avoiding the required iam login.

Alright, I got it, I think I've originally made a typo, and noticed that only now.
Before the PR that we're talking about: https://github.com/db-operator/db-operator/pull/134/commits, everything was executed by the admin, and also there was the grant to admin part. And I though that I've added an ability to execute these queries as the main database user application-owner, but instead of writing
	} else {
		actingUser = p.MainUser
	}

I've written

	} else {
		actingUser = user
	}

that means that the acting user is either application-readonly-user or application-readwrite-user, and it caused my confusion, because I was sure that the we're talking about application-owner all the time.
Now it makes a way more sense to me, I'll make some changes and will try to get it ready soon

Cool, thanks. Will test and report back soon.

Is a new helm release planned? That would be the most easy way to test it.

There was a small hiccup with the CI, now chart is merged and it shall be released soon

The reconciliation process of the readonly/readwrite users looks good with db-operator-1.28.0 installed and rds-iam-impersonate set to true.

Then I'm closing the issue, thank you for your help :)


BNB (Beacon Chain) address generation

Trying to implement BNB BEP-2 support with no luck. The address should start from bnb1
Info i found already:
https://docs.bnbchain.org/docs/beaconchain/learn/accounts#cryptographic-design
https://bitcointalk.org/index.php?topic=5437885.0
https://bitcointalk.org/index.php?topic=5439078.0
It pretty straightforward to follow current implementation and just replace currency config with actual values, but just cannot get them, any ideas guys?

BNB supported in the v3 package. Thank you.


Vulnerability scanning hasn’t been enabled for this build pipeline

Checklist:

✅ I've searched in the docs and FAQ for my answer
✅ I've included steps to reproduce the bug.

Describe the bug
After enabling "Scan for vulnerabilities" in the build pipeline and the pipeline succeeded and the image pushed to registry, When I check the security tab I get "Vulnerability scanning hasn’t been enabled for this build pipeline".
To Reproduce

Deploy devtron version "4555196b-146-6310" and devtron dashboard version "075cba2a-136-6172"
Create build pipeline and enable "Scan for vulnerabilities"
Run the pipeline
After it finishes, check the security tab

Expected behavior
I should see scan results
Current behavior
I get "Vulnerability scanning hasn’t been enabled for this build pipeline" in the security tab
Screenshots

fixed in #1438


add function for tail recursion optimization

Can you squash?

What does it mean?

Here you go: https://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git


ngInject not work for class constructor

when I run node app.js I got no change in the class constructor where I write ngInject. why?
https://stackblitz.com/edit/js-2bmswj
app.js
const patched = require('ng-annotate-patched');

const content = `
import * as angular from 'angular';

export class BarService {
  name = 'bar';

  constructor() {
    'ngInject';

    console.log('in bar');
  }
}

export class FooService {
  name = 'foo';

  constructor(barService: BarService) {
    'ngInject';
    console.log('in foo service ctor', barService);
  }
}

const modulex = angular
  .module('foo', [])
  .service('barService', BarService)
  .service('fooService', FooService)
  .run((fooService) => {
    'ngInject';

    console.log({ fooService });
  }).name;

const bootstrapModuleName = angular.module('application.bootstrap', [modulex]).name;

angular.bootstrap(document.body, [bootstrapModuleName]);
`;
const a = patched(content, {});

console.log({ a });

The output as you can see doesn't do inject within the class constructor.
a: {
    src: '\n' +
      "import * as angular from 'angular';\n" +
      '\n' +
      'export class BarService {\n' +
      "  name = 'bar';\n" +
      '\n' +
      '  constructor() {\n' +
      "    'ngInject';\n" +
      '\n' +
      "    console.log('in bar');\n" +
      '  }\n' +
      '}\n' +
      '\n' +
      'export class FooService {\n' +
      "  name = 'foo';\n" +
      '\n' +
      '  constructor(barService: BarService) {\n' +
      "    'ngInject';\n" +
      "    console.log('in foo service ctor', barService);\n" +
      '  }\n' +
      '}\n' +
      '\n' +
      'const modulex = angular\n' +
      "  .module('foo', [])\n" +
      "  .service('barService', BarService)\n" +
      "  .service('fooService', FooService)\n" +
      '  .run((fooService) => {\n' +
      "    'ngInject';\n" +
      '\n' +
      '    console.log({ fooService });\n' +
      '  }).name;\n' +
      '\n' +
      "const bootstrapModuleName = angular.module('application.bootstrap', [modulex]).name;\n" +
      '\n' +
      'angular.bootstrap(document.body, [bootstrapModuleName]);\n'
  }
}

: BarService is TypeScript syntax, which is not supported by ng-annotate - it expects TypeScript annotations to have been stripped beforehand.

Try patched(content, {add: true});

@bluetech yes it's was helpful :)
But I have noticed if the ngInject; doesn't at the first line, it doesn't work.
The problem is typescript is transpile the private to this.... in the first line and push the ngInject- which make the ng-annotate-patched to not work:
 constructor(barService) {
    this.barService = barService; //<--- generate by typescript
    'ngInject';
    console.log('in foo service ctor', barService);
  }

Not generate $inject.
original code:
 constructor(private barService: BarService) {
    'ngInject';
    console.log('in foo service ctor', barService);
  }

https://stackblitz.com/edit/js-2bmswj

@bluetech the comment solves the problem /* @ngInject */. but unfortunately, the typescript compiler remove comments. typescript transpile to es6. then I run the ng-annotate-patched.
if you have another alternative solution to the comment I would really appriciate it
Thank you!

In my experience, the typescript compiler (tsc) does not remove comments by default, though there is an option removeComments for this - maybe you set it?
Sorry, I have no other solutions.

@bluetech I was able to preserve the comment and I put the comment at above the class line and it's work.
Thank you for your help and your time :))))


Should the README recommend installing from master instead of pypi?

The last release is around 6 months old and is missing several bug fixes. Since mybinder.org runs off master should the readme also recommend installing from master: pip install -U https://github.com/jupyter/repo2docker/archive/master.zip ?

Would be good for me.
I thought we had made a release about 4 months ago (and should make a new one "now"). If it has been six months then we should for sure make a new release now now.

This issue has been mentioned on Jupyter Community Forum. There might be relevant details there:
https://discourse.jupyter.org/t/repo2docker-rstudio/4004/2


Add MDR utilities module and improve MDR model code

Coverage decreased (-17.3%) to 71.296% when pulling 05816747ccfc7ddc7b2c96e266234c180cd72b93 on development into e0a820049fe9a579b30f94079a6c55f16eb6bf71 on master.


Selenium Bridge

It's time.
Use cases:

https://github.com/Polymer/polymer/issues/892
https://github.com/Polymer/web-component-tester/issues/134

I don't want to sound ungrateful for the work you guys do, but this is blocking functional testing.  I tried solving this problem from the other end, using a standard Selenium library, but the shadow-dom screws up the query selectors and I couldn't translate them manually.
Maybe I could dance a jig and get the priority elevated a bit?  Going on 1.5 years :cry:.

Cab you give more information on what you need? Trying to pick up these issues is difficult with so little context.

I need to simulate filling in a form, clicking on submit, and see what it sends to my REST API.  Polymer's on-* data-bindings just won't kick in when I use .click().  I can't even get it to notice when a dropdown has changed, I tried JQuery's .change() and YUI's input simulation library.
I can unit test individual functions and parse the dom, but that hardcodes everything to the test and it's not very productive.  Functional testing let's me test lots of components all at once.
It would be great if you could let me use Webdriver.io from within WCT or provide access to a Polyfilled selector from Webdriver.io.

@justinfagnani, just to provide some context: the problem with functional testing outside of WCT is that the selector Selenium uses is isolated from the browser environment.  This means you can't navigate the dom on browsers that don't implement the shadow-dom natively.  I tried creating selectors that should work on polyfilled browsers, but Safari and IE refused to cooperate.

@indolering, how did this go? Any tips?

@kito99 Thanks for the ping, I've been meaning to write about this.
I think not supporting functional testing has created a blind spot.
For one, there are edge-cases which are falling through the cracks.  In some instances, I can't get Chrome to click on buttons using Selenium directly.  I have no idea why this only occurs in Chrome, it works in other browsers and I can get it working in Chrome using a naive implementation.
There are also plenty of utility functions from wd.io (like waitForExist) which are necessary when testing functionality that relies on data-binding.  WCT could port most of the functionality from wd.io with minimal effort.
Finally, had Polymer supported functional testing from the get-go, I don't think we would have deprecated /deep/.  I think deprecating deep is one of those decisions which sounded good to a committee but fails to give respect to people that just want to get things done.  No longer can one just find an element on a page using a simple string of text (like waitForExist("controller /deep/ child /deep/ #data-bound-input")), we have to fall to an overly expressive syntax that is the bane of JS development.
@justinfagnani if Polymer wants to remove the need for frameworks to build modern web apps, then we need to be able to test it.

@kito99 Here's a function you can use to clean your selectors:
  function clean(selector){
    if(GLOBAL.nativeShadow){
      return selector;
    } else {
      return selector.replace(/\/deep\/|::shadow|>>>/g, "");
    }
  };


Enable lr_infer_he_sgx in Anolis OS and Upgrade gramine from v1.2 to v1.3.1

…v1.3.1

Description of the PR
Enable lr_infer_he_sgx in Anolis OS and Upgrade gramine from v1.2 to v1.3.1

Please submit the PR to branch-dev.
Thanks


Improvements to dbjobqueue

Couple of commits:

Because slogger was imported from internal package, it was not possible to import jobqueue effectively. Go was erroring out, the change moves the simple logger package to pkg/ and also moves the interface into a separate file where it belongs. Both noop and logrus implementations were moved into own packages so it's now nice and clean - these can be imported without extra dependencies and the interface itself can be also imported without logrus dependency.
Another small commit allows passing in an existing pgxpool so we can reuse the one we already have in our app. We migrated from database/sql to the native pgx last week.
Finally, when I was testing this, I needed to create a migration for the tests so I am dropping a Makefile target to do that so others don't need to figure it out

Edit: Initially the PR had some changes around context passing, but this is worth looking into a separate PR I think.
Cheers!

I am gonna drop the context change, that's really weird, all functions in the dbjobqueue interface should really have a ctx parameter.

What's really weird is the dbjobqueue tests passed the first time locally, now I am getting error inserting the job's heartbeat: ERROR: insert or update on table "heartbeats" violates foreign key constraint "heartbeats_id_fkey" (SQLSTATE 23503) even if I drop the db and recreate it from scratch.
Looks like this is passing on the CI. Weird stuff.

Looks like some checks are stuck, shall I rebase once again?

Sure, rebased. Crossing my fingers :-)

And once again, Mr. Schutz had some issues, but the page was 500 so not sure.

And once again, Mr. Schutz had some issues, but the page was 500 so not sure.

The CI takes quite long, and often has at least 1 or 2 infra flakes. Easier to just retry the individual jobs.

I dont understand, Schutzbot job reports an error, when I click on the link it says it's running.
And the RPM, oh, I almost forgot how bad rpmbuild is with reporting errors. It fails but I am not following why.

I dont understand, Schutzbot job reports an error, when I click on the link it says it's running.
And the RPM, oh, I almost forgot how bad rpmbuild is with reporting errors. It fails but I am not following why.

fedora37 ppc and centos tream 9 are also failing on other PRs; it's unrelated. I'll keep retrying schutzbot and merge once green

Ok let me know if I need to rebase or something. Thanks.


Check submodule with Github Actions

Thanks to https://github.com/jtmullen/submodule-branch-check-action/issues/29 the issue is now resolved and the check is working.
@mistyron Please review the YAML file and its parameters.


Add Two Integers in C

Can I work on this one?

Sure, I could do this one! Can I?

@junkl0rd sorry dude this is already being assigned


[FBX] Meshes attached to a Skeleton should be parented to that Skeleton.

Godot version:
3.2.4 beta2
OS/device including version:
Windows 10.0.19041.630
NVidia GeForce RTX 2080 Ti 452.06
Issue description:
With the new FBX importer, meshes are not inside of their Skeleton. While this may literally match what is inside the .fbx file, it is a Godot convention that meshes with a skeleton be placed inside of the Skeleton they are attached to.
Because Godot moves a skinned mesh relative to its own position rather than that of the skeleton, having the mesh inside the skeleton matches more closely the behavior of other engines.
(For example, moving or rotating the Skeleton should move the meshes attached to that skeleton, and did so with the old importer, as well as with glTF importer. But with beta2, moving the Skeleton does not move the attached meshes)
Changing the scene hierarchy in this way may be compatibility breaking with existing animations designed to target a mesh.

Steps to reproduce:

Open the attached project.
Click Bunny_Farmer.fbx and click Reimport in the import panel.
Open the imported scene.
Ignore all the unused Spatial nodes to make this more obvious.
Notice that the parent of Rabbit is not the Rabbit_Skeleton. The other indicator of this issue is that the Skeleton shows a "revert symbol" next to it. Godot recognizes that a mesh should be parented to its skeleton, so the new behavior is unusual.

Minimal reproduction project:
fbx_issues.zip

Sorry I don't think this is worth implementing since it would most likely cause breakage. Moving these nodes breaks the strong linking the FBX Document provides from the FBX ID.

@lyuma We already discussed this all today on the chat server but just sharing for everyone looking at this and wondering.
Having a look at your FBX file, the problem wouldn't actually be solved by re-parenting. The problem looks to be exactly the same issue I am running against. You can see it in your screenshots as well but from my own import:

That is the transform on the bunny mesh that will rotate the bunny mesh 90 degrees and scale it up 100x. After this transform is applied the bunny matches up with the rest pose of the armature.
But Godot applies the deformations first and then applies the Model-View-Projection matrix. That means that the deformations are completely wrong because they happen on the wrong orientation and scale.
The previous FBX importer would apply this transform to the mesh data resulting in a mesh that matched the armature. That solves the problem but would create new problems if the mesh is used on multiple nodes or if this node is keyframed with the rotation and scale encoded in the keyframe. As we discussed in chat both are incredibly unlikely scenarios due to the flow on effects of doing so but without having enough sample files to confirm no 3d modeling software is crazy enough to do this.... The format seems to support it.
The solution @RevoluPowered is currently working on adds an option to apply the transform before deformation but at the cost of extra instructions in the shader. This would be a solution that would work even in those unlikely scenarios.
In the end note that both skeleton and rabbit mesh are childed to a "RootNode" so movement wise we always move skeleton and mesh in unison. If this makes it more close to the FBX internal structure and we see merit in keeping that in tact, its really same old same old.

This is probably fixed with the new FBX importer using FBX2glTF.
You can test it in Godot 4.0 alpha 6: https://godotengine.org/article/dev-snapshot-godot-4-0-alpha-6
This new importer might also be backported for the 3.x branch eventually.
If you still find issues with these models using the new importer, we suggest opening a new issue with details about the problems in Godot 4.0 alpha 6 or later.


split step info out of H1 tag

Splits the step info e.g. "Step 2 of 20" out of the page's main <h1> tag since having it inside the <h1> was causing at least one screen reader to report multiple level 1 headings on the page.

👍


Add method to find number of days till task is due

... also added colour for text if the task is due in 7 days or is overdue

Refer to #68.


Adjustment: Changing 126 code to ENDPOINT_BLOCKED

Swapped it to ENDPOINT_BLOCK and made it PROTECTED

relates to https://github.com/preludeorg/backbone/pull/250


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2363 ms

Resolved: Bofrost.at performance has improved in d811fbc.


[Compute] sig image-version create: Support creating from a VHD

Description

Resolve https://github.com/Azure/azure-cli/issues/15868
[Compute] Upgrade gallery_image_versions to 2020-09-30
[Compute] sig image-version create: Support creating from a VHD
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Compute

/azp run

I have a few questions looking at the api support. So a customer using VHD will supply vhd and vhd_storage_account flag, but not the os_snapshot flag?

Would it be possible for customers to use the os_snapshot field for the ID of the storage account, and then a separate argument for the URI of the VHD for the OS disk?
Is there support for data disks to use VHD as well? data_snapshots could be used to specify the ID of the storage accounts and then a separate argument for the URI of all the VHDs

hi @qwordy, what's status of this PR? is it ok to merge?

Agree. The arguments can be better.
We should also support data disks.
I plan to merge OS disk part, than put data disks in another PR.

@qwordy
If you want some suggestions on the arguments, here's something I'm thinking

for OS disk, can use --os-snapshot-uri for the VHD uri
for data disks, since we need the storage account id and VHD uri, --data-snapshots can be used for the storage account, and the VHD can be specified using --data-vhd and --data-vhd-luns to indicate which uri match up with which storage account

@olayemio How about --os-vhd, --os-vhd-storage-account, --data-vhd, --data-vhd-luns, --data-vhd-storage-accounts? Can we omit storage account? A VHD URI is unique.

The OS part is done.

@qwordy I propose the following --os-vhd-uri, --os-vhd-storage-account, --data-vhds-uri, --data-vhds-luns, --data-vhds-storage-accounts?
The storage account is required to ensure that there is a linked access check for the VHD

Merge OS part first. Data disks will be in another PR.

https://github.com/Azure/azure-cli/pull/17706


Read timed out

I am using influxbd 2.6.1, Jmeter 5.5, getting below error
2023-04-06 08:37:12,173 ERROR i.g.m.i.v.InfluxDatabaseBackendListenerClient: Error has occurred, batch with size 14 was not imported, see the details --> Read timed out
if I use org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient, it works fine.
Please help

it is my proxy setting causing the issue


Remove unnecessary NuGet package references.

Some NuGet packages (such as System.Net.Http) do not target .NET Standard 2.0 and reference tons of packages from older .NET Standard versions. The types they contain are already included in .NET Standard 2.0, so they were removed to unburden the package reference graph.

Thanks, @teo-tsirpanis!


Issue on the spotify embeds

Hi, there is an issue on the spotify embeds on some browsers, like on Safari
https://main--netcentric--hlxsites.hlx.page/insights/netcentric-podcast

Might a temporary issue on spotify side? The link works for me?
Also 502 Bad Gateway - nginx is nothing from Franklin.

This could have been a Spotify issue. I checked today and everything works fine


Helidon MP 2.5.3 does not compile using/for Java 19

Environment Details

Helidon Version: 2.5.3
Helidon Helidon MP
JDK version: "19" 2022-09-20 (build 19+36-223)
OS: 22.04.1 LTS

Problem Description
Trying to compile a Helidon MP 2.5.3 project using JDK 19 fails, in Hibernate/Bytebuddy byte code enhancement.
Solution
Bump to following versions:

Hibernate 5.6.11.Final
ByteBuddy 1.12.17 (also for dependency convergence)
jna & jna-platform 5.12.1 (dependency convergence)

The issues had to do with bytecode manipulation. After upgrading Hibernate and Eclipselink I was able to build and run the following examples with java 19 2022-09-20
examples/integrations/cdi/jpa   # Uses eclipselink JPA
examples/integrations/cdi/pokemons # Uses Hibernate JPA

I was also able to build the other examples without problem.


added test file for PR

What changed, and why it matters
One more person that learned how to set up the local environment and make a pull request! Thank you :)

Thank you @pparmin for coming to the session and creating a test PR! Looking forward to your knowledge contributions :) Let us know if you have any questions or feedback!
I'm closing this test PR.


Bad UX for FieldFlydown on mobile

Describe the bug

When developing an app on a touchscreen, one cannot hover over event/procedure parameters to open the flydowns. There is a workaround to drag in the "get" block from the Variables drawer, plug them in, and then change the variable.
Affects

[ ] Designer
[x] Blocks editor
[ ] Companion
[ ] Compiled apps
[ ] Buildserver
[ ] Debugging
[ ] Other... (please describe)

Expected behavior

There should be an alternate way to open the flydowns. For example, we may want to make it so that if the user taps on the field it opens the flydown.
Steps to reproduce

N/A--hover is not a valid interaction on tablets

@BeksOmega My guess is you would have a pretty good idea of how we could fix this given your work on fields in Blockly.

Hmmm, well currently flydown fields have two modes (1) edit mode (triggered by click), and (2) flydown mode (triggered by hover), which are mutually exclusive:

So if we make it so that click/tap opens the flydown, people would have no way to rename their vars.
In my mind we have a two options:

Make it so that whenever you edit (click) the field, the flydown is also open.
Add long press support. So if you click the field it goes into edit mode (matching the current behavior), but if you long press the field it goes into flydown mode. Hover would still be supported.

Both of those should be easy to implement. I can even just tack it onto my other flydown PR =)
So how do you feel about those options?

I'm not so sure about option 1 because I feel like the intents are quite different and probably shouldn't be tied to the same gesture. Long press could be an option, but I thought that is supposed to open the context menu (or initiate a drag of the block). What if we had single tap to open the flydown and double tap to edit?

What if we had single tap to open the flydown and double tap to edit?

That could work! I think I want to leave this until a separate PR though since Mr. Lyn is currently reviewing the one I mentioned.

Has this issue been resolved? If not, I'd like to work on it.

Has this issue been resolved? If not, I'd like to work on it.


Change Debug mode to off by default

Currently DEBUG_MODE is in always on state, it should be off by default. https://github.com/snowplow/snowplow-android-tracker/issues/94 will bring in functionality to toggle this state in creation.

Updated ticket name so it's clear what we are trying to achieve


ROX-24829: hide the affected images count to avoid confusion

Description
Just as the title mentions. See the following discussion for more context: https://issues.redhat.com/browse/ROX-24829

/retest


🚀 [Feature] Build Admin Interface User Management

🚀 Feature
As supporter we need to find User, edit User Informations, send User activation email or send reset email.
Furthermore it would be great to see the coin creation of a User in his profil.
ToDos:

[x] Create User Management Page
[x] Create User Search Component
[x] Update User Component
[x] Coin Created Component for User

alles erledigt


No colouring for HTML and Markdown

Hi Marcin and team, thank you for this package!
I’ve been playing with this plug-in on a pet project and it seems HTML and Markdown don’t work in terms of syntax colouring. If I swap the language to Swift or CSS it works fine but not for those two (perhaps others?).
are you aware of a limitation or am I “holding it wrong”?
Thanks for your help!

the plugin needs some love. I'm using https://github.com/krzyzanowskim/tree-sitter-xcframework as a tree-sitter dependency, and this is the source of missing/not working syntax. It's not trivial to update that package and I'm thinking whether maybe there is a better source of tree-sitter to use by this plugin.
If that's something you'd like to try, it's good idea investigate if eg. https://github.com/simonbs/TreeSitterLanguages is easy to integrate instead.

Thank you for the super quick reply!
I'll report back if I make any progress but I can't promise anything as I feel like this is a bit too far over my expertise level 😅

more languages just landed

Awesome, thank you!


Fix cur depth in simple property graph store

Description
The get_rel_map method in SimplePropertyGraphStore increased the depth variable instead of the cur_depth leading to a potentially huge amount of loop iterations (until the whole graph is exhausted) and triplet results beyond the chosen depth.
This PR fixes this issue.
I did not fill out the PR template since it is a one line fix.
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)

Good catch


Definition for rule 'import/no-unused-modules' was not found

using "eslint-plugin-import": "^2.13.0",
Added this rule in my .eslintrc
"import/no-unused-modules": [1, {"unusedExports": true}],
I got this error on all files
1:1  warning  Definition for rule 'import/no-unused-modules' was not found  import/no-unused-modules
other import rules are working fine

That’s because the rule was added in v2.17. Try updating your semver range to the latest version.

Using "eslint-plugin-import": "2.21.2", I got the same exact issue.
I'm using the rule as documented though:
"import/no-unused-modules": [2, {"unusedExports": true, "missingExports": true}]

@VictorDENSC please file a new issue


. python snippet will autocomplete to "self." even if not preceded by whitespace

Description
the .<TAB> snippet that changes this to self. should only be triggered if it is after whitespace
Meaning,
writing:
blah.<TAB>  will turn into  blahself. which is undesired
instead the .<TAB> autocomplete should only be applied if it is preceded by whitespace or if it in the beginning of sentence
Versions
vanilla latest 1.10

Please reopen this on the atom/language-python repo.
In the future, please completely fill out the provided issue template.


Catalog pkg-build.racket-lang.org is not reachable

This image sets the following catalogs for raco packages:

https://download.racket-lang.org/releases/6.6/catalog/
https://pkg-build.racket-lang.org/server/built/catalog/ (*)
https://pkgs.racket-lang.org
https://planet-compats.racket-lang.org

Where (*) is not defined if I install racket using the installer from racket-lang.org.
Now the actual problem is that installing packages from inside the image is failing like this:
$ docker run -t -i jackfirth/racket:6.6 /bin/bash
root@9ef49c0f49b4:/# raco pkg install --batch --scope user --deps search-auto megaparsack
Resolving "megaparsack" via https://download.racket-lang.org/releases/6.6/catalog/
Resolving "megaparsack" via https://pkg-build.racket-lang.org/server/built/catalog/
package-catalog-lookup: error from server
  URL: https://pkg-build.racket-lang.org/server/built/catalog/pkg/megaparsack?version=6.6
  status code: 403
  context...:

Maybe I'm doing something wrong, in this case I'm glad if you  can point me to it

Sorry I missed this issue, I was looking into it but forgot to follow up.
I'm not quite sure, but I believe this is because megaparsack temporarily failed to build, causing the package build server to claim it provided the package but fail to provide actual built sources. I think raco pkg should be more resilient to failures across catalogs, as it could have easily fallen back to the regular catalog and avoided the built packages catalog. Megaparsack is building fine now, so there shouldn't be any more issues.

I can confirm that it works fine now. So it was unrelated to your docker-image. Thanks for having a look!