Listunit simplify

Use a context provider instead of creating/passing all unit handlers (add upgrade, change upgrade, zoom, etc) from ListUnits/index.js via props.

This should be less radical in terms of changed functionality than it may look on first glance, but still might want some more testing before going live. So far, I haven't seen anything break via playing with a few lists, particularly Iden's damnable Counterpart+Loadout interactions.

Whoops, this is just a master->feature 'keep up'


Return default value if no value in URL

We should return result of getDefault() as default value (instead of undefined)

Fixed by #26


🌱 Fix log mesages

This is overtaken PR from #1555
Fixes https://github.com/metal3-io/cluster-api-provider-metal3/issues/1550

/test metal3-ubuntu-e2e-integration-test-main

/override metal3-centos-e2e-integration-test-main
as this pr does not contain functional change. Running one test is enough.

/cc @adilGhaffarDev @smoshiur1237


interception.dll

where should i place the interceptiondll?

Hey @dvdco,
it doesnt really matter too much, I personally have it in C:\Program Files\Interception, thats where I usually put this stuff.
Note that you have to add it to your PATH environment variable after installing it, you can use python to do it automatically like this:
import winreg
import os

dir_path = "C:\Program Files\Interception\command line installer"

key = winreg.OpenKey(
    winreg.HKEY_CURRENT_USER, "Environment", 0, winreg.KEY_ALL_ACCESS
)

# Get the current value of the PATH variable
path = winreg.QueryValueEx(key, "PATH")[0]

# Add the directory to the path if it's not already there
if dir_path not in path:
    new_path = f"{path};{dir_path}"
    winreg.SetValueEx(key, "PATH", 0, winreg.REG_EXPAND_SZ, new_path)
    os.environ["PATH"] = new_path

winreg.CloseKey(key)

If interest in this project continues to grow I may add an interception install feature in the future.

Why do i have to set the install-interception in to path not the interception.dll?

Honestly I couldnt tell you lol, thats the install instructions to follow and I know thats been working fine for me.

And btw, i have a problem using the move_relative function. I'm designing a aimbot for an fps

Theres nothing magical about the move_relative function, if you pass move_relative(1, 0) your cursor will be moved one pixel to the left on the x-axis, how this is interpreted depends on the game.

But when i use win32api or pydirectinput(relative=true) to move one pixel right, it just works fine.
Even interception's click will move the fov A LOT, can you help me to fix that?

So lets have a look at pydirectinputs moveRel (I removed some useless parameters)
def moveRel(xOffset=None, yOffset=None, duration=None):
    if not relative:
        x, y = position()
        if xOffset is None:
            xOffset = 0
        if yOffset is None:
            yOffset = 0
        moveTo(x + xOffset, y + yOffset)
    else:
        # When using MOUSEEVENTF_MOVE for relative movement the results may be inconsistent.
        # "Relative mouse motion is subject to the effects of the mouse speed and the two-mouse threshold values. A user
        # sets these three values with the Pointer Speed slider of the Control Panel's Mouse Properties sheet. You can
        # obtain and set these values using the SystemParametersInfo function."
        # https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-mouseinput
        # https://stackoverflow.com/questions/50601200/pyhon-directinput-mouse-relative-moving-act-not-as-expected
        extra = ctypes.c_ulong(0)
        ii_ = Input_I()
        ii_.mi = MouseInput(xOffset, yOffset, 0, MOUSEEVENTF_MOVE, 0, ctypes.pointer(extra))
        command = Input(ctypes.c_ulong(0), ii_)
        SendInput(1, ctypes.pointer(command), ctypes.sizeof(command))

So right away we can see if you pass relative=True it uses an entirely different method of moving the mouse, as opposted to the same method pyinterception uses. Im not surprised youre seeing this for win32api and pydirectinput as, well, pydirectinput just calls the same win api functionality win32api does. I dont think I have these options with the interception driver, I you can double check some of the MouseFlag options here to see whether you can get the intended result

there is a similar function in it
class MouseFlag(IntEnum):     MOUSE_MOVE_RELATIVE = 0x000F
but i 've already tried to modify your move_relative function by changing it to send this flag but the mouse didn't move.

I still can't undetstand why using the current method in pyinterception would work well in win but seems to be broken in the game i tested. And plus, when i changed the sensetivity in gamto 0.01, when using move_relative the crosshair seems to be going left and up, maybe while imgame, the driver accidently moved the cursor to 0,0?
Though i'm sure for now that the problem is not caused by getting the wrong cursur position, i've tested that

Btw, there is also a github project using interception in the same game it is now working well(kind of), at least moving the cursor. https://github.com/Jire/Overwatcheat

Btw, there is also a github project using interception in the same game it is now working well(kind of), at least moving the cursor. https://github.com/Jire/Overwatcheat

But i don't know how to read or use kt so u kinda can't really find where the mouse moving function is
;(

object InterceptionMouseFlag {

    const val INTERCEPTION_MOUSE_MOVE_RELATIVE = 0x000
    const val INTERCEPTION_MOUSE_MOVE_ABSOLUTE = 0x001
    const val INTERCEPTION_MOUSE_VIRTUAL_DESKTOP = 0x002
    const val INTERCEPTION_MOUSE_ATTRIBUTES_CHANGED = 0x004
    const val INTERCEPTION_MOUSE_MOVE_NOCOALESCE = 0x008
    const val INTERCEPTION_MOUSE_TERMSRV_SRC_SHADOW = 0x100
    const val INTERCEPTION_MOUSE_CUSTOM = 0x200

class MouseFlag(IntEnum):
    MOUSE_MOVE_RELATIVE = 0x000F
    MOUSE_MOVE_ABSOLUTE = 0x001
    MOUSE_VIRTUAL_DESKTOP = 0x002
    MOUSE_ATTRIBUTES_CHANGED = 0x004
    MOUSE_MOVE_NOCOALESCE = 0x008
    MOUSE_TERMSRV_SRC_SHADOW = 0x100

Based on this, it looks like my MOUSE_MOVE_RELATIVE flag may be wrong? Though thats weird because 0x000 is 0 which is essentially the absence of a flag in interception 🤔

cool maybe you can use the MOUSE_MOVE_RELATIVE to rewrite the move_relative function and push it in 😉

In the linked projects mouse manager:
val mouseStroke =
        MemorySegment.allocateNative(interceptionMouseStrokeLayout, MemorySession.global()).apply {
            ...
            set(ValueLayout.JAVA_INT, 8, 0) // x
            set(ValueLayout.JAVA_INT, 12, 0) // y
            set(
                ValueLayout.JAVA_SHORT, 14,
                (InterceptionMouseFlag.INTERCEPTION_MOUSE_MOVE_RELATIVE or
                        InterceptionMouseFlag.INTERCEPTION_MOUSE_CUSTOM).toShort()
            ) // information
        }

Im not familiar with kotlin, but assuming or has the same functionality here as it does in python,
``kt (InterceptionMouseFlag.INTERCEPTION_MOUSE_MOVE_RELATIVE or InterceptionMouseFlag.INTERCEPTION_MOUSE_CUSTOM)
would evaluate to `InterceptionMouseFlag.INTERCEPTION_MOUSE_CUSTOM` as the former is equivalent to `0` and thus continues to the `MOUSE_CUSTOM`.

So how can i modefy the move_relative function in pyoiterception? So that it can directly relatively move the mouse?

What does it means by joining INTERCEPTION_MOUSE_CUSTOM and MOUSE_MOVE_ABSOLUTE by or?

Thank you so much for your patient help and understanding my rusty english. I will test it out as soon as i get access to my pc again.

Np, let me know if you find anything interesting.

Changing MOUSE_MOVE_RELATIVE from 0x000F to 0x000 will work.
def move_relative(x: int = 0, y: int = 0) -> None:
    stroke = MouseStroke(0, MouseFlag.MOUSE_MOVE_RELATIVE, 0, x, y, 0)
    interception.send(mouse, stroke)

Closing as complete for now as this isnt really an issue with the package. If you discover the functionality that makes move_relative work as expected for you though, feel free to open a pull request with the changes.

Ohhh made it. now it successfully move the mouse relatively in game
@requires_driver
`@requires_driver
def move_relative(x: int | tuple[int, int], y: Optional[int] = None) -> None:
"""Moves to a given position."""
x, y = _utils.normalize(x, y)
# x, y = _utils.to_interception_coordinate(x, y)
stroke = MouseStroke(0, MouseFlag.MOUSE_MOVE_RELATIVE, 0, x, y, 0)
interception.send(mouse, stroke)`

MOUSE_MOVE_RELATIVE is    MOUSE_MOVE_RELATIVE = 0x000
I will send a pull request as soon as i learn how to do that.


Change Color and design of Add Modal

Shooting for @osebo's design from this figma file https://www.figma.com/file/BpFCpzBLH9CwgzaTp9eT4x3I/openrecord-1.01?node-id=0%3A1


Fixes #836 Account Number: def3963e9afcdb0e7e9c00077bea51bd7233540b41eb78a384c2567986b4edf3

fixes #836

@mahihossain I think showing only 3 media icons was not a bug, but intended behavior. Closing this.


fix: correctly map serviceIds during service/workspace import

While working on a v2 for the ferdium-server I stumbled across this issue.
If you import workspaces that include services it will not be imported correctly due to a mismatch in serviceId translation, in the current situation it is comparing 2 different values to a map.
For example, when we have a workspace with a single service and the service has the following properties:
service.id = 4134
service.serviceId = d61ef2e9-c7d4-4a19-a53f-6cac6ca1a0e8

During the import we will discard the serviceId and create a new one, however, the current serviceId is still being mentioned in the workspace data. While importing the workspace it will look for that serviceId and tries to get the newly created version.
The problem is, it is now looking for the old serviceId in a key=>value array where the key is actually the service.id thus it will never match.
I hope this makes sense, otherwise, I'll give a better explanation.

yes - the service.id was referring to the db-generated primary key (integer), whereas the service.serviceId is a random UUID generated for obfuscation purposes when referring to the filesystem folder name of the service


Unexpected symbols before text info

Description
I am using Neofetch (cloned from master, v6.0.1) with Arch and urxvt. When running with the w3m backend I get a "â" symbol before each line of text. I also get this when using xterm.
I am using the command neofetch --w3m <image> --xoffset 10 --yoffset 10 --size 235
Config file, and logfile.
Screenshot

This may absolutely be an oversight of something on my part, apologies if it is!

I am using ly, which appears to be doing something with my locale (resetting it maybe?), causing LANG to be set as POSIX. Exporting LANG again in ~/.profile solves the problem.
Not a neofetch issue! :heart:


[Feature Request] Support Branch For WeScale

Background
Nowadays, many database service providers offer Branch functionality, which allows users to create a replica of a database similar to code branching. This feature enables users to test DDL (Data Definition Language) in the replicated database. When using Branch in Neon, not only the schema but also the data will be copied. PlanetScale allows the modified schema to be applied back to the original database.
WeScale also wants to support Branch functionality and hopes to be able to replicate Data like Neon and apply Schema Back like PlanetScale.
Our differentiation features
One key functionality in Branch is how to import data into a new branch. PlanetScale’s Data Branch relies on importing data through backups. Neon’s Branch relies on their storage architecture to implement Copy On Write.
We've decided to import data into the new branch based on data replication, utilizing the same underlying components as our OnlineDDL.
This way, we can obtain two huge benefits:

Users can customize Transformation Rules and Filtering Rules For Each Table. This allows users to easily desensitize data from the production environment and create a Branch for Development.
It allows for continuous incremental data synchronization. This enables users to perform A/B testing or even replace the original Branch with a new Branch.

Proposal

[x] Support Creating a branch based on a database.

[x] Users should be able to include or exclude tables and views
[x] The source database and the target database can be in different WeScale Clusters

[x] Support Copying and Continiously Replicating data

[x] Users should be able to specify transformation rules and filtering rules for each tables
[x] Copying phase and Replicating phase can be skipped

[x] Support Applying Database Schemas Back to source database

[x] Users should be able to view the schema diff, just like code diff in git

fixed


Use component for beta-label

Use the component for all the beta labels. This means we can remove the
bespoke styling for the old beta label.

LGTM. Is the Slimmer upgrade test changes worth documenting somewhere for when someone hits it in another app?

The changelog in slimmer does explain the changes which should give people enough information to assess the changes for each app.

:+1: then


Logic issue with is_redirect method

The way is_redirect is currently written, a domain will get flagged as a redirect if all endpoints are down or otherwise code 400-ing. For example, imagine domain.tld, which only has its https endpoint up and happens to be returning for a 404 for its index. That will return true for is_redirect, which is confusing (and happening a bunch where I am).
I'm curious if that whole logic block can be simplified to check and see if any of the end points are returning a code 300. That entire block starting on line 527 might reasonably be reduced to something like:
redirection_codes = range(300, 309)

return (https.status in redirection_codes) or (http.status in redirection_codes) or (httpswww.status in redirection_codes) or (httpwww.status in redirection_codes)

I'll submit a pull request and we can hash it out there.

From #67:

I think we should add a conditional to the calculation that ensures that at least one of the endpoints is an external redirect. Something like:

# ...
  and (
    httpwww.redirect_eventually_to_external or
    http.redirect_eventually_to_external or
    httpswww.redirect_eventually_to_external or
    https.redirect_eventually_to_external
  )

I closed #67, and am moving the proposed resolution here for tracking.

Just noting for myself and others that this is still an issue, and affects at least one second-level domain in exim.gov:
https://s3-us-gov-west-1.amazonaws.com/cg-4adefb86-dadb-4ecf-be3e-f1c7b4f6d084/live/cache/pshtt/exim.gov.json


RadialTransition

Hi! Radial Transition is a sort of Custom Activity? and if i would like use it, i have to insert fragments inside it??? Thanks

Hello.
Radial transition is one of the effects of TransitionLayout. It's a kind of a ViewFlipper, so it uses views. You have to add two views to the TransitionLayout instance and call startTransition.

I have looked at your example and i have seen that tou use 3 pl.zielony.carbon.widget.LinearLayout and switch between them with a button. So, inside TransitionLayout, i can't insert fragments but only pl.zielony.carbon.widget.LinearLayout,true??

You can add any View there, not only pl.zielony.carbon.widget.LinearLayout. Adding fragments is also pretty simple. You just have to add a container to the TransitionLayout instance and add your fragment to the container. See the updated sample I just commited.

Ok,thanks a lot!


fix(rust-bindings): Use fixed-bytes B256 for overhead and scalar in SystemConfig

This PR changes the type of the SystemConfig fields overhead and scalar from U256 to B256, as these are assumed to be fixed-length fields in the reference go implementation.
By using fixed-length types, it should be possible to serialize a SystemConfig from the rust bindings and then deserialize these into code in the golang monorepo.
Checklist

[ ] I have declared the chain at the appropriate Superchain Level.
[ ] I have run just validate <chain-id> locally to ensure all local validation checks pass.
[ ] I have run just codegen to ensure that the chainlist and other generated files are up-to-date and include my chain.

Rust bindings were removed from this repo as part of the following pr: https://github.com/ethereum-optimism/superchain-registry/pull/517. The new repo is located here


How should I do with encryption libraries but choosing sessionStorage?

I mean: How do I tell the storage to use sessionStorage and keep the three encryption methods? Can you help me with this please? Thanks in advance.
import { store } from 'quasar/wrappers'
import { createPinia } from 'pinia'
import { createPersistedState } from 'pinia-plugin-persistedstate'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import SecureLS from "secure-ls";
const ls = new SecureLS({ isCompression: false });
/*

If not building with SSR mode, you can
directly export the Store instantiation;

The function below can be async too; either use
async/await or return a Promise which resolves
with the Store instance.
*/

export default store((/* { ssrContext } */) => {
const pinia = createPinia()
// You can add Pinia plugins here
pinia.use(createPersistedState({
storage: {
getItem: (key) => ls.get(key),
setItem: (key, value) => ls.set(key, value),
removeItem: (key) => ls.remove(key)
}
}))
return pinia
})

If you want to use secure-ls, you can do it that way :
const pinia = createPinia().use(createPersistedState({
  storage: {
    getItem: (key) => {
      return (new SecureLS({ isCompression: false })).get(key)
    },
    setItem: (key, value) => {
      (new SecureLS({ isCompression: false })).set(key, value)
    }
  }
}))

Just remember that secure-ls is based on localStorage, so you may want to create your own storagelike with a encryption only lib and sessionStorage instead of using secure-ls

Thank you very much @prazdevs.

Closing this for now, feel free to reopen/open another issue if you have a question/problem. :)

persist: {
        storage: sessionStorage,
        serializer: {
            deserialize: (value) => {
                try {
                    const jsonStringData = decrypt(value)
                    return JSON.parse(jsonStringData)
                } catch (err) {
                    sessionStorage.clear()
                    logout()
                }
            },
            serialize: (value) => {
                const data = JSON.stringify(value)
                return encrypt(data)
            },
        },
    },

Here's an example code that demonstrates how to perform encryption and decryption with sessionStorage


StreamField: js error in adding component field

Issue Summary
Error in back-office when trying to add items in a StreamField
Steps to Reproduce

Define a StreamField :

class EventPage(PublicationItemPage):
    """
    Simple event, providing:

    + date/time start
    + date/time end
    + location
    + audience
    + a signup link
    """
    #: Date from
    date_from = models.DateField(verbose_name=_('Start date'))

    #: Date to
    date_to = models.DateField(verbose_name=_('End date'),
                               null=True, blank=True,
                               help_text=_('Not required if event is on a single day'))

    #: Time from
    time_from = models.TimeField(verbose_name=_('Start time'), null=True, blank=True)

    #: Time to
    time_to = models.TimeField(verbose_name=_('End time'), null=True, blank=True)

    #: Audience can be `private` or `public`
    audience = models.CharField(verbose_name=_('Audience'), max_length=255, choices=EVENT_AUDIENCE_CHOICES)

    #: A Location
    location = models.ForeignKey('publications.Location',
                                 verbose_name=_('Location'),
                                 on_delete=models.SET_NULL,
                                 null=True, blank=True)

    #: A description of the event
    body = StreamField([('paragraph', blocks.RichTextBlock()),
                        ('image', ImageChooserBlock()),
                        ('url', blocks.URLBlock()),
                        ('date', blocks.DateBlock()),
                        ('page', blocks.PageChooserBlock())],
                       verbose_name=_('Body'),
                       null=True, blank=True)

Defines some content panels

# Content panels
    content_panels = [FieldPanel('title', classname="full title"),
                      FieldPanel('date_from'),
                      FieldPanel('date_to'),
                      FieldPanel('time_from'),
                      FieldPanel('time_to'),
                      FieldPanel('location'),
                      FieldPanel('audience'),
                      FieldPanel('signup_link'),
                      FieldPanel('body'), ]

When adding a new Event, I've some weird comportment

When recording, I've a 500 error :

Internal Server Error: /admin/pages/add/publications/eventpage/7/
MultiValueDictKeyError at /admin/pages/add/publications/eventpage/7/
"u'body-0-deleted'"
Technical details

Python version: 2.7.9
Django version: 1.10.6
Wagtail version: 1.9
Browser version: firefox 51 / firefox 52 / chrome 57

@frague59 body should be added to content_panels using a StreamFieldPanel, not a FieldPanel.
Does that help?

JS error:
Uncaught TypeError: Cannot read property 'initializer' of undefined
at Object.onInitializeMember (stream.js:87)
at postInsertMember (sequence.js:95)
at Object.self.insertMemberAtStart (sequence.js:196)
at Object.onChooseBlock (stream.js:140)
at HTMLButtonElement. (stream.js:60)
at HTMLButtonElement.dispatch (jquery-2.2.1.js:4732)
at HTMLButtonElement.elemData.handle (jquery-2.2.1.js:4544)

@frague59 Did you see my comment, I believe we commented at the same time? Did that solve your issue?

Yeah, got it, StreamFieldPanel solves the problem, Sorry !

Also, note that if you are trying to use a StreamField in the Settings tab (instead of Pages) on wagtail you must use:
panels = [         StreamFieldPanel('body'),     ] and not content_panels. This causes a JS error as well.


test(bufferCount): add last missing test for bufferCount

Resolves #382 .

Merged with f9ad7d7. Thanks @staltz


[ENHANCEMENT]  Add locations screen

Is your feature request related to a problem? Please describe.
We want to represent that a given hosting provider can be active in more than one location. Rather than jamming it into an existing form, we'd like to see if this works better as a separate step in the form wizard we are building.
Describe the solution you'd like
We would add a new step in the multi step form where users would list at least one location that their organisation is active in.
Implementation
We'd need to extend the ProviderRegistrationView with a something like a new entry in the FORMS list.
So here,
FORMS = [
        (Steps.ORG_DETAILS.value, OrgDetailsForm),
        (Steps.SERVICES.value, ServicesForm),
        (Steps.GREEN_EVIDENCE.value, GreenEvidenceForm),
        (Steps.NETWORK_FOOTPRINT.value, NetworkFootprintForm),
        (Steps.CONSENT.value, ConsentForm),
    ]

We'd have something like this, where we create a new OrgLocationForm that contains the relevant convenient formset
FORMS = [
        (Steps.ORG_DETAILS.value, OrgDetailsForm),
        (Steps.LOCATIONS.value, OrgLocationForm),
        (Steps.SERVICES.value, ServicesForm),
        (Steps.GREEN_EVIDENCE.value, GreenEvidenceForm),
        (Steps.NETWORK_FOOTPRINT.value, NetworkFootprintForm),
        (Steps.CONSENT.value, ConsentForm),
    ]

And update the templates accordingly:
TEMPLATES = {
        Steps.ORG_DETAILS.value: "provider_registration/about_org.html",
        Steps.LOCATIONS.value: "provider_registration/locations.html",
        Steps.SERVICES.value: "provider_registration/services.html",
        Steps.GREEN_EVIDENCE.value: "provider_registration/evidence.html",
        Steps.NETWORK_FOOTPRINT.value: "provider_registration/network_footprint.html",
        Steps.CONSENT.value: "provider_registration/consent.html",
    }

 Accept multiple locations in the registration form

Closing this as we resolved it in #378
https://github.com/thegreenwebfoundation/admin-portal/pull/378


Pop-up does not close when clicking on the close button after clicking 'Report an Issue' button on home page

Describe the bug
When clicking on the close button in the pop-up that appears after clicking the "Report an Issue" button on the home page, the pop-up does not close.
To Reproduce
Steps to reproduce the behavior:

Go to the home page.
Click on the "Report an Issue" button in the bottom right corner.
Wait for the pop-up to appear.
Click on the close button in the top right corner of the pop-up.
Notice that the pop-up does not close

Expected behavior
When clicking on the close button in the pop-up, it should close and disappear from the screen.
Video :
https://user-images.githubusercontent.com/46915044/222689971-0100b894-d7f1-4898-bfca-a4d30ab97bc0.mov
Are you working on this issue? (Yes/No)
Yes

Hi @rockharshitmaurya,
This issue has already been identified in #36  and also fixed in #37

Hi @rockharshitmaurya thanks for letting me know , I'm closing the issue


Handle way smoothness

I'm not sure if routing profiles take smoothness into account, but even if it is used, it is not visible to user.
Use case: currently maps.openrouteservice.org show surface type distribution of the selected route, which is enormously helpful. However, OpenStreetMap has only 1 surface type for 'asphalt', wile in reality this is a very broad idea, ranging for a perfectly flat surface to a road that is half way in disintegrating into gravel - and cannot be driven on a sports car or a road bike. Currently planning a trip using mapsopenrouteservice.org is risky, because a 100% asphalt route can be so bad that it's not possible to follow it.
OpenStreetMap wiki suggests renderers should use key:smoothness to determine usability for different wheel vehicles.
I am not suggesting to show full range of smoothness values to the user, it would probably be too many parameters. When I see surface distribution, I would like to have more categories than just 'asphalt'. Maybe 'bad asphalt' for 'asphalt' + smoothness 'bad' or below and old 'asphalt' for other combinations (surface=asphalt plus smoothness=intermediate or surface=asphalt + no smoothness set).
An alternative is to use key:tracktype, but the wiki say it is rarely set for roads.

Thank you @pkubowicz - could you please move thie issue over to our backend which is https://github.com/GIScience/openrouteservice thank you


Missing backticks breaking documentation in groupchat.last_speaker

Why are these changes needed?

There are missing backticks in docstring causing the generated reference documentation formatting to break.
Related issue number

N/A
Checks

[x] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

Changes look good, thanks @HenryKobin!
Before:

After:

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 20.44%. Comparing base (6279247) to head (d26e59f).
Report is 85 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #3357       +/-   ##
===========================================
- Coverage   32.90%   20.44%   -12.46%
===========================================
  Files          94       95        +1
  Lines       10235    10661      +426
  Branches     2193     2278       +85
===========================================
- Hits         3368     2180     -1188
- Misses       6580     8326     +1746
+ Partials      287      155      -132

Flag
Coverage Δ

unittests
20.43% <ø> (-12.47%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


[SPARK-30755][SQL] Update migration guide for HIVE-15167

What changes were proposed in this pull request?
HIVE-15167 removed the SerDe interface. This may break custom SerDe builds for Hive 1.2. This PR update the migration guide for this change.
Why are the changes needed?
Otherwise:
2020-01-27 05:11:20.446 - stderr> 20/01/27 05:11:20 INFO DAGScheduler: ResultStage 2 (main at NativeMethodAccessorImpl.java:0) failed in 1.000 s due to Job aborted due to stage failure: Task 0 in stage 2.0 failed 4 times, most recent failure: Lost task 0.3 in stage 2.0 (TID 13, <IP_ADDRESS>, executor 1): java.lang.NoClassDefFoundError: org/apache/hadoop/hive/serde2/SerDe
  2020-01-27 05:11:20.446 - stderr>  at java.lang.ClassLoader.defineClass1(Native Method)
  2020-01-27 05:11:20.446 - stderr>  at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
  2020-01-27 05:11:20.446 - stderr>  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
  2020-01-27 05:11:20.446 - stderr>  at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
  2020-01-27 05:11:20.446 - stderr>  at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
  2020-01-27 05:11:20.446 - stderr>  at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
  2020-01-27 05:11:20.446 - stderr>  at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
  2020-01-27 05:11:20.446 - stderr>  at java.security.AccessController.doPrivileged(Native Method)
  2020-01-27 05:11:20.446 - stderr>  at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
  2020-01-27 05:11:20.446 - stderr>  at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
  2020-01-27 05:11:20.446 - stderr>  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
  2020-01-27 05:11:20.446 - stderr>  at java.lang.ClassLoader.loadClass(ClassLoader.java:405)
  2020-01-27 05:11:20.446 - stderr>  at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
  2020-01-27 05:11:20.446 - stderr>  at java.lang.Class.forName0(Native Method)
  2020-01-27 05:11:20.446 - stderr>  at java.lang.Class.forName(Class.java:348)
  2020-01-27 05:11:20.446 - stderr>  at org.apache.hadoop.hive.ql.plan.TableDesc.getDeserializerClass(TableDesc.java:76)
.....

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manual test

Test build #118032 has started for PR 27492 at commit 274af0e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/22797/
Test PASSed.

Test build #118032 has finished for PR 27492 at commit 274af0e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118032/
Test PASSed.

cc @Ngone51 @cloud-fan

Please test with Hive 1.2, too.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/22825/
Test PASSed.

Test build #118059 has started for PR 27492 at commit 274af0e.

Test build #118059 has finished for PR 27492 at commit 274af0e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118059/
Test PASSed.

The issue is a breaking change. I change the priority to Blocker

+1 for Blocker.

Test build #118090 has started for PR 27492 at commit 63e597e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/22855/
Test PASSed.

This method will have NoSuchMethodError exception:
Error in query: java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils.implicitConvertible(Lorg/apache/hadoop/hive/serde2/typeinfo/TypeInfo;Lorg/apache/hadoop/hive/serde2/typeinfo/TypeInfo;)Z;

Test build #118090 has finished for PR 27492 at commit 63e597e.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class DummyHiveSerde implements SerDe

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118090/
Test FAILed.

apache/hadoop/hive/serde2/typeinfo/

Seems implicitConvertible is still there (https://github.com/apache/hive/blob/rel/release-2.3.6/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java#L928)? Or maybe I am missing something?

Do we rely on hive to handle serde? If so, I am worried that simply adding back the interface will not work because hive does not understand how to handle it now.

Hi @wangyum , I got this error when I run SPARK-30755: Support Hive 1.2.1's Serde after making built-in Hive to 2.3 in HiveQuerySuite locally using ./build/sbt -Phadoop-2.7 -Phive-2.3 -Phive-thriftserver -Phive:
[info] - SPARK-30755: Support Hive 1.2.1's Serde after making built-in Hive to 2.3 *** FAILED *** (5 seconds, 875 milliseconds)
[info]   org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: class org.apache.spark.sql.hive.DummyHiveSerde;
[info]   at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:109)
[info]   at org.apache.spark.sql.hive.HiveExternalCatalog.createTable(HiveExternalCatalog.scala:242)
[info]   at org.apache.spark.sql.catalyst.catalog.ExternalCatalogWithListener.createTable(ExternalCatalogWithListener.scala:94)
[info]   at org.apache.spark.sql.catalyst.catalog.SessionCatalog.createTable(SessionCatalog.scala:325)
[info]   at org.apache.spark.sql.execution.command.CreateTableCommand.run(tables.scala:163)
[info]   at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
[info]   at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
[info]   at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:79)
[info]   at org.apache.spark.sql.Dataset.$anonfun$logicalPlan$1(Dataset.scala:226)
[info]   at org.apache.spark.sql.Dataset.$anonfun$withAction$1(Dataset.scala:3497)
[info]   at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$4(SQLExecution.scala:102)
[info]   at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:162)
[info]   at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:89)
[info]   at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3495)
[info]   at org.apache.spark.sql.Dataset.<init>(Dataset.scala:226)
[info]   at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:88)
[info]   at org.apache.spark.sql.hive.test.TestHiveSparkSession.sql(TestHive.scala:238)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.$anonfun$new$114(HiveQuerySuite.scala:1231)
[info]   at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[info]   at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1377)
[info]   at org.apache.spark.sql.test.SQLTestUtilsBase.withTable(SQLTestUtils.scala:290)
[info]   at org.apache.spark.sql.test.SQLTestUtilsBase.withTable$(SQLTestUtils.scala:288)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.withTable(HiveQuerySuite.scala:49)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.$anonfun$new$113(HiveQuerySuite.scala:1229)
[info]   at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[info]   at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info]   at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
[info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:22)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:20)
[info]   at org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186)
[info]   at org.apache.spark.SparkFunSuite.withFixture(SparkFunSuite.scala:151)
[info]   at org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184)
[info]   at org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196)
[info]   at org.scalatest.SuperEngine.runTestImpl(Engine.scala:286)
[info]   at org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196)
[info]   at org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178)
[info]   at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterEach$$super$runTest(SparkFunSuite.scala:58)
[info]   at org.scalatest.BeforeAndAfterEach.runTest(BeforeAndAfterEach.scala:221)
[info]   at org.scalatest.BeforeAndAfterEach.runTest$(BeforeAndAfterEach.scala:214)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.org$scalatest$BeforeAndAfter$$super$runTest(HiveQuerySuite.scala:49)
[info]   at org.scalatest.BeforeAndAfter.runTest(BeforeAndAfter.scala:203)
[info]   at org.scalatest.BeforeAndAfter.runTest$(BeforeAndAfter.scala:192)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.runTest(HiveQuerySuite.scala:49)
[info]   at org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229)
[info]   at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:393)
[info]   at scala.collection.immutable.List.foreach(List.scala:392)
[info]   at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:381)
[info]   at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:376)
[info]   at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:458)
[info]   at org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229)
[info]   at org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228)
[info]   at org.scalatest.FunSuite.runTests(FunSuite.scala:1560)
[info]   at org.scalatest.Suite.run(Suite.scala:1124)
[info]   at org.scalatest.Suite.run$(Suite.scala:1106)
[info]   at org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560)
[info]   at org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233)
[info]   at org.scalatest.SuperEngine.runImpl(Engine.scala:518)
[info]   at org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233)
[info]   at org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232)
[info]   at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterAll$$super$run(SparkFunSuite.scala:58)
[info]   at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:213)
[info]   at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
[info]   at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.org$scalatest$BeforeAndAfter$$super$run(HiveQuerySuite.scala:49)
[info]   at org.scalatest.BeforeAndAfter.run(BeforeAndAfter.scala:258)
[info]   at org.scalatest.BeforeAndAfter.run$(BeforeAndAfter.scala:256)
[info]   at org.apache.spark.sql.hive.execution.HiveQuerySuite.run(HiveQuerySuite.scala:49)
[info]   at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:317)
[info]   at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:510)
[info]   at sbt.ForkMain$Run$2.call(ForkMain.java:296)
[info]   at sbt.ForkMain$Run$2.call(ForkMain.java:286)
[info]   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[info]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[info]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[info]   at java.lang.Thread.run(Thread.java:748)
...

Also, how did https://github.com/apache/spark/blob/a6b91d2bf727e175d0e175295001db85647539b1/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveSparkSubmitSuite.scala#L111 pass? Is it because we are pulling in a new jar that works with 2.3.6?

@Ngone51 Yes. SPARK-30755: Support Hive 1.2.1's Serde after making built-in Hive to 2.3 can not pass. You can build this class into a new jar and add it to the classpath for testing. But it will throw Error in query: java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils.implicitConvertible(Lorg/apache/hadoop/hive/serde2/typeinfo/TypeInfo;Lorg/apache/hadoop/hive/serde2/typeinfo/TypeInfo;)Z; error. That is to say, this is not a right way to fix this issue.

@yhuai It is because we use hive-contrib-2.3.6.jar and hive-hcatalog-core-2.3.6.jar:
https://github.com/apache/spark/blob/2ceed6f32c51a0c5e535fcff37336e7d8cd87537/sql/hive/src/test/scala/org/apache/spark/sql/hive/HiveSparkSubmitSuite.scala#L115-L116

Do we have a way to fix it?

I don't have a perfect solution. Add Hive 1.2.1's SerDe to source code can fix some custom serde. But can't fix all custom serde .

Test build #118459 has started for PR 27492 at commit defc51e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23216/
Test PASSed.

Test build #118460 has started for PR 27492 at commit bf8b214.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23217/
Test PASSed.

Test build #118459 has finished for PR 27492 at commit defc51e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118459/
Test FAILed.

Test build #118460 has finished for PR 27492 at commit bf8b214.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118460/
Test FAILed.

Test build #118470 has started for PR 27492 at commit a3c2d26.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23227/
Test PASSed.

Test build #118470 has finished for PR 27492 at commit a3c2d26.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118470/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23323/
Test PASSed.

Test build #118568 has started for PR 27492 at commit 549d71a.

Test build #118568 has finished for PR 27492 at commit 549d71a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118568/
Test PASSed.


Package Breaking, JS Object Error

Error on line 194 of utils.js, https://github.com/Schmavery/facebook-chat-api/blob/master/utils.js#L194
I'll fix this

Also unrelated, I think message types are not working property, but that's not as bad.

Check out https://github.com/Schmavery/facebook-chat-api/pull/165

I responded on the PR. Our package specifies that you need nodejs ≥ 4.x, which I think is when they started supporting this. Please correct me if I'm wrong.

Sorry - I must have missed that

Yeah, I was running 0.12.2, which would explain the issue - everything works wonderfully now

<3


Docs: member details

AboutUs.adoc: Update the team name and link
Rename Han Yaodong's profile picture

Coverage remained the same at 90.858% when pulling d72253568ab887a0d09e65554442da14a6f0631c on HanYaodong:doc-member-details into ff131fd87cc2f7c9aed7ad919d13053d051e5a84 on CS2103AUG2017-F11-B4:master.

Coverage remained the same at 90.858% when pulling 5a973e4fd24122f0fc89cb1566d0412027193819 on HanYaodong:doc-member-details into ff131fd87cc2f7c9aed7ad919d13053d051e5a84 on CS2103AUG2017-F11-B4:master.


root span does not reach collector when running under uwsgi

If I run my app using werkzeug.serving.run_simple all spans are propagated just fine and my traces/spans are error free. If I run the app under uwsgi and initialize the tracer in the uwsgi.post_fork_hook, i see the client claiming that it has reported the root span, but the collector never appears to receive it (I added logging when the collector receives spans). Once the root span is missing all the other spans that were one level below the root are marked as having an invalid parent, and the trace is screwed up.
Is there some consideration I'm missing when running jaeger in a tornado.wsgi.WSGIApplication under uwsgi? I suspect it may be an issue with my hacked together middleware that maintains a stack of the ongoing trace in thread-local storage ala py_zipkin. I understand how putting the trace context in TLS could be a problem in a multithreaded environment with concurrent requests, but this issue appears even when I'm only sending in a single request at a time as a proof of concept.
Or am I missing some subtlety related to how tracer flushes as discussed in #50 ?

Can you post some example that reproduces there issue?

i'll try to distill some toy example, but it looks like this is probably the fault of my hacked together "middleware". With uwsgi running in prethreaded mode, things seem to work ok so far.

Closing as it's been idle for 4 months.

I've also just had a situation where replacing uwsgi with gunicorn made my spans go through, but only those spans made by Flask. Spans reported by different, background threads were working flawlessly.


Backend Config

Is this one still active @git-anurag-hub?

Sure - no hassle. I'm just going through my GitHub notifications

Sure - no hassle. I'm just going through my GitHub notifications


Fix CME

should hopefully fix this CME
crash-2016-12-04_14.18.52-server.txt

honestly, this tick event shouldn't be necessary at all, that code should go into the tile entity.

should be fixed with that dirty workaround
https://github.com/MrRiegel/LimeLib/commit/7736015294f17847b9bf85ab37d20323d9e32989#diff-9f898ef1d24500346c3026508ad23343R61


Windows 7 image always restarting

I created windows 7 qcow2 image, i uploaded openstack and created instance. But the instance always restart again again. How can i do it ?

Hello,
Please consult: https://github.com/cloudbase/windows-openstack-imaging-tools#i-booted-an-instance-with-the-image-and-i-got-a-bsod
Thanks.

the below code is driver part of conf.ini file . I dont understand, what is the virtio_iso_path ? And how can i flag enable kvm flag ? Where ?
[drivers]
The path to the ISO file containing the VirtIO drivers.
virtio_iso_path=""
The location where the VirtIO drivers are found.
For example, the location of a mounted VirtIO ISO. VirtIO versions supported >=0.1.6.x
The location where the VirtIO drivers are found.
For example, the location of a mounted VirtIO ISO. VirtIO versions supported >=0.1.6.x
virtio_base_path="C:\Users\Administrator\Downloads\virtio-win-0.1.133.iso"
The location where additional drivers that are needed for the image are located.
drivers_path=""

Hello,
If you already have the virtio ISO at this path: "C:\Users\Administrator\Downloads\virtio-win-0.1.133.iso", the windows image generation config should be:
[drivers]
virtio_iso_path="C:\Users\Administrator\Downloads\virtio-win-0.1.133.iso"
virtio_base_path=""
drivers_path=""
On the hypervisor part, the nova-compute servers (assuming you are using libvirt-kvm), should be configured to use kvm virtualization. Make sure that in the nova-compute configuration you have:
[libvirt]
virt_type = kvm
Thank you,
Adrian Vladu

Bellow you can find more information on the options for the drivers' configuration:
[drivers]
The path to the ISO file containing the VirtIO drivers."
virtio_iso_path="C:\Users\Administrator\Downloads\virtio-win-0.1.133.iso"
The location where the VirtIO drivers are found.
For example, the location of a mounted VirtIO ISO. VirtIO versions supported >=0.1.6.x
virtio_base_path=""
The location where additional drivers that are needed for the image are located.
drivers_path=""

I checked openstack configuration and kvm is enable, but the windows instance is same this picture [1]
[1] https://pasteboard.co/HrDt4DG.png
when i writo virtio path to virtio_iso_path section, it didnt work, virtı_base_path working. But i cant run on openstack

Hello,
Can you give more information on what didn't work if you set: "virtio path to virtio_iso_path section"? The windows image generation logs would be great.
Setting the virtio ISO path is a requirement ot have the virtio drivers installed.
Thanks.

You can also make sure the OpenStack environment  is okay by testing it with a Windows 2012 R2 kvm evaluation image prepared for OpenStack kvm.
Here is the download link: https://cloudbase.it/windows-cloud-images/#download

Yeah, i can run Windows 2012 R2 kvm  image, it is worked.
Where is the logs about windows image generation ?

I see this error : The Open vSwitch Service service terminated unexpectedly.  It has done this 1 time(s).  The following corrective action will be taken in 0 milliseconds: Restart the service.
Is it important ? I dont any idea.

On what version of Windows are you trying to generate the image?
This seems to be an error with mounting ISO files.
You can try to manually mount the ISO file and set the mount point location:
# The path to the ISO file containing the VirtIO drivers."
virtio_iso_path=""
# The location where the VirtIO drivers are found.
# For example, the location of a mounted VirtIO ISO. VirtIO versions supported >=0.1.6.x
virtio_base_path="<path where the virtio iso is mounted"

I work on Windows Server 2016. I try to mount on powershell, it has still appling image for yesterday

It gave same error,
PS C:\Users\Administrator\windows-openstack-imaging-tools> Mount-DiskImage -ImagePath C:\Users\Administrator\Downloads\Win8.1_English_
x64.iso
PS C:\Users\Administrator\windows-openstack-imaging-tools> New-WindowsOnlineImage -ConfigFilePath $ConfigFilePath
26.06.2018 16:55:27 - Windows online image generation started.
26.06.2018 16:55:32 - Cloud image generation started.
26.06.2018 16:55:34 - Creating Virtual Disk Image: C:\Users\ADMINI~1\win8.vhdx...
26.06.2018 16:55:37 - Successfuly created disk: C:\Users\ADMINI~1\win8.vhdx
26.06.2018 16:55:37 - Generate Unattend Xml :F:\Unattend.xml...
26.06.2018 16:55:37 - Xml was generated.
26.06.2018 16:55:37 - Copy Unattend Resources: Client...
26.06.2018 16:55:37 - Copying: C:\Users\Administrator\windows-openstack-imaging-tools\UnattendResources F:\UnattendResources
26.06.2018 16:55:37 - Resources have been copied.
26.06.2018 16:55:37 - Copy Custom Resources: ...
26.06.2018 16:55:37 - Custom Resources at: F:\UnattendResources.
26.06.2018 16:55:37 - Set Wallpaper: ...
26.06.2018 16:55:37 - Wallpaper copied to the image.
26.06.2018 16:55:37 - Wallpaper GPO copied to the image.
26.06.2018 16:55:37 - Wallpaper was set.
26.06.2018 16:55:37 - Downloading Cloudbase-Init...
26.06.2018 16:55:42 - Applying Windows image "E:\sources\install.wim" in "F:"
Deployment Image Servicing and Management tool
Version: 10.0.14393.0
Applying image
[==========================100.0%==========================]
The operation completed successfully.
27.06.2018 08:25:38 - Create BCDBoot Config: WIMInterop.WimImage.ImageName...
The operation completed successfully.
The operation completed successfully.
The operation completed successfully.
27.06.2018 08:25:38 - BCDBoot config has been created.
27.06.2018 08:25:38 - Adding Virtual IO Drivers from ISO: C:\Users\Administrator\Downloads\virtio-win-0.1.141.iso...
27.06.2018 08:25:43 - Exception calling "OpenVirtualDisk" with "1" argument(s): "Unrecognized file format: İSO"
Add-VirtIODriversFromISO : Exception calling "OpenVirtualDisk" with "1" argument(s): "Unrecognized file format: İSO"
At C:\Users\Administrator\windows-openstack-imaging-tools\WinImageBuilder.psm1:1325 char:13

        Add-VirtIODriversFromISO $winImagePath $image $windowsIma ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [Add-VirtIODriversFromISO], MethodInvocationException
FullyQualifiedErrorId : Exception,Add-VirtIODriversFromISO

PS C:\Users\Administrator\windows-openstack-imaging-tools>

Can you try generate the image after you remove the line: virtio_iso_path="" and leave only virtio_base_path="<path where the virtio iso is mounted" from the section drivers in the config file?
Thanks.

Yes, when i use virtio_base_path section, image created successfully. But the windows restart always and gives blue screen. How can watch logs or something, how can i detect problem ?

I run create-windows-online-cloud-image.ps1 but it gave same error. İSO file format Unrecognized, is there any bug in source code. it is İSO not ISO ?
[==========================100.0%==========================]
The operation completed successfully.
5.07.2018 13:57:13 - Create BCDBoot Config: WIMInterop.WimImage.ImageName...
The operation completed successfully.
The operation completed successfully.
The operation completed successfully.
5.07.2018 13:57:18 - BCDBoot config has been created.
5.07.2018 13:57:18 - Adding Virtual IO Drivers from ISO: C:\Users\Administrator\virtio.iso...
5.07.2018 13:57:25 - Exception calling "OpenVirtualDisk" with "1" argument(s): "Unrecognized file format: İSO"
Add-VirtIODriversFromISO : Exception calling "OpenVirtualDisk" with "1" argument(s): "Unrecognized file format: İSO"
At C:\Users\Administrator\windows-openstack-imaging-tools\WinImageBuilder.psm1:1325 char:13

        Add-VirtIODriversFromISO $winImagePath $image $windowsIma ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [Add-VirtIODriversFromISO], MethodInvocationException
FullyQualifiedErrorId : Exception,Add-VirtIODriversFromISO

can you paste here from the OpenStack KVM node where that Windows instance runs the output of this command?
ps auxf | grep qemu

result is : http://paste.openstack.org/show/725109/

windows instance is : http://paste.openstack.org/show/725111/

If the virtio drivers were successfully installed and kvm is enabled, the only issue I can think of is that the KVM does not expose the required CPU flags for Windows to run (https://ask.cloudbase.it/question/1227/nano-server-wont-boot/)
Can you send the full logs for the image generation (the ones from the PowerShell console), to check if the virtio drivers were properly applied?
One more thing you can try is to set in the nova.conf on the compute node:
  [libvirt]
  cpu_mode=host-passthrough

Thanks,
Adrian Vladu

the powershell full log is http://paste.openstack.org/show/725114/
How can i check virtio driver is appied or not ? the cloudbase windows 2012 image is working our openstack system, but i cant instances with new created windows image

It does not find any virtio drivers here:
5.07.2018 12:07:24 - Adding Virtual IO Drivers: F:\virtio-win-0.1.1...
5.07.2018 12:07:24 - Getting Virtual IO Drivers: F:\virtio-win-0.1.1...
5.07.2018 12:07:24 - Getting Virtual IO Drivers: F:\virtio-win-0.1.1...
5.07.2018 12:07:24 - Virtual IO Drivers was added.
Make sure that virtio_base_path = "F:"

I mounted virtio.iso file to F:\ . Is it wrong ?

Is not wrong that you mounted the ISO on F:, but it is wrong that you have set the virtio drivers path to "F:\virtio-win-0.1.1", it should be the mount point, which is F:\

I can run windows server 2016, but i cant run windows 10, it does not have install.wim, i use boot.wim and name is  Microsoft Windows PE (x64) , but not working.
Also i run 8.1, its screen is inverse like mirror, but i can fix it ?

I try to run Windows 7, but windows-imaging-tools gave an error : http://paste.openstack.org/show/725241/

I dont solve Windows 7 and Windows 10 problems, do you help me ?

Hello,
answers inline >>

"but i cant run windows 10, it does not have install.wim, i use boot.wim and name is Microsoft Windows PE (x64) , but not working." - this seems like an ISO problem, an iso should always have the install.wim file.

"Also i run 8.1, its screen is inverse like mirror, I am using spice console how can i fix it ?" - This seems an OpenStack issue, I do not have any information on that issue.

"I try to run Windows 7, but windows-imaging-tools gave an error http://paste.openstack.org/show/725241/" - this looks like an uefi/bcd store problem, but I need some more details on the ISO files you are using.

What ISO versions(ISO full name) are you using when trying to generate the corresponding images for Win 10 and Win7?
I will try to reproduce the issue you've got. Also, make sure you have a clean environment for the image generation (fresh host OS install, latest patches, even a reboot might help sometimes).
Thanks,
Adrian.

Closing this issue, as the initial problem has been solved.
The problem with the Win7 image generation will be tracked on issue #216 page


set own environment variable for console commands

how can i do it?
I can see in debug log:
DEBUG[79c9a742] Command: cd /var/www/asdf/asdf/shared && ( SYMFONY_ENV=prod /usr/bin/env [ -e composer.phar ] )
how can i add another param to that SYMFONY_ENV?

If you want to define other env variables you can use :
set :default_env, {
  'DATABASE_NAME' => 'symfony',
  'DATABASE_USER' => 'user',
  'DATABASE_PASSWORD' => 'password'
}

Closing this issue, thanks for helping @pborreli :smile:


libquotient: 0.6.7 -> 0.6.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/quotient-im/libQuotient/releases.
meta.description for libquotient is: "A Qt5 library to write cross-platform clients for Matrix"
meta.homepage for libquotient is: "https://matrix.org/docs/projects/sdk/quotient"
meta.changelog for libquotient is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

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

Warning: no invocation of /nix/store/rmfr2da47ix631428r7a1r7g9qd8nfya-libquotient-0.6.8/bin/quotest had a zero exit code or showed the expected version

Warning: no invocation of /nix/store/rmfr2da47ix631428r7a1r7g9qd8nfya-libquotient-0.6.8/bin/.quotest-wrapped had a zero exit code or showed the expected version

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

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

found 0.6.8 with grep in /nix/store/rmfr2da47ix631428r7a1r7g9qd8nfya-libquotient-0.6.8

found 0.6.8 in filename of file in /nix/store/rmfr2da47ix631428r7a1r7g9qd8nfya-libquotient-0.6.8

directory tree listing: https://gist.github.com/99040a20d16d26f43c2cd6c83f876ce4

du listing: https://gist.github.com/95ac3e36be7869df8443eb1b7653de20

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

8 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
libquotient
neochat
quaternion

Instructions to test this update (click to expand)

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

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

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

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

3 packages built:

libquotient
neochat (matrique ,spectral)
quaternion

Maintainer pings
cc @colemickens for testing.

Result of nixpkgs-review pr 135645 at b0483dff run on x86_64-linux 1

3 packages built successfully:

libquotient
neochat
quaternion

1 suggestion:

warning: unclear-gpl
lgpl21 is a deprecated license, please check if project uses lgpl21Plus or lgpl21Only and change meta.license accordingly.
Near pkgs/development/libraries/libquotient/default.nix:21:5:
   |
21 |     license = licenses.lgpl21;
   |     ^


Always show win/lose toggle in game.over

closes https://github.com/Microsoft/pxt-arcade/issues/872
Changed parameter name mainly to disambiguate upgraded / un-upgraded scripts for the upgrade rules.
Old:

New:

I don't think we need to change the parameter name; we can detect whether it's old/new using the dom


Update dockernetworks.md

Fix truncated sentence

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-3" git@github.com:cloojure/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Thanks!
LGTM

ping @vdemeester @MHBauer

oh :stuck_out_tongue_closed_eyes:
LGTM 🐭


Configure at SonarCloud

Add project to SonarCloud for code quality and security scanning. (Update the project key in the "sonarcloud-scan.yml" workflow file and in the badges above.)

Finished in a2cc4c7a61900ab5dfc0491c521a199fd985f6f6.
SBEAP project at SonarCloud


config subcommand

We should add a config subcommand.
This should include commands for getting and setting configuration

Fixed.


Oracle resulst

Hi,

How ı can delete this (00000000) after start from dot_??
I could't fınd ın settıngs whıch ı found ın ınternet.

Hi Sergey,
I was checked this "checkbox" before and it was already "checed". Still results are coming with many "zero(0)". I tied with another DB program. Results are coming normal. Just on Dbeaver showing like that.
Still I couldn't fix. Look like its so easy problem but nobody could fix it yet.
Thanks.

@serge-rider  Could you check again? Is it not possible to fix or nor ?

This checkbox should be unchecked in your case.
Once you check it zeroes may appear if database data type has long scale.


[Docker] alpine container image: install jp from repos

jp is available in the normal repositories:
https://pkgs.alpinelinux.org/packages?name=jp&branch=v3.19&repo=&arch=x86_64&maintainer=
Related command
When building the alpine container
Description
Use distro-provided packages instead of github-releases, should lead to less breakage along the way as they are more likely to work with that distro and these other libraries.
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
FIXME please edit this, I'm not sure what to choose for this change.
Perhaps add a link here instead of in the footer to the available components.

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

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

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Docker

ERROR: failed to solve: python:3.11-alpine: failed to resolve source metadata for docker.io/library/python:3.11-alpine: failed to copy: httpReadSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/library/python/manifests/sha256:4350f4caccd5f014eb107fd0c7348f428d6e9d9fb089797d6264a234592e0981: 429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

Please fix CI issues

Please fix CI issues

Can you retrigger the CI?

@bebobenehmen why is that and where can I read more about it?

See https://github.com/Azure/azure-cli/pull/29628


Binderise

Add support for running a demo of the repo notebooks using MyBinder.
References: https://github.com/has2k1/gnuplot_kernel/issues/15

@psychemedia, Thanks. This is really cool.


[Coverity CID :203458]Integer handling issues in /tests/lib/fdtable/src/main.c

Static code scan issues seen in File: /tests/lib/fdtable/src/main.c
Category: Integer handling issues
Function: test_z_get_fd_obj_and_vtable
Component: Tests
CID: 203458
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

f1afb4c24d0
 21void test_z_get_fd_obj_and_vtable(void)
 22{
 23        const struct fd_op_vtable *vtable;
 24
   	1. negative_return_fn: Function z_reserve_fd() returns a negative number. [show details]
   	2. assign: Assigning: fd = z_reserve_fd().
 25        int fd = z_reserve_fd();
 26
 27        int *obj;
 28        obj = z_get_fd_obj_and_vtable(fd, &vtable); /* function being tested */
 29
   	3. Condition obj != NULL, taking false branch.
   	4. Condition (obj != NULL) == 1, taking false branch.
   	5. Condition (obj != NULL) == 1, taking false branch.
   	6. Condition "obj is NULL", taking true branch.
   	7. Condition "obj is NULL", taking true branch.
 30        zassert_equal(obj != NULL, true, "obj is NULL");
 31

CID 203458 (#1 of 1): Improper use of negative value (NEGATIVE_RETURNS)
8. negative_returns: fd is passed to a parameter that cannot be negative. [show details]
 32        z_free_fd(fd);
 33}
 34


convert removePolkadotJSWarnings to npm lifecycle hook

this would be better as a lifecycle hook than standalone script which we have to run on demand ourselves


setNode.gd encodes 'type' as STRING, INT, FLOAT, BOOL in enum but UI offers drop down to select operator type EQUAL, ADD, MINUS etc

Code in question
Having checked the SetNode.tscn the mapping I would expect is
enum {EQUAL, ADD, MINUS, MULTIPLY, DIVIDE}
matching the types found in the UI scene:

Given this leaves some types ambiguous e.g. should a "true" field be treated as a string or bool, it may be that a variable type selector should be added to the SetNode with a drop-down, matching the UI found in the variable list that is part of the DialogueNodes editor.
This would result in both "operator" and "type" fields (instead of just "type" which currently encodes the operator)

I don't think that enum serves any purpose in the code as all the type handling is done in the dialogueBox.gd script. Removing it shouldn't cause any issue.

Understood! As an FYI I've made my own code (in C#) to process/visualize the saved dialogues.
I get that isn't necessarily an intended/supported use case, but it does make the structure/naming of the saved data more significant (as dialogueBox.gd isn't the only consumer of it)
I dare say that making a custom front end for your excellent editing tool will become a more common use case as your asset grows in popularity.


Check an FQDN is set

An FQDN should be set, and a validation is added to check. The
validation can be disabled with the edpm_nodes_validation_check_for_fqdn
variable.
Depends-On: https://github.com/openstack-k8s-operators/install_yamls/pull/797
Jira: https://issues.redhat.com/browse/OSPRH-6187
Signed-off-by: James Slagle<EMAIL_ADDRESS>

/hold per ongoing discussion

I think this overlaps with #609 ? @gibi WDYT?

I think 609 is more adoption focused and it mainly there to ensure that the hostname the edpm openstack service are configured with are not changing  during adoption. This PR cannot ensure that.

we don't need different checks for greenfield vs adoption.
please redesign the inputs requirements for osdpns instead.
Make explicit hostnames required for each edpm host in each osdpns ansible vars.
Make a single check to fail a deployment, when that intput doesn't match a discovered hostname -f of a edpm node

we don't need different checks for greenfield vs adoption. please redesign the inputs requirements for osdpns instead. Make explicit hostnames required for each edpm host in each osdpns ansible vars. Make a single check to fail a deployment, when that intput doesn't match a discovered hostname -f of a edpm node
In case of baremetal provisioned nodes, those hostnames inputs may come automatically, by webhooks, or the BM controller itself, based on its "introspected inventory" data outputs

I don't think that would solve anything since canonical_hostname is what is used in various service configs.


Remove npm install next-on-netlify?

next-on-netlify is already a dependencies of this plugin.
https://github.com/netlify/netlify-plugin-nextjs/blob/ef4529016ed0f87ae89d5f312dc8f8f08d1ef7b6/package.json#L28
https://github.com/netlify/netlify-plugin-nextjs/blob/ef4529016ed0f87ae89d5f312dc8f8f08d1ef7b6/index.js#L6
https://github.com/netlify/netlify-plugin-nextjs/blob/ef4529016ed0f87ae89d5f312dc8f8f08d1ef7b6/index.js#L92
Should the following statement be removed?
https://github.com/netlify/netlify-plugin-nextjs/blob/ef4529016ed0f87ae89d5f312dc8f8f08d1ef7b6/index.js#L31
Note: @latest is the default npm tag, so is not required here.

@ehmicky this is a bug jason and i discovered monday night. without running the command on line 31, the function bundling errors out because it's unable to find next-on-netlify dependencies.

If next-on-netlify is a dependency of this plugin, calling require('next-on-netlify') should work.
Which error message did you get?

cannot find module next-aws-lambda traced to one of the generated functions by next-on-netlify. do you mean like a plain require('next-on-netlify') at the top of the file separate from const nextOnNetlify = require('next-on-netlify');?

The problem is the following.
next-on-netlify is copying Next.js serverless files to the Netlify Functions directory, renaming each of them to nextJsPage.js then wrapping them with the following small file.
That wrapper file requires next-aws-lambda:
https://github.com/netlify/next-on-netlify/blob/a48735f625cc7ad1a080b322673d3e9a11f42d27/lib/templates/netlifyFunction.js#L5
When zip-it-and-ship-it bundles Netlify Functions, we look for Functions dependencies in the site's node_modules. We do not look for them in each plugin's node_modules (which is a separate directory). Therefore, in order to bundle the above Functions correctly, next-aws-lambda must be available in the site's dependencies.
The above workaround works because next-aws-lambda is a direct dependency of next-on-netlify:
https://github.com/netlify/next-on-netlify/blob/a48735f625cc7ad1a080b322673d3e9a11f42d27/package.json#L56
However, there is no need for the site to install all of next-on-netlify to make this work. Installing only next-aws-lambda should work, and would be faster.
That being said, running npm install next-on-netlify is not an optimal solution. It makes this plugin much slower. It might make the build fail (npm install fails actually fairly often in our build system). It might not work for Yarn users. The real solution here would be for next-on-netlify to bundle Functions (as opposed to rely on zip-it-and-ship-it) as suggested by @erezrokah in this comment and make sure next-aws-lambda is included during bundling.
I would suggest the two following action points to solve this issue:

First, as a temporary improvement, replace npm install next-on-netlify@latest by npm install next-aws-lambda
Then, as a more robust solution, bundle Functions in next-on-netlify and make sure next-aws-lambda is included during bundling

Some PR at https://github.com/netlify/netlify-plugin-nextjs/pull/48 for the first point.

i just merged your PR and think we can close this issue. i just synced with finn and he's removing the next-aws-lambda dependency in a WIP PR: https://github.com/netlify/next-on-netlify/pull/85
proposal:

close this issue
open another issue to remove the next-aws-lambda install once finn's PR is merged and published

let me know your thoughts! i defer to you @ehmicky

Yes, problem solved!


ES-977 Update golang and lib versions

trivy image nexentastor-csi-driver-block:master
2024-11-20T23:12:44Z	INFO	[vuln] Vulnerability scanning is enabled
2024-11-20T23:12:44Z	INFO	[secret] Secret scanning is enabled
2024-11-20T23:12:44Z	INFO	[secret] If your scanning is slow, please try '--scanners vuln' to disable secret scanning
2024-11-20T23:12:44Z	INFO	[secret] Please see also https://aquasecurity.github.io/trivy/v0.57/docs/scanner/secret#recommendation for faster secret detection
2024-11-20T23:12:44Z	INFO	Detected OS	family="alpine" version="3.20.3"
2024-11-20T23:12:44Z	INFO	[alpine] Detecting vulnerabilities...	os_version="3.20" repository="3.20" pkg_num=75
2024-11-20T23:12:44Z	INFO	Number of language-specific files	num=1
2024-11-20T23:12:44Z	INFO	[gobinary] Detecting vulnerabilities...
nexentastor-csi-driver-block:master (alpine 3.20.3)
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)

Vulnerability check:
<IP_ADDRESS>:5000/nexentastor-csi-driver-block:vES-977 (alpine 3.20.3)
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)

Sanity tests result:
[2024-11-22T22:40:09.852Z] Ran 69 of 77 Specs in 383.199 seconds
[2024-11-22T22:40:09.852Z] SUCCESS! -- 69 Passed | 0 Failed | 1 Pending | 7 Skipped

E2E tests result:
[2024-11-22T22:50:08.669Z] --- PASS: TestDriver_deploy (557.91s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/install_driver (27.10s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/deploy_nginx_pod_with_dynamic_block_volume_provisioning (36.89s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/deploy_nginx_pod_with_persistent_volume (66.07s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/restore_snapshot_as_dynamically_provisioned_volume (136.92s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/volume_cloning_check (69.11s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/deploy_nginx_pod_in_diffenrent_k8s_zones (159.73s)
[2024-11-22T22:50:08.669Z]     --- PASS: TestDriver_deploy/uninstall_driver (40.68s)
[2024-11-22T22:50:08.669Z] PASS
[2024-11-22T22:50:08.669Z] ok  	command-line-arguments	557.913s


Room database version upgrade, with fallbackToDestructiveMigration() but still get exception

Having database of version 1,
@Database(entities = [
  ArticleEntity::class,
  VideoEntity::class,
  ImageEntity::class,
  ItemEntity::class,
  TimestampEntity::class
], version = 1, exportSchema = true)

abstract class Database : RoomDatabase() {
  abstract fun dataDao(): DataDAO
}

update in version 2, with some table removed and added some new tyable
@Database(entities = [
  Entity::class,
  //    ArticleEntity::class,
  //    VideoEntity::class,
  //    ImageEntity::class,
  ItemEntity::class,
  TimestampEntity::class
], version = 2, exportSchema = true)
abstract class Database : RoomDatabase() {
  abstract fun dataDao(): DataDAO
}

it is using fallbackToDestructiveMigration() to create the database:
fun initDatabase(context: Context) {
    val database = Room.databaseBuilder(context, Database::class.java, "myDatabase")
        .fallbackToDestructiveMigration()
        .build()

    dataDao = database.dataDao()
}

but when install the updated build,  it got error at run:
java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number.
although the version number has been increased.
The data in the old table are not needed, but to force uninstall the app or clear app's data first are not a accepted solution for the app running in the field.
How to make the upgrade without have to uninstall the app?
looking at the Room code
private void checkIdentity(SupportSQLiteDatabase db) {
    String identityHash = null;
    if (hasRoomMasterTable(db)) {
        Cursor cursor = db.query(new SimpleSQLiteQuery(RoomMasterTable.READ_QUERY));
        //noinspection TryFinallyCanBeTryWithResources
        try {
            if (cursor.moveToFirst()) {
                identityHash = cursor.getString(0);
            }
        } finally {
            cursor.close();
        }
    }
    if (!mIdentityHash.equals(identityHash) && !mLegacyHash.equals(identityHash)) {
        throw new IllegalStateException("Room cannot verify the data integrity. Looks like"
                + " you've changed schema but forgot to update the version number. You can"
                + " simply fix this by increasing the version number.");
    }
}

private static boolean hasRoomMasterTable(SupportSQLiteDatabase db) {
    Cursor cursor = db.query("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name='"
            + RoomMasterTable.TABLE_NAME + "'");
    //noinspection TryFinallyCanBeTryWithResources
    try {
        return cursor.moveToFirst() && cursor.getInt(0) != 0;
    } finally {
        cursor.close();
    }
}

So if the old database exist 'RoomMasterTable.TABLE_NAME' it will have a different hash then the mIdentityHash and t got the exception.
Since this is a upgrade the app should already have the 'RoomMasterTable.TABLE_NAME',  how would the fallbackToDestructiveMigration()  help?

seems it does not get java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. . But on some os version the old table are still kept with old data.

I have the same issue with java.lang.IllegalStateException exception after schema version update even if .fallbackToDestructiveMigration() method is called:
private fun buildDatabase(context: Context) = Room.databaseBuilder(context.applicationContext,             ApplicationDb::class.java, "app.db")             .fallbackToDestructiveMigration()             .build()
Stacktrace is:
java.lang.IllegalStateException: A migration from 2 to 3 was required but not found. Please provide the necessary Migration path via RoomDatabase.Builder.addMigration(Migration ...) or allow for destructive migrations via one of the RoomDatabase.Builder.fallbackToDestructiveMigration* methods.         at androidx.room.RoomOpenHelper.onUpgrade(RoomOpenHelper.java:117)         at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onUpgrade(FrameworkSQLiteOpenHelper.java:124)


fixing minor typos

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

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

Thank you @hamidzr ! Appreciated!


confirm-email: userId sent but frontend expects user

Describe the bug
Hi,
I noticed one situation which I belibe to be a Bug. Please correct me if I Am wrong:
https://github.com/brunohbrito/JPProject.Core/blob/d77db0ce2763d6cb1285308781f3f18a9c382417/src/SSO/JPProject.Sso.AspNetIdentity/Services/UserService.cs#L99
At this spot the link is generated with userId...
On the other end, at the front-end, an attribute named user is expected:
https://github.com/brunohbrito/JPProject.IdentityServer4.SSO/blob/13660631a97a5186e1a2e69cd5b228bbc09b6fab/src/Frontend/Jp.UserManagement/src/app/pages/confirm-email/confirm-email.component.ts#L44
This leads to the situation where the user cannot confirm his mail...
To Reproduce
Just create a new user with Mail feature active. Once the user clicks the confirm email button, the mail never gets confirmed...

I'm checking


Stop num-integer dependency pulling in std by default

Summary
The num-integer crate, a dependency of num-quaternion, by default sets the std feature on num-traits, which causes std to be incorporated into the build... which isn't good if one is trying to use num-quaternion in a #[no_std] environment. This pull request stops that from happening.
Related Issue
N/A
Checklist

[X] Changes are self-reviewed
[ ] Added/updated documentation (N/A, I think)
[ ] Added tests, if appropriate (should there be any?)

Thanks for the PR. I'm glad to accept this one. No docs necessary. Same with tests. I'll make a new patch release right away from this.

@zec, your change is on crates.io. Thanks for the contribution. ;)

You're welcome.


There is no equivalent of the Rust return type () in the SCSpecTypeDef.

What version are you using?
I'm using the 700c7f0701eda6161b62a4d1c4cf8cbfe7350fb3 commit.

What did you do?
I'm trying to map all valid return values from WASM to JavaScript. I'm using the contractspecv0 to guide me how to interpret the u64 RawVal values. I found that there is no equivalent to (), like in pub fn test(env: Env) {}, to be found in SCSpecTypeDef.
After executing such a function, WASM still returns 5, and it parses out to SCStatic.SCD_VOID, but the contractspecv0 has an empty array as the output value.
What did you expect to see?
I would expect to see either SC_SPEC_TYPE_VOID or something similar in the SCSpecTypeDef.
What did you see instead?
An empty array [], even though WASM does have a return value of 5.

This can be marked as resolved as of the latest commit since I now see a void return type defined in https://github.com/stellar/stellar-xdr/blob/next/Stellar-contract-spec.x#L21.


Backport #25331 from main-2.x to 2.7

Backport #25331 from main-2.x to 2.7

Will be in next 2.x release (2.7.11 or 2.8.0).


dask.array.map_blocks doesn't use meta shape

In the below example, the blocked function is a simple function that stacks input arrays, so it create a new dimension.
The dask.array.map_blocks documentation says about meta keywords:

The meta of the output array, when specified  is expected to be an array of the same type and dtype of that returned when calling .compute()

But the meta shape seems to not be used.
import dask.array as da
da1 = da.ones((4,3))
da2 = da.ones((4,3)) + 2
def blocked(np1, np2):
    return np.stack([np1,np2], axis=0)

meta=da.stack([da1,da2], axis=0)
result = da.map_blocks(blocked, da1,da2, meta=meta)

input da has shape (4,3), and meta has correct shape of (2,4,3)
I was expecting that the result shape is the same as the meta shape, but it's still (4,3)
however, if I call result.compute(), it has the correct shape (2,4,3)
but as the result shape is not the same as the meta shape before .compute(), I can't slice result using
dares1 = result[0,:,:]
dares2 = result[1,:,:]

(it raise IndexError: Too many indices for array)
I've tried to use new_axis=0, but the created axis has len 1, not 2 as expected.
dask version '2022.02.1'

@oarcher Thanks for this question!
I believe meta is just a suggestion to Dask and is mainly used until Dask infers the output structure from real data. Dask does not coerce the output to align with meta.
You're exactly right that we need to specify new_axis=0 here -- but Dask still doesn't really know the actual shape of the output, it just knows there's another axis to consider. Doing result.compute_chunk_sizes() fixes that:
import numpy as np
import dask.array as da

da1 = da.ones((4,3))
da2 = da.ones((4,3)) + 2

def blocked(np1, np2):
    return np.stack([np1,np2], axis=0)

result = da.map_blocks(blocked, da1, da2, meta=np.array(()), new_axis=0)

result.shape # (1, 4, 3)

result.compute_chunk_sizes()

result.shape # (2, 4, 3)

dares1 = result[0,:,:]
dares2 = result[1,:,:]

Does this help?

Yes using new_axis=0 and .compute_chunk_sizes() helps !
But the documentation of the meta keyword is not clear in the documentation.
In this specific case, I've finally used da.apply_gufunc, because my original problem was that map_blocks is unable to deal with multiple outputs arguments (https://github.com/dask/dask/issues/72)
def gufunc(arg1, arg2):
    return arg1 + 1, arg2 + 2
res1, res2 = da.apply_gufunc(gufunc , '(n),(n)->(n),(n)' , da1, da2)
res1 # (4,3)
res2 # (4,3)

It's ok for me to close the issue.

@oarcher Thanks for sharing your apply_gufunc solution! I agree that meta can be documented more clearly in general, and there's this issue around writing a blog post where we're tracking this. :)


Change wording on toServices limitations (see #20067)

#21052 updated Cilium documentation to say that, in network policy rules, toServices statements cannot be combined with toPorts statements. I believe it would be more informative for users of Cilium to say (following RFC 2119) that toServices must not be combined with toPorts, as technically Cilium accepts such a configuration as valid but handles it in the unexpected and unuseful manner described in #20067.

I agree about the "must not" RFC 2119 wording. Personally I'd avoid making any statements about how the limitation behaves, since it's a limitation - we don't want users to rely on this, this is not API, it is subject to change without warning. Ideally someone will pick this up and fix the limitation, and at that point I'd hope that users aren't assuming that the limitation always has these semantics.
But :shrug: I don't feel super strongly about this. Just want to say, we reserve the right to break this statement at any time.

I agree that documenting incorrect behavior is not a very good idea, even if it's explicitly stated that the behavior is incorrect. On the other hand a simple statement of limitation feels insufficiently scary: the rule apparently works (makes the service accessible), but has non-obvious and potentially dangerous additional effects. Perhaps it's best to simply make rules with both toServices and toPorts fail validation? A couple lines in pkg\policy\api\rule_validation.go:sanitize(*EgressRule) would suffice.

/test

@atykhyy Please rebase to re-run Travis and to pick up some fixes for flakes etc.

@atykhyy one test failing:
--- FAIL: Test/PolicyAPITestSuite#01/TestToServicesSanitize (0.00s)

    rule_validation_test.go:630:

        ... value *errors.errorString = &errors.errorString{s:"Combining ToServices and ToPorts is not supported yet"} ("Combining ToServices and ToPorts is not supported yet")

@ti-mo Right. It's the test which checks for toServices+toPorts policy which fails validation per this PR. I have reversed the test result.

Sorry for the trouble, looks like image builds are failing, something probably changed on main. Could you give this another rebase? :pray:

/test

@atykhyy
we just ran into this during the upgrade from 1.13.4 to 1.15.6. am wondering what does fail the validation mean here.
What I observed is cilium went from allowing all traffic destined for that one port to allowing all traffic because now it simply rejects that CNP and the default behavior is Allow All.

That's exactly what 'fail validation' means: Cilium rejects policy objects set up that way. Since Cilium does not, to my knowledge, provide a Kubernetes admission controller, one can create all sorts of CiliumNetworkPolicy objects that are invalid. Cilium operator marks them as such in their status section.

Nothing shows up in CNP's status section in my case though.. I only accidentally found out this when looking at logs (level=warning, not even errors).
To me, "silently" refusing to apply any policy and ending up allowing all is worse than allowing all for ports in ToPorts. The former is definitely more permissive and still not straightforward to be caught by developers as kubectl apply simply succeed.
I think an invalid spec should either be rejected upfront at creation time or marked explicitly as so like you mentioned through status on CNPs.

Hm. What happens when you try something like this?
$ <<EOF kubectl apply -f -
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: test2
  namespace: default
specs:
- egress:
  - toPorts:
    - ports:
      - port: "53"
        protocol: ANY
    toServices:
    - k8sService:
        namespace: kube-system
        serviceName: kube-dns
  endpointSelector:
    matchLabels:
      k8s:io.kubernetes.pod.namespace: default
EOF
ciliumnetworkpolicy.cilium.io/test2 created
$ sleep 5
$ kubectl get ciliumnetworkpolicy test2 -o yaml
... # snip
status:
  conditions:
  - lastTransitionTime: "2024-07-25T05:49:57Z"
    message: Combining ToServices and ToPorts is not supported yet
    status: "False"
    type: Valid

➜  lab14 git:(master) ✗ kubectl logs ds/cilium -n cilium  | grep warning | tail
Found 10 pods, using pod/cilium-jhm9s
Defaulted container "cilium-agent" out of: cilium-agent, config (init), mount-cgroup (init), apply-sysctl-overwrites (init), mount-bpf-fs (init), clean-cilium-state (init), install-cni-binaries (init)
time="2024-07-25T08:55:49Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:55:49Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:55:50Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:55:50Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:55:52Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:55:54Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:55:59Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:56:10Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:56:30Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher
time="2024-07-25T08:57:11Z" level=warning msg="Unable to add CiliumNetworkPolicy" ciliumNetworkPolicyName=test2 error="Invalid CiliumNetworkPolicy specs: Combining ToServices and ToPorts is not supported yet" k8sApiVersion= k8sNamespace=default subsys=k8s-watcher

weird. does this depend on some versions? like kube?

I don't know enough to say. But on the off chance it's simple, do you have cilium-operator running, and is it the new version? If I understand correctly, cilium-operator pod is the one responsible for marking network policy objects with that status, not cilium-agent.

Yes I do. They're on the same version as cilium-agent and run just fine.


Callback on logout

Is there a callback to perform actions after the user logs out?
I can make a pull request if this isn't already possible

No, there's not at the moment. Sorry.
(Yes, PRs are welcomed!)

Hi, I would like to work on this issue, please assign it to me

Done, @Zingzy

@cuducos I opened a PR for this issue, please check 😊


Code 51005

I'm seeing a lot of 51005 errors for Exchange Online in the Azure AD sign-in logs. What does this error number represent?

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

ID: 6f83a9e6-2363-2c73-5ed2-f40bd48899b8
Version Independent ID: f47dc642-f083-b173-9b6e-ce61e31685a9
Content: Sign-in activity report error codes in the Azure Active Directory portal
Content Source: articles/active-directory/active-directory-reporting-activity-sign-ins-errors.md
Service: active-directory
Product: unspecified
GitHub Login: @MarkusVi
Microsoft Alias: markvi

@dstreefkerk I have assigned this issue to content author to investigate and update the document as appropriate with the error details.

Hi @dstreefkerk, I have staged an update that covers this error.
#please-close

Hi @MarkusVi, what's the status of getting the update you staged merged into master?  I have another customer asking about this one.


improvement: added support for altField and altInvalidField options w…

…hich store selector of underneath elements which are modified simultaneously with scombobox element

Thanks to this modification it's much easier to create form elements which are submited to server.

Some new commits which are describe in messages.


Change asRedirectButton to asRedirectElement (due to the rename from #3311)

Description
This was a conflict where #3311 renamed asRedirectButton to asRedirectElement. A new reference was added in #3310 and was merged to main without merging in the changes from #3311.
Release notes:
Fixing build breakage due to merge conflict.
Checklist

[X] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)
#1238

Codecov Report

Merging #3313 (bfad9fc) into main (4712d4c) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #3313   +/-   ##
=========================================
  Coverage     79.86%   79.86%
  Complexity     2335     2335
=========================================
  Files           286      286
  Lines          9206     9206
  Branches        618      618
=========================================
  Hits           7352     7352
  Misses         1615     1615
  Partials        239      239

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Intermittent warnings during installation (Ubuntu)

When setup-cpp prepares the apt-keys using gpg..
https://github.com/aminya/setup-cpp/blob/290824452986e378826155f3379d31bce8753d76/src/utils/setup/setupAptPack.ts#L190
the created files are not always available on disk when chmod is run
https://github.com/aminya/setup-cpp/blob/290824452986e378826155f3379d31bce8753d76/src/utils/setup/setupAptPack.ts#L199
which produces annotations warnings in the run like:
Failed to add apt key via server keyserver.ubuntu.com: Error: Command failed with exit code 1: sudo 'chmod' '644' '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg'

This behavior is intermittent and probably dependent on how loaded the Github runner/machine is.
Is this a know issue or would it be feasible to have a check that the file exists before performing the chmod?
Example logs:
2024-03-13T16:32:43.5134503Z gpg: keybox '/root/.gnupg/pubring.kbx' created
2024-03-13T16:32:43.5574851Z gpg: keyring '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg' created
2024-03-13T16:32:43.5769405Z gpg: keyring '/etc/apt/trusted.gpg.d/launchpad-toolchain.gpg' created
2024-03-13T16:32:44.5382292Z gpg: key 1E9377A2BA9EF27F: public key "Launchpad Toolchain builds" imported
2024-03-13T16:32:44.5466832Z gpg: key 1E9377A2BA9EF27F: "Launchpad Toolchain builds" not changed
2024-03-13T16:32:44.5467907Z gpg: Total number processed: 1
2024-03-13T16:32:44.5468560Z gpg:              unchanged: 1
2024-03-13T16:32:44.6642692Z gpg: Total number processed: 1
2024-03-13T16:32:44.6643420Z gpg:               imported: 1
2024-03-13T16:32:44.7015884Z gpg: key 3B4FE6ACC0B21F32: public key "Ubuntu Archive Automatic Signing Key (2012<EMAIL_ADDRESS>imported
2024-03-13T16:32:44.7017891Z gpg: Total number processed: 1
2024-03-13T16:32:44.7018903Z gpg:               imported: 1
2024-03-13T16:32:44.7027072Z gpg: key 3B4FE6ACC0B21F32: "Ubuntu Archive Automatic Signing Key (2012<EMAIL_ADDRESS>not changed
2024-03-13T16:32:44.7028461Z gpg: Total number processed: 1
2024-03-13T16:32:44.7029174Z gpg:              unchanged: 1
2024-03-13T16:32:44.7096843Z chmod: cannot access '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg': No such file or directory
2024-03-13T16:32:44.7098787Z gpg: key 40976EAF437D05B5: public key "Ubuntu Archive Automatic Signing Key<EMAIL_ADDRESS>imported
2024-03-13T16:32:44.7108203Z gpg: Total number processed: 1
2024-03-13T16:32:44.7137810Z ##[warning]Failed to add apt key via server keyserver.ubuntu.com: Error: Command failed with exit code 1: sudo 'chmod' '644' '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg'
2024-03-13T16:32:44.7146153Z gpg:               imported: 1
2024-03-13T16:32:44.7156879Z gpg: key 40976EAF437D05B5: "Ubuntu Archive Automatic Signing Key<EMAIL_ADDRESS>not changed
2024-03-13T16:32:44.7158035Z gpg: Total number processed: 1
2024-03-13T16:32:44.7158753Z gpg:              unchanged: 1

Upvote & Fund
@aminya is using Polar.sh so you can upvote and help fund this issue. The funding is received once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog!

The warnings should be addressed. Thanks for providing the details