MySQL Server Failover Support

Summary
Currently, the ballerina SQL client can only connect to one MySQL server. The user has to handle connection errors by switching to the secondary replicated database or retrying. We can support MySQL server failovers so that the user does not need to maintain multiple clients to switch between secondary databases.
Goals
Allow ballerina client to connect to secondary databases in case of connection errors using the MySQL server Failover feature.
Motivation
The user can easily connect between database replicas without using complex logic.
Description
FailoverConfig  configuration will be introduced to mysql:Options.
# Configuration for failover servers
#
# + host - Hostname of the secondary database to be connected
# + port - Port of the secondary database to connect
public type FailoverServer record {|
    string host;
    int port;
|};

# Configuration to be used for Server Failover.
#
# + secondaries - Array of host & port tuple for the secondary databases
# + timeBeforeRetry - Time the driver waits before trying to fall back to the primary host
# + queriesBeforeRetry - Number of queries that are executed before the driver tries to fall back to the primary host
# + failoverReadOnly - Open connection to secondary host with READ ONLY mode.
public type FailoverConfig record {|
    FailoverServer[] failoverServers;
    int timeBeforeRetry?;
    int queriesBeforeRetry?;
    boolean failoverReadOnly = true;
|};

public type Options record {|
    ....
    FailoverConfig failoverConfig?;
|};

Failover configuration usage will be,
Options option = {
    failoverConfig: {
        failoverServers: [
            {
                host: "localhost"
                port: 5506
            },
            {
                host: "localhost",
                port: 3305
            }
        ],
        timeBeforeRetry: 10,
        queriesBeforeRetry: 10,
        failoverReadOnly: false
    }
};
Client dbClient = check new (host, "root", "111", "mydb", 4406, option);

Testing
Since a replication MySQL server is needed as a prerequisite for testing, this feature is manually tested. A docker-based MySQL replication is used for testing.  Prerequisite Reference
After the docker images are set up following code can be used for testing,
import ballerina/test;
import ballerina/sql;
import ballerina/io;
import ballerina/lang.runtime;

@test:Config {
    groups: ["query-1"]
}
function queryReplica() returns error? {
    sql:ParameterizedQuery sqlQuery = `SELECT * from Code;`;

    Options option = {
        failoverConfig: {
            failoverServers: [
                {
                    host: "localhost",
                    port: 5506
                }
            ],
            timeBeforeRetry: 10,
            queriesBeforeRetry: 10,
            failoverReadOnly: false
        }
    };

    Client dbClient = check new (host, "root", "111", "mydb", 4406, option);
    int code = check dbClient->queryRow(sqlQuery);

    test:assertEquals(code, 100);

    io:println("Sleep");
    runtime:sleep(30);

    code = check dbClient->queryRow(sqlQuery);
    test:assertEquals(code, 100);
}

While the program is sleeping master node should be shut down to verify the failover.
Reference
MySQL Server Failover

As per the offline discussion with @anupama-pathirage, I am going ahead with the latest design.

Accepted proposal added in https://github.com/ballerina-platform/module-ballerinax-mysql/pull/268


needs a better readme.md file

will provide kindly pull it after review

I Created the pull request required right now for this project kindly approve it or tell me if any issues persist

Have merged your commit. Done Great!

Thanks


[ML-DSA] Measure stack size on CI

Measure the stack used by the ml-dsa and ml-kem code on CI and fail if a frame is larger than 25344. The output should also give use a list of functions and their stack usage.

With #699, we have a temporary fix in place for stack usage of Debug builds, so I'm lowering priority until we settle on a better strategy in general.


fix: encrypt file if exception occurs in first prompt

iron out the encryption after an exception occurs

mostly using try except to force it to re-encrypt, might find a better way to do reducing duplication


Relations Foreign Key Reference

Using the following model:
model User {
  id        String    @default(cuid()) @id @unique
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  email     String    @unique
  name      String?
  slack     Provider? @relation(onDelete: CASCADE)
}

model Provider {
  id           String  @default(cuid()) @id @unique
  userId       String  @unique
  accessToken  String  @unique
  refreshToken String? @unique
  user         User?   @relation(onDelete: CASCADE)
}

Reading the docs... "For 1:1 relationships, it doesn't matter on which side you store the foreign key. Prisma has a convention that the foreign key is added to the model which appears first alphanumerically in your data model".
But running SELECT * FROM sqlite_master; shows me differently
CREATE TABLE "Provider"("id" TEXT NOT NULL  ,"userId" TEXT NOT NULL DEFAULT '' ,"accessToken" TEXT NOT NULL DEFAULT '' ,"refreshToken" TEXT   ,PRIMARY KEY ("id"))

CREATE TABLE "User"("id" TEXT NOT NULL  ,"createdAt" DATE NOT NULL  ,"updatedAt" DATE NOT NULL DEFAULT '1970-01-01 00:00:00' ,"email" TEXT NOT NULL DEFAULT '' ,"name" TEXT   ,"slack" TEXT NOT NULL  REFERENCES Provider(id),PRIMARY KEY ("id"))

It also seems that @relation(onDelete: CASCADE) is not functioning as well. Deleting a provider should delete the fellow user, but the user referencing the deleted provider is not deleted


[MLU] 'Load text of removed comments' > 'Load info for removed items'

In the mod long, it would be cool if 'load comment text' also loaded the linked URL of removed link posts or the text content of removed self-posts.
Super low priority, but handy.

This seems like it would be easy enough to implement, but I don't know what we'd want to do about this TODO which I'd like to handle at the same time. I assume it'll have to be held for the rewrite.


Add last updated date

Currently it's not supported by Eleventy to display both created and last edited date at the same time.


pawn: init at 4.0.5749

Motivation for this change
Just another scripting language and its compiler, VM libraries and some useful tools.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/384

I have tried it but it does not work.

I have tried it but it does not work.


added code to conditionally perform rational tracker resets.

@hdefazio

@cameron-a-johnson if this was made a PR / merged into Hannah's branch, close this PR.


Website tries to load resources over plain HTTP

On Chrome 55, I get mixed content warnings when browsing clap.rs, with the following URL being marked as insecure: http://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic.

Interesting. Would you mind filing this over on the kbknapp/clap-www repo so I don't forget about it? It's much lower traffic there.

Done: https://github.com/kbknapp/clap-www/issues/4


Modify Logo skin object to handle SVGs

Resolves #3893

For the sanitization part I believe a simple try catch, if there is not svg node found we just log the info and don't show any logo.
As for third party, I think using the File manager class is the way to go? @mitchelsellers

@mathisjay @valadas Yes, I think the FileManager class is the way we will have to go for the download of the file for parsing as PhysicalPath is not always going to be there and not always locally.
I'm going to throw a few more notes in on a review form a performance perspective.
Lastly, in this situation if the provided SVG file is not valid, an empty string is going to be rendered, is this proper?  I think we need to give something better for a fallback?

I'll look into the FileNamager class, not used that before.
If the .svg is not valid, nothing will be injected into the hyperlink.  I guess we could inject the Site Name just so it is not empty. but we aren't doing anything special if they select an invalid .jpg for the logo, it will just show a broken image.  I'd say, just keep it simple...

Made the requested changes.  I just rewrote the whole process since the previous code was only expecting an image and not efficient when allowing other types.
The previous code was already using the FileManager class to load the Logo file, so I think we are good there.   Please verify.

I made a few more optimizations.
I tested the current code with the following use cases;

No Logo file is specific -> empty hyperlink (current behavior)
Image type (jpg, png, gif) specified, but not found -> broken image shown (current behaviour) - this could only happen if the file were deleted after being selected
SVG file selected as logo but theme skin object DOES NOT request InjectSVG -> Displays SVG using an  tag (current behaviour)
SVG file selected and theme skin object DOES request InjectSVG -> Display SVG using an SVG tag and uses cache for SVG code
Skin object requests InjectSVG but Logo file is not an SVG file type -> hyperlink text shows the PortalName instead.
Skin object request InjctSVG and the file type is .svg but the file contains no  tag -> hyperlink text shows the PortalName instead.

I believe this maintains all the current functionality and only enables the new behaviour if the skin object requests InjectSVG.

@mathisjay as discussed earlier, i was working on this PR probably at the same time as you and just read your last comment after pushing to your branch... Let me know if you like my changes or if I messed up yours...
@mitchelsellers would you re-review, this should:

Not change the existing behaviours (needs the InjectSvg opt-in)
Will do some validation for an existing svg xml node
Will add the recommended ADA compliance information.

I also fixed the Stylecop warnings on this file.

Thanks @valadas
I added a new opt-in property LinkCssClass that will put the Css class on the hyperlink instead of the <img> or <svg>

Ok, what do you think now @mitchelsellers  ?

I was having a hard time reviewing the changes because of how much of the original logic was adjusted or moved around.  I've re-created what y'all did, but arranged it a little differently in my fork<PHONE_NUMBER>d254ffcb79fc8da1d3ad8bec872264.
Let me know if y'all see any issues in that.  When taken altogether, I think it results in a diff that's a lot cleaner.
The only issue I saw in my testing was that since we're caching SVG document, changing the CssClass property doesn't have an immediate effect until you do something to change the cache.  Is that just a trade-off we need to make for performance (@mitchelsellers)?

I've pushed a squashed version to ab2a618f4031d06fa5f02a05294887f1117c5f71, which should be easier to review.

Just wanted to make a reference in the PR to @mathisjay's comment on the commit  https://github.com/dnnsoftware/Dnn.Platform/commit/ab2a618f4031d06fa5f02a05294887f1117c5f71#commitcomment-40515132 /cc @valadas

It is a bit hard to follow up on commits in a fork for a PR :)
But yeah, IMO the only issue with the changes on your fork is that if the svg has no classes to begin with but we give the skinObject a CssClass, then it would include a space with your changes as in " myclass" (hence why I put it in a list, added the class and then joined them). I don't believe this List is a huge performance hit, this would just be called on first load or cache clear it would not get hammered much...

@valadas thanks for the feedback, I've adjusted how we're generated the value of the class attribute:
svgXmlNode.SetAttributeValue("class", string.IsNullOrEmpty(classes) ? this.CssClass : $"{classes} {this.CssClass}");

@valadas thanks for the feedback, I've adjusted how we're generated the value of the class attribute:
svgXmlNode.SetAttributeValue("class", string.IsNullOrEmpty(classes) ? this.CssClass : $"{classes} {this.CssClass}");

Oh, yeah, love it.

@valadas @mitchelsellers can we get another :+1: and get this merged?

@valadas we need you to clear your "request changes" review before we can merge

Sorry guys, done and done


Changing line spacing for one table changes it in all tables

Hi,
Firstly, thanks for creating python-docx. It is really awesome.
I am having some issues with a document that has 13 tables. Specifically, when I change the line spacing for one table, it changes it for all of them. Here is a minimal example:
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_LINE_SPACING
document_path = "../../../Daily Reports/Reports/For MIR CT/15_09_2020_Report_CT/15_09_2020_MIRReport_CT_v5.docx"
doc = Document(document_path)
for index, table in enumerate(doc.tables):
    print(index, table.style.paragraph_format.line_spacing)

Output:
0 1.0
1 1.0
2 1.0
3 1.0
4 1.0
5 1.0
6 1.0
7 1.0
8 1.0
9 1.0
10 1.0
11 1.0
12 1.0

I want to change the line spacing for table 3, and only table 3. However, when I do this:
table = doc.tables[3]
table.style.paragraph_format.line_spacing_rule = WD_LINE_SPACING.EXACTLY
table.style.paragraph_format.line_spacing = Pt(7)

for index, table in enumerate(doc.tables):
    print(index, table.style.paragraph_format.line_spacing)

Output:

0 88900
1 88900
2 88900
3 88900
4 88900
5 88900
6 88900
7 88900
8 88900
9 88900
10 88900
11 88900
12 88900

You can see it has changed the line spacing for all of the tables - they are all now 7 pt (12 point is 152400).
Is this a bug or am I doing something wrong?

A style is like a formatting template that you set up once and then apply to as many document objects as you want to get consistent formatting. Every object with that style applied gets that same set of formatting settings. When you adjust the table style (which all the tables appear to be sharing) you get exactly the result you're seeing.
I think what you want to be doing is setting the paragraph line spacing directly on the paragraphs only on the table in question. You could possibly set up a new paragraph style and just apply that to those paragraphs if you wanted.

Aha! This makes total sense. Thank you!


can be used as a desktop application

added flasher,
added keyboard actions:
space: start, stop
j: tempo down
k: tempo up
added electron files, so that can be used as a desktop application

There is a time difference between the visual and the auditory. I personally notice it more on the cell phone. Something must be wrong, but I do not know what. Do you have any novelty of how it could be done to flash the light without time lag? I'm sorry for my English.
Thanks very much


Merges Master to Live. See commits for details.

Docs Build status updates of commit 5ca0684:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 5ca0684:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Add-AttachmentFilterEntry.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-AttachmentFilterListConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/New-EdgeSyncServiceConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-EdgeSyncServiceConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

skype/skype-ps/skype/Get-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Grant-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Remove-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/skype.md
:white_check_mark:Succeeded
View (skype-ps)

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.

Docs Build status updates of commit 5ac7bdb:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 5ac7bdb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Add-AttachmentFilterEntry.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-AttachmentFilterListConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/New-EdgeSyncServiceConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/mail-flow/Set-EdgeSyncServiceConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

skype/skype-ps/skype/Get-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Grant-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Remove-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsTeamsMobilityPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/skype.md
:white_check_mark:Succeeded
View (skype-ps)

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.


Cannot query SdkResolvers for available SDKs

I have a VS for Mac extension that provides IntelliSense for MSBuild. I'm able to use SdkResolvers to resolve SDKs, but there's no way to query a resolver for the SDKs that it can resolve, which makes it ~impossible to implement good IntelliSense for Sdk attribute values.

I'm not sure this would be the right solution. The SdkResolver should be more of an internal construct not something we would expose. Somewhat similar to MSBuildExtensionsPath, but that aspect of it (not knowing the path) is one of our perceived benefits of the SdkResolver design. Ideally these are packages coming from NuGet, but that didn't make 15.5. Hopefully the next bigger release. At that point it would be any NuGet package of the SDK package type. I'm not really sure how that would work with a query for packages it can resolve. And to be clear the good intellisense is for the SDK name not code right?

The IntelliSense in this case is for the SDK name (though my extension also resolves the SDK and scans it to infer available item and property names). Right now I have very simple Sdk name IntelliSense that just scans for folders in the main Sdks directory. The problem is that none of the .NET Core SDKs show up, nor does my MonoUE SDK, since they both are installed elsewhere on the local filesystem and resolved via resolvers.
I'm fine with the NuGet SdkResolver not being able to provide a list of names that it can resolve, I can query the NuGet feeds and add those items into the list myself. But not all Sdks will necessarily be on NuGet, so I want resolvers that resolve locally to be able to tell me what SDKs exist in the locations from which they resolve.

+1
Rider team also needs an API to enumerate all installed SDKs. Unlike Visual Studio, Rider can work with different MsBuilds installed on the machine. We detect them all and try to guess which one fits better for the particular solution. But without knowledge about local SDKs we can not implement this in a right way...


Passwords showing in console

Hi, we've got cmd connected to discord private console chat room, and login command is showing with used password. Is there any way to prevent it from showing?
Thx for response. Cheers :)

I have this problem too... Looks like developer is "very" active on github..

@thematheo @jagyCZ This has been fixed in v3.0.2

Ok, thanks :)

@thematheo @jagyCZ This has been fixed in v3.0.2

@lenis0012 ; I'm using 3.0.2 and I can still see the password onscreen; while it does not mirror on the logs or server console. Is this the expected behavior?


mkpr

Applied mkpr on package.json
sed s/npm-pkgbuild": "^.*"/npm-pkgbuild": "^6.10.14"/

Pull Request Test Coverage Report for Build 2425

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.509%

Totals

Change from base Build 2420:
0.0%

Covered Lines:
361

Relevant Lines:
375

💛  - Coveralls


Redmine Queries

Hi,
Thank you for this plugin, it's very powerful !
Are there any plans to adapt it to issue queries ?
For instance, we could pre filter a certain list of issues with the filtering / querying abilities of redmine, then build the pivot table based on this list ?
Many thanks

Hi,
Thanks your your comment.
The answer to your question is "it's already there." For the proper user interface is missing, it is very confusing, but the functionality is there.
Go to issues tab and filter out the issues as you may wish. Then click the Pivot tab. You should realize that the total number of issues are the filtered issue count.
The missing user interface is the "Filter" section for pivottable view, just like Gannt view. Gantt view properly shows the inherited filter from the Issue page. I am planning the enhancement in the next release.

Oh ok ! I didn't notice that, thanks for your answer !


Allow support for sh for shell syntax

Overview
sh is note supported in codeblocks
Current Behaviour
If we try to use sh while creating a code block
E.g

```sh
cat hello world
```

Throws this error.
thread 'main' panicked at /home/eyepatch/.cargo/registry/src/index.crates.io-6f17d22bba15001f/presenterm-0.1.0/src/render/highlighting.rs:31:69:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Suggested solution
Since bash works perfectly fine, it would be convenient to have sh as an alias to bash

Thanks! This was a typo, it was supposed to work with sh. If you pull the latest source from the repo and run it, it should work. I added tests so this doesn't happen again.


[Feature Request] don't require Full Name during email registration

I've looked around quite a bit, and from what I understand, the "Full Name" field on the email registration screen maps to displayName on the users collection. We want to skip collection of this field, or at least defer it until after the user is created. It seems like (though I'm not 100% certain, the docs are stingy on this) this field can be safely omitted from a user object, and we do not plan on using it in our apps directly.
What I'd like to see is a configuration option to skip collection of this field. The closest I can get right now is to simply hide that field by overriding the layout xml, which is hacky anyway, but that doesn't even really fix the problem that it is getting validated for presence by the UI in the email registration activity.
As of now, this field being required is a blocker. We would have to fork the repo or implement auth UI from scratch in order to get around this.
If there is a temporary work-around we can use, let me know.
Also I'm relatively new to firebase auth, so please let me know if I'm mistaken about any of this, or if you need more information.

@tlubz as you said, you can safely omit this field from the Firebase Auth user object.  I think this would be a good feature to add, the main concern with this and other enable/disable flags is how to expose them without adding an explosion of complexity/configuration to this library.

Since this is already tracked in #467 I am going to close this issue and we can continue to discuss there if you have more thoughts on the topic.

@samtstern thanks for the quick response, and for pointing me to #476. for some reason it didn't pop up for the issue search terms i was using.


[#IOPAY-101] Several issues

This PR solve several issues tested in UAT
List of Changes
See commit desc
How Has This Been Tested?
Linter
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

well done, just a lint error 👍

well done, just a lint error 👍

thanks, fixed


Settings - Secondary Text

Please avoid changing the secondary text upon 'checkbox' selection. It unnecessary confuses users and looks ugly. Sorry, but if you look most 'good' apps and stock android-system-settings do not do it. [1], [2]. Not an expert coder..
Please use this https://github.com/ram-on/SkyTube
Orientation->setting.

My suggestion:
https://developer.android.com/reference/android/support/v7/preference/PreferenceFragmentCompat.html
https://developer.android.com/guide/topics/ui/settings
https://material.io/design/platform-guidance/android-settings.html#label-secondary-text

Hey there, thank you for your bug report! I misread the design guidelines. They explicitly encourage changing the secondary text - just not for checkbox settings.

But I don't understand this:

Because this actually does not explain the current status (which would mean it changes when toggling the setting), but is just a static text.

@rugk It is a 'switch' not a checkbox. I do agree, however, things are not clear. I leave my judgement on some of the well known apps/system settings.

It works quite nicely without changing the text, so the change will be part of the next release.


Error: query failed with status: 404 - namespace basic is not defined

When I try this command,it occurred some errors.
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-java -ccl java

after ,docker

Who can help me to solve those problems,
Thanks!

It looks like peer0.org1.example.com docker container (which uses port 7051) is not up.
Try docker ps -a to see exited containers. Then look at its logs with docker logs <container_id> to see why it may have gone down.
Note, please use Discord chat for help requests - https://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING.html#communications-and-getting-help.
We reserve Github Issues for code enhancements and bugs, so I'll close this one.


Release 0.34.3

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


build-bottle-pr: Make the --remote argument mandatory

This will no longer default to origin. I preferred it when it did,
but this is based on feedback in
https://github.com/Homebrew/brew/pull/6448#discussion_r324248081.
Now, the GitHub Action can employ the same syntax as local maintainer
usage:

brew build-bottle-pr --remote=origin formula
brew build-bottle-pr --remote=$HOMEBREW_GITHUB_USER formula

Had to fix conflicts after #116.


Fix secret shortening in oath app

The oath app attempts to shorten secrets (by hashing them) if they exceed a specific length.
This change adjusts the calculation so that it uses the block size of the hash algorithm to decide when to shorten the secret.
Previously, the output size was used, instead of the block size. This meant that secrets that were added to the device that exceeded the output size, but not the block size, would end up getting hashed twice.
I ran into this issue when trying to add my Amazon account. I had to manually add padding to my base32 secret, which was a bit unexpected. Once I got past that, I found that the OATH-TOTP codes were not working. After enabling trace logging, I found that my secret wasn't getting sent to (or stored on) my device, but rather the hashed version of it, even though it didn't exceed the block size. After making this change, I was able to successfully register my Amazon account and get valid TOTP codes.

Ohh, nice catch!


Add typescript option: When returning from custom type guard function, validate that the type of the guarded variable is compatible with return type

Suggestion
🔍 Search Terms
validate custom type guard function return
✅ Viability Checklist
This proposal meats this goal:
Statically identify constructs that are likely to be errors
It is type checking proposal. So, it will not change emitted code.
⭐ Suggestion
I suggest:

To add the following new syntax:

Valid code:
function guard(value: unknown): value is string {
  if (typeof value === "string") return value is string;
  // Here "value is string" is equivalent to true.

  return value is not string;
  // Here "value is not string" is equivalent to false.
}

Invalid code:
function guard(value: unknown): value is string {
  if (typeof value === "object") return value is string;
  // Should raise error because value is NOT string, it is object after applying typeof operator.

  if (typeof value === "string") return value is not string;
  // Should raise error because value is ACTUALLY string after applying typeof operator.

  return value is object;
  // Should raise error because "value is object" is incompatible
  // with "value is string" in the return type definition.
}

To add compiler option that will prohibit old syntax (i.e. "return true", "return false") and will impose new safe syntax inside type guards.

To add compiler mode that will check old syntax as well, e.g.:

function guard(value: unknown): value is string | number {
  if (typeof value === "object") return true;
  // Should raise error with this new compile mode enabled.
}

📃 Motivating Example
function f(value: unknown): string | number {
  if (typeof value === "object") return value;
  // Raises error: Type 'object | null' is not assignable to type 'string | number'
}

function guard(value: unknown): value is string | number {
  if (typeof value === "object") return true;
  // No error
}

💻 Use Cases

What do you want to use this for?

This feature will help to catch incorrect custom type guards.

What shortcomings exist with current approaches?

This feature will not effect old code. So I see no shortcomings.

You're supposed to fill out the whole viability checklist, and:

❌ This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)

is probably not met, because you want the compiler to take return value is string and emit return true and take return value is not string and emit return false.  Not sure if there's some way to reword the suggestion so that it doesn't do this (for example, maybe return true as value is string or return false as value is not string or something?)

Anyway, you can sort of kind of get something similar to what you're asking for with some helper functions:
const is = <T,>() => Object.assign((t: T) => true,
    { not<U>(u: Exclude<U, T>) { return false } })

const isString = is<string>();

function goodGuard(value: unknown): value is string {
    if (typeof value === "string") return isString(value); // okay
    return isString.not(value); // okay
}

function badGuard(value: unknown): value is string {
    if (typeof value === "object") return isString(value); // error!
    // Argument of type 'object | null' is not assignable to parameter of type 'string'.

    if (typeof value === "string") return isString.not(value); // error!
    // Argument of type 'string' is not assignable to parameter of type 'never'.

    if (typeof value !== "string") return isString(value); // error!
    // Argument of type 'unknown' is not assignable to parameter of type 'string'.

    throw new Error();
}

Playground link to code

I see your point that this is not non-ECMAScript syntax, which I missed.
But there is part 3 of the suggestion:
Without changing any syntax add typescript option (e.g. checkGuardedVariableTypeOnReturn) that will check existing syntax:
function guard(value: unknown): value is string | number {
  if (typeof value === "object") return true;
}

With checkGuardedVariableTypeOnReturn enabled it should show error:
The type of guarded variable 'value' at the moment of return is not compatible with return type.
'object | null' is not compatible with 'value is string | number'.

My point is that in most cases, when you write custom type guard you can narrow value type with built-in type guards so that it has correct type at the moment of return:
function guard(value: unknown): value is string | number {
  if (typeof value === "string" || typeof value === "number") {
    // By this point value already has type string | number thanks to built-in type guards
    return true;
  }
}

I hardly imagine situation where you can't write custom type guard with such mode (checkGuardedVariableTypeOnReturn ) enabled. But if you can't or don't want you can always turn it off.
On the other hand, the gual of typescript is to make code type safe and when it comes to custom type guards typescript fails this goal.

I have changed the title of the feature request because I see that suggesting extended syntax is not compatible with typescript policies.
So, I can only suggest stricter check option for existing syntax.

Duplicate of #29980.

For context, the motivating use case for UDTGs is for when you're doing runtime analysis that TS doesn't intrinsically understand. Asking that TS check your analysis in that case is a non-starter since, nearly by definition, you're only writing the UDTG because TS was unable to check your work.


a11y button corrections

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


DOC: Invalid syntax in example.

In _bspl.pyx function evaluate_all_bspl https://github.com/scipy/scipy/blob/0765482e9a7cd7a7975f6161d2ab91994762ac8e/scipy/interpolate/_bspl.pyx#L198
BSpline.basis_element(k:-k) is invalid syntax, you can't use a slice like this is a function call.
Came across this in a completely unrelated context, so haven't looked into what the original meaning was.

Should have been t[k:-k], indeed :-)

(as a question not to open another issue; do you care about things like https://github.com/scipy/scipy/blob/0765482e9a7cd7a7975f6161d2ab91994762ac8e/scipy/sparse/linalg/dsolve/linsolve.py#L523 where the backticks should be double for ``A x = B`` ?

If you submit a PR, I'm sure it would be merged. Doc improvements are always appreciated.

I couldn't find this doc string in docs.scipy.org or with a google search. Does it actually renders anywhere?

Does it actually renders anywhere?

No it does not, because it's a private function.

I couldn't find this doc string in docs.scipy.org or with a google search. Does it actually renders anywhere?

Yeah sorry that was because of me, working on a side project that auto scans docstrings. You might be able to trigger an error in spyder inspector that tries to run sphinx live on docstrings.


Adding intent translations for latvian (lv)

Adding weather intent and some translations

Looks good, thank you!


Link missing for Andy_S's worldcleaner

Will be fixed once he puts it on Github.
https://github.com/deltaflyer4747/SE_Cleaner

linked, closing issue


[Request] YouTube playlist with Spotify MetaData

[ ] Using latest version as provided on the master branch
[x] Searched for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug
[x] Feature Request
[ ] Question
[ ] Other

Description

I have noticed YouTube is starting to have albums (special playlists) appear on a search, and would like to be able to specify a link (like this: https://www.youtube.com/watch?list=PLFsMhY41WyfevIZgyJVtaSrMcrDsXf3w7) along with the Spotify album (https://open.spotify.com/album/0LAEXlvqDiS8OL9XCjGsDJ) so instead of searching it'd go off of the playlist. I tried just making the search alias the Video URL (http://www.youtube.com/watch?v={ID}) I wanted, but it sometimes it'd find a livestream that was nothing like I wanted (10 hours nature sounds livestreams and Rock music are similar in the sense they both are on youtube, but that's about it). And yes the livestreams crashed the client.
Log

I went to the link you mentioned (https://www.youtube.com/watch?list=PLFsMhY41WyfevIZgyJVtaSrMcrDsXf3w7) but it redirects me back to https://www.youtube.com/ but I feel to implement something like this won't be trivial.
We could at best fetch YouTube video URLs from the YouTube playlist/album and download audio from these YouTube URLs (as it does at the moment with ./spotdl.py -s <youtube-video-url>)

That's interesting, the link also does the same for me now. It works with ytbmp3.com, which is what I used to download it at the time.
What I did to find it was search "Choose Love album", and in the right a playlist was almost 'featured', and I just copied that link.
Try this link, copying from the title instead of album artwork: https://www.youtube.com/playlist?list=OLAK5uy_kH-HVGBXpLWbDTiDxGwY8ZnVeJRgDT_k4
And I forgot about the fact it supports YouTube Video URLS in -s, I will try it now.
Thanks!

Just a note but this might be the approach to take if the song/track isn't found from spotify yet is on youtube.
Such as this album paired on spotify [1] and youtube [2]. Such as how Travels isn't found through spotdl, ERROR: Travels by Eric Benaim was not found.
[1] https://open.spotify.com/album/3gAQrplPDFHrQFAGnlXJ47
[2] https://www.youtube.com/watch?v=J-iMAilM16A&list=OLAK5uy_njtHDJx7JcHFOaM3LcxihkiQPSP47ovVY

Maybe we'll add support for YouTube Music playlists.
I know it's late, just clearing out old issues.


Take PhEDEx auto-approval setting from reqmgr2ms configuration file

Fixes #9589
Status
tested
Description
Use the reqmgr2ms configuration parameter phedexRequestOnly to decide whether phedex requests must be auto-approved or not.
By default, production CMSWEB deployment will have it enabled. Anything else will have auto-approval disabled.
Is it backward compatible (if not, which system it affects?)
yes
Related PRs
none
External dependencies / deployment changes
Yes, these deployment changes: https://github.com/dmwm/deployment/pull/879

It looks good in my tests.

Thanks, Kenyi. I added only a few extra new lines in the content. Tests went fine on my VM.


Can't deploy new stack after manual cleanup

I've been playing with SST for a few days and I love it, although I wanted to remove all the stacks I had been playing with before I started getting charged. After running npx sst remove they seemed to be removed save for debug stack items like S3 buckets and roles, which I removed manually.
When I tried bootstrapping a stack again today, when I run npx sst start I get the following (after some redaction):
=======================
 Deploying debug stack
=======================

Deploying stacks

✨  Synthesis time: 0.02s

hpc-test-sst-debug-stack: deploying...
current credentials could not be used to assume 'arn:aws:iam::[...]:role/cdk-[...]-deploy-role-[...]-eu-west-1', but are for the right account. Proceeding anyway.
[0%] start: Publishing bdb08b9984816ecf43301a0c6d8913e270ee2448940b6b95e430dd222a4d90be:[...]-eu-west-1
current credentials could not be used to assume 'arn:aws:iam::[...]:role/cdk-[...]-file-publishing-role-[...]-eu-west-1', but are for the right account. Proceeding anyway.
[25%] fail: No bucket named 'cdk-[...]-assets-[...]-eu-west-1'. Is account [...] bootstrapped?
[25%] start: Publishing 0d89df84ea307d9cb0d70fbd76481e4e86f449d075a2a082cc2d323ee69a98e4:[...]-eu-west-1
[50%] fail: No bucket named 'cdk-[...]-assets-[...]-eu-west-1'. Is account [...]bootstrapped?
[50%] start: Publishing 6c0316fef24d0df8a9a705c77052001217d864f49af386539d01df54618cd131:[...]-eu-west-1
[75%] fail: No bucket named 'cdk-[...]-assets-[...]-eu-west-1'. Is account [...] bootstrapped?
[75%] start: Publishing 043c5f22362938323bc0a119b816ec6c79edc16287aadad0fea43e032d122d0c:[...]-eu-west-1
[100%] fail: No bucket named 'cdk-[...]-eu-west-1'. Is account [...] bootstrapped?

 ❌  hpc-test-sst-debug-stack failed: Error: Failed to publish one or more assets. See the error messages above for more information.
    at publishAssets (C:\Users\me\workspace\test-sst\node_modules\aws-cdk\lib\util\asset-publishing.ts:27:11)
    at CloudFormationDeployments.publishStackAssets (C:\Users\me\workspace\test-sst\node_modules\aws-cdk\lib\api\cloudformation-deployments.ts:418:7)
    at CloudFormationDeployments.deployStack (C:\Users\me\workspace\test-sst\node_modules\aws-cdk\lib\api\cloudformation-deployments.ts:299:5)
    at CdkToolkit.deploy (C:\Users\me\workspace\test-sst\node_modules\aws-cdk\lib\cdk-toolkit.ts:208:24)
    at initCommandLine (C:\Users\me\workspace\test-sst\node_modules\aws-cdk\lib\cli.ts:310:12)

Failed to publish one or more assets. See the error messages above for more information.

 ❌  hpc-test-sst-debug-stack failed: The hpc-test-sst-debug-stack stack failed to deploy.

Stack hpc-test-sst-debug-stack
  Status: failed
  Error: The hpc-test-sst-debug-stack stack failed to deploy.

Failed to deploy the debug stack

I'm quite new to AWS and serverless, but the above looks to me like it's trying to re-use old roles and buckets that don't exist any longer? Should it create new ones in that case?

Turns out I had deleted everything except the Cloudformation stacks manually.


lightanimation keys need to be in quotes

Minor thing... in the non-preset things, the lightanimation settings don't seem to work unless the key names are changed to be in quotes, like they are in the presets.

Hmm no that's not it.  It's not updating speed or intensity but I have to keep checking


Added Issue Templates and Refactored some code.

Added ISSUE TEMPLATES to fix issue #13 and refactored some code to make it better and more readable.

@SagiPolaczek sir, Can you review this?

@Sai-Suraj-27  Sure! Sorry for the delay, I missed the notification.
Also I'll take this opportunity to test some tool I encountered lately: @CodiumAI-Agent

Preparing review...

PR Analysis

🎯 Main theme: Adding issue templates and refactoring code
🔍 Description and title: Yes
📌 Type of PR: Enhancement
🧪 Relevant tests added: No
✨ Minimal and focused: No, because the PR is doing two different things: adding issue templates and refactoring code. These should be split into two separate PRs for clarity and ease of review.
🔒 Security concerns: No, because the changes in this PR do not introduce any new functionalities that could potentially lead to security vulnerabilities.

PR Feedback

💡 General PR suggestions: The PR should be split into two separate PRs: one for adding issue templates and another for refactoring the code. This will make it easier for reviewers to understand and review the changes. Also, it's recommended to add tests to verify the refactored code.

🤖 Code suggestions:

relevant file: fusedrug/data/interaction/drug_target/datasets/dti_binding_dataset.py
suggestion content: Consider using more descriptive error messages. Instead of 'splits_tsv was provided but no use_folds provided', you could say 'splits_tsv was provided but use_folds is missing. Both are required for the operation.' [important]

relevant file: fusedrug/data/molecule/smi_character_histogram.py
suggestion content: Consider adding a comment explaining the use of the '|=' operator for updating the total_characters_counter. This will make the code more readable for those unfamiliar with this operator. [medium]

relevant file: fusedrug_examples/interaction/drug_target/affinity_prediction/bimodal_mca_PPI/runner_PPI.py
suggestion content: Consider removing the commented out import statement 'import tensorflow as tf' if it's not needed. [medium]

relevant file: fusedrug/data/molecule/tokenizer/build_molecule_tokenizer_with_predefined_vocab.py
suggestion content: Consider removing the commented out code 'Split(pattern='.', behavior='isolated').pre_tokenize_str('blah')' if it's not needed. [medium]

How to use

Tag me in a comment '@CodiumAI-Agent' to ask for a new review after you update the PR.
You can also tag me and ask any question, for example '@CodiumAI-Agent is the PR ready for merge?'

Closes #13


chore: WDS Color: refine bgAccentHover (light mode)

Description
tl;dr Slightly darker hover for dark seeds, overall refinements in the medium, special exceptions for very light yellows. Minor fixes in utility functions.
Fixes #22823
Media
New on the left, current on the right
https://user-images.githubusercontent.com/80973/236816955-2be0773f-2c51-4e53-9e61-844a61ad7f2c.mov
Type of change

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Chore (housekeeping or task changes that don't impact user perception)

How Has This Been Tested?

Manual

Test Plan
Initial POC refinement, no testing necessary
Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

LGTM. Let me know if I can merge this.

Please do.


Deliverable - 4

The existing issues with the map, audio feature, along with some test cases all the issues/branches we need will be mentioned below

Deliverable 4 is finished as well as implementing later github issues we are now on deliverable-5. This is closed with branch deliverable-4.


ModuleNotFoundError: No module named 'Crypto'

Describe the bug
Hello,
I am trying to run openpilot in carla simulator.
This is what I do:

./ubuntu_setup.sh
this runs successfully.

scons
Scons fails with:

scons: Reading SConscript files ...
Git commit hash for gitversion.h: dc780f85
ModuleNotFoundError: No module named 'Crypto':
  File "/home/openpilot/SConstruct", line 411:
    SConscript([
  File "/home/.local/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 661:
    return method(*args, **kw)
  File "/home/.local/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 598:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/home/.local/lib/python3.8/site-packages/SCons/Script/SConscript.py", line 287:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "/home/openpilot/body/board/SConscript", line 129:
    certs = [get_key_header(n) for n in ["debug", "release"]]
  File "/home/openpilot/body/board/SConscript", line 129:
    certs = [get_key_header(n) for n in ["debug", "release"]]
  File "/home/openpilot/body/board/SConscript", line 100:
    from Crypto.PublicKey import RSA

OS Version
Ubuntu 20.04
openpilot version or commit
latest commit
Additional info
No response

I guess that you forgot to run source .venv/bin/activate. Maybe that should be added to https://github.com/commaai/openpilot/blob/master/docs/WORKFLOW.md ?

I guess that you forgot to run source .venv/bin/activate. Maybe that should be added to https://github.com/commaai/openpilot/blob/master/docs/WORKFLOW.md ?

that's right. it works for me.


Ci tests

Description
Adding in CI tests for Kraken-hub
See latest run here: https://github.com/paigerube14/kraken-hub/runs/4038873761?check_suite_focus=true
I have one issue that it is trying to run test: test_clusterutdown but it doesn't exist and I can not find where it is located.
Fixes
https://github.com/cloud-bulldozer/kraken-hub/issues/11

Closing this in favor of #21.


Issue Supermium

hi
I am encountering issues with software AdGuard and Sticky Password not functioning properly in the supermium  . Version 122.0.6261.152 (Official Build) (64-bit)
I have already installed the Sticky Password software + extension, but it appears that it is not recognizing that it has been installed.

software  AdGuard seems to be experiencing issues and is not functioning properly.
Desktop (please complete the following information):

OS: [e.g. Windows 7 x64]
Bitness of browser

Additional context
Both of these software are not functioning AdGuard+stickypassword

software AdGuard seems to be experiencing issues and is not functioning properly.

Ensure that the browser is recognized by Adguard and filtering is enabled: Settings -> Network -> Traffic filtering -> List of filtered applications -> Supermium. If not present, close the browser, click "+" -> Browse for executable and add it here.

thank you dude


[ADD] com.crunchyroll.stream.app.yml

Hello, yes, but there are already screenshots in the description, are they not working?
Thanks.

There are few issues:

Screenshots are not for 16:9 screen (and with Chrome address bars)
To make sure there's no dead link in case you pushed changes to move the images, you could use a commit ID instead of main branch to get the link of the image.

Updated, open to any comments.


internet stoped working

i was using vnc viewer to use rpi  in my laptop now i am unable to connect back to internet after running the package

Can you give more information? Why is that not what you expected -- wifi-connect is specifically intended to modify your wifi configuration.


$$ properties passed on pageviews

My segment pageviews look like:
analytics.page('http://dev.local:4000/', {
  $$protocol: 'http',
  $$host: 'dev.local',
  $$port: 4000,
  $$path: '',
  $$search: {},
  $$hash: '',
  $$url: '',
  $$absUrl: 'http://dev.local:4000/',
  $$state: null,
  $$replace: false,
  name: 'http://dev.local:4000/',
  path: '/',
  referrer: 'http://dev.local:4000/pricing/',
  search: '',
  title: 'Site Title',
  url: 'http://dev.local:4000/'
});

I don't think $$properies should be passed to segment. Probably they are inherited from angulartics itself, shouldn't they be filtered?

angular.copy() filters these out. Perhaps you can submit a PR?

Doesn't look like angular.copy() filters them out

Sorry looks like angular.toJson() does it.

What do you think of this:
$analyticsProvider.registerPageTrack( function ( path, properties ) {
        try {
          properties = _.omit( properties, function ( value, key, object ) {
            return key.startsWith( '$$' );
          } );

          analytics.page( path, properties );
        } catch ( e ) {
          if ( !( e instanceof ReferenceError ) ) {
            throw e;
          }
        }
      } );

Only issue is it relies on underscore.

Why not use what's already built into angular?

So although angular.toJson does work, it's got issues :)
using _.omit:
analytics.page('/signin', {
  name: '/signin',
  referrer: 'http://localhost:9000/signin',
  title: 'FundThrough'
});

using toJson:
analytics.page('/signin', '{}', {
  name: '{}',
  category: '/signin',
  path: '/signin',
  referrer: 'http://localhost:9000/signin',
  search: '',
  title: 'FundThrough',
  url: 'http://localhost:9000/signin'
});

k, this works as a charm:
$analyticsProvider.registerPageTrack( function ( path, properties ) {
        try {
          properties = JSON.parse(angular.toJson(properties));
          analytics.page( path, properties );
        } catch ( e ) {
          if ( !( e instanceof ReferenceError ) ) {
            throw e;
          }
        }
      } );

want me to create a PR? @ProLoser

@aeldaly looks strange to me, maybe we should check how it's implemented for different providers?

@troex I've checked angulartics-newrelic-insights and angulartics-mixpanel and they both seem to just send properties as is. Maybe other providers filter $$ but segment does not?

@aeldaly yeah strange indeed, I think angular.toJson is the right way to go. name being current page url in page() is normal for segment, so I don't see issue here

@troex the output was fixed when I added the JSON.parse.
How do I submit a PR? I'm not able to commit the branch I created. Do you want me to fork and submit a PR that way?

What is the original object you're working with? I don't understand why angular is yielding the response you described based on the data you were putting in.

console.log(angular.toJson({
  $$protocol: 'http',
  $$host: 'dev.local',
  $$port: 4000,
  $$path: '',
  $$search: {},
  $$hash: '',
  $$url: '',
  $$absUrl: 'http://dev.local:4000/',
  $$state: null,
  $$replace: false,
  name: 'http://dev.local:4000/',
  path: '/',
  referrer: 'http://dev.local:4000/pricing/',
  search: '',
  title: 'Site Title',
  url: 'http://dev.local:4000/'
}));

// yields:
{
  "name": "http://dev.local:4000/",
  "path": "/",
  "referrer": "http://dev.local:4000/pricing/",
  "search": "",
  "title": "Site Title",
  "url": "http://dev.local:4000/"
}

angular.toJson(properties) returns '{}' causing segment to generate this:
analytics.page('/signin', '{}', {
  name: '{}',
  category: '/signin',
  path: '/signin',
  referrer: 'http://localhost:9000/signin',
  search: '',
  title: 'title',
  url: 'http://localhost:9000/signin'
});

changing to JSON.parse(angular.toJson(properties)) yields the expected result

What is the contents of properties?

@ProLoser did you look at the result using the debugger?

Wondering if there's a more efficient way to have this discussion. Screenhero maybe?

I want to understand why you're getting an object as the value of the name property. I dropped in the object you pasted above. If you're saying the properties object contains something different than what you posted above, such as having an object as it's value, that's a symptom of a far larger problem in my opinion and I'd rather not go about fixing symptoms with hacks vs identifying the problem.
I no longer use angular whatsoever so most of my assistance is just trying to be helpful, I can't really screenshare with people at this time.

I also think this discussion should probably be relocated to the core library as this is not isolated to segment

@aeldaly I agree with @ProLoser, how do you call .page() method in your app? I think it's something messing in your application code and not angulartics-segment itself. I'll have time later today to review your solution in my app, I'll write back my results.

I'm using this:
$analytics.eventTrack( 'Logged In' );
this code:
      $analyticsProvider.registerPageTrack( function ( path, properties ) {
        try {
          console.log(properties);
          properties = JSON.parse(angular.toJson(properties));
          console.log(properties);
          analytics.page( path, properties );
        } catch ( e ) {
          if ( !( e instanceof ReferenceError ) ) {
            throw e;
          }
        }
      } );

@aeldaly you're firing an eventTrack and your callback function is a pageTrack so I'm now doubly confused:

Why are you looking at pageTracking code for eventTracking?
What is the contents of your properties object (before any parsing)

Okay to be clear, $analytics.eventTrack( 'Logged In' ); has nothing to do with any of this.
Secondly, I think the properties object is actually the $location object which probably has some weird data inside.
See this line: https://github.com/angulartics/angulartics/blob/master/src/angulartics.js#L190
I have no idea what $location puts into the name property or why. This is also some slight area of complication because

Okay I did some research on segment docs and took a look at other libs for angular + segment that I used and committed to two years ago. The actual problem comes from that properties are passed to segment -
analytics.page(path, properties); in fact we only need to pass analytics.page(path); all the rest properties will be automatically populated by segmentio script, injecting $location (in any way with angular.toJson, JSON.parse or raw) does not give any benefits instead it messes up segment stats. The only reasonable property that we might pass is referrer with previous state url, but since angulartics doesn't provide it there is really need to pass properties at all.

By default segment script adds next properties: path, referrer, search, title, url if for some reason you think one of these values is incorrect, like url being http://mysite.com/#!/state/action instead of http://mysite.com/state/action - you should tweak it manually.
In my case it's not a problem since I use angular for stateless app (I don't have state changes or any kind of routers) but may be the case for more common angular app.
Hope this clarifies the problem.

@aeldaly can you please remove properties from analytics.page(path, properties); and see if it works correctly for you?

Released 0.1.5 with this https://github.com/angulartics/angulartics-segment/issues/12


Sub-pixel rounding alignment bug (?), with two identically sized, superimposed images

I have two images that are identical in size, 2000x2614 (for example, a painting, and an IR version of the painting). They have been properly registered to align correctly with one another.
When I add both images to OpenSeadragon there seems to be a 1px edges along either the right and/or bottom side where the lower indexed item seems like it could be being drawn 1px wider / taller. This happens at most zoom levels / positions and flickers between paints (tested in Chrome/Firefox).
Example: shown as a 1px line at the right of the first image:

The first image is initialised with the viewer:
const viewer = new OpenSeadragon({
  …
  tileSources: {
    type: 'image',
    url: '/images/Whistler_1912_141_reg_NRM.jpg',
  },
});

Second image:
  viewer.addSimpleImage({
    url: '/images/Whistler_1912_141_reg_IR.jpg',
    index: 0,
    opacity: 1,
  });

Setting the x / y coordinates of the second image to be -1 or -2 doesn’t seem to fix this, but does alter the edges effected by the flickering.
Setting the width of the second image to something very close to 1 (eg. 0.998 — going closer than this seems to negate any gains), does stop the flickering but feels like it will compromise what I’m trying to achieve.
This isn’t my example, but you can also see the same thing happening on the demo for OpenSeadragon opacity plugin.
What might be happening here, and is there a way I can prevent this without altering the sizes of the images?

Interesting! It's odd that it happens when the images are identical. I suppose maybe this is because that outside edge isn't aligned with pixel boundaries, and therefore is a little transparent, and the transparency of the top image shows enough of the bottom image through?
The most recent work we've done on subpixel rounding is #2075; you might take a look at that. That is specifically for when the image has transparency, which I'm guessing isn't the case in your case. Even so, you might consider hacking a copy of OpenSeadragon to always turn on the rounding here:
https://github.com/openseadragon/openseadragon/blob/a111d0f616c85bae377aca191ff44ec8261f7285/src/tile.js#L447
... To see if that helps.
I'm also curious to know what happens if you change the opacity of the top image to 0.999 or something... Probably won't make a difference, but you never know.

Thanks! I've actually encountered a scenario where this feature has been useful fairly recently, but I've never dived into how it was doing. I'll have a look, it may be useful!
Adjusting transparency of the top image doesn't have an effect unfortunately.
I noticed that setting buildPyramid to false does prevent this from happening initially. I feel like this is probably some kind of a clue, though I'm well versed enough to say where it points to. Then if I reduce the opacity of the top image slightly the issue returns, so I think you're on track with saying it's related to opacity.
I think it would probably be best for me to have buildPyramid on, and I'll also be adjusting opacity in the application I'm working on so I'll look a bit more into this.

Also, I should probably have put this up at the start but I've created a CodePen to demonstrate this issue. There's a slider under the image to adjust opacity (of the top image)

Nice! Well, it's a hack, but maybe it's better than nothing? I wonder if it works because by making it semi-transparent, we engage the subpixel rounding code?
It looks like you can go with something nutty, like 0.999999999999999999999, so I expect you won't see any other visual impact from it being "semi-transparent".
Anyway, this might be a reason to consider making it possible to engage subpixel rounding even when not transparent.

Cool. We'll leave this open as a starting point for anyone who wants to pick it up! I'm glad your project is in good shape :)


Timestamps laserscan messages

The timestamps in the header of pointcloud messages (i.e. msg.header.stamp of ros::sensor_msgs::PointCloud2 messages) are lidar ticks converted to ros-time using a software pll. The timestamp in the header of laserscan messages (msg.header.stamp of ros::sensor_msgs::LaserScan messages) ist the ros-time when receive the telegram. The timestamp of the laserscan messages should be identical to the timestamp of pointcloud messages.

Release 2.6.3: Timestamp of pointcloud and laserscan messages identical and computed from lidar ticks by software-pll

The so-called software PLL (see https://github.com/SICKAG/sick_scan_xd/blob/master/doc/software_pll.md ) is used to compare the so-called ticks of the lidar for the scan start against the PC system time. The lidars run asynchronously against each other, so that the timestamp at which a certain angle is reached differs between the lidars. For very fast movements, it is therefore advisable to determine a separate time stamp for each shot (angular direction) by using the start timestamp of the scan and then taking the rotation speed of the lidar into account.
Roughly:
Time stamp for a specific angle = timestamp at scan start + (angle difference to start angle)/360 [deg] * 1.0/scanning frequency


Is this library maintained?

I've been looking for async kafka library, this one looks great! Is it still maintained? Latest commit is from July 2017. I made some fixes in my branch, would you be willing to review?

It still a prototype, and not ready for production yet, if you really want to use it, we may reboot it :)

That would be great, I'm considering it to replace kafka-rust in my code.

We're seriously considering a move to kafka now. We have one consumer where an async kafka client would make many things easier. Would be eager to use this.


Navigation link navigates to unrelated row

Description
Wrong row is used in filters to filter the value from the cell of a clicked navigation link.
https://github.com/user-attachments/assets/a20aef79-f494-4296-8b66-dcae5442d4fd
use this code for dvdrental database:
select *
from (
    select r.inventory_id, r.customer_id
    from rental as r
    where r.rental_id = 90
    limit 1
) as s1
cross join (
    select r.inventory_id, r.customer_id
    from rental as r
    where r.rental_id = 91
    limit 1
) as s2;

DBeaver Version
Enterprise Edition 24.2.4-202410172322
Operating System
Windows 10
Database and driver
PostgreSQL 16
PostgreSQL JDBC Driver 42.7.4
Steps to reproduce
No response
Additional context
No response

Thanks for the bug report


Provide translation infrastructure

It would be neat if at least the normal buttons and text in pinnwand could be translated.

Initial infrastructure is in place now:

[ ] Handle translations in Javascript.
[ ] Provide Dutch example translations.

Let's not handle text pages in 1.2.0 yet but move that 1.3.0 (or even 2.0.0) but handle the rest of it.
The javascript can be handled by attr's (there's only one element) or a template.


cc: Update doc for Endpoints and Deploy API via APIM

$subject
Fixes https://github.com/wso2/docs-apim/issues/3602
Same as https://github.com/wso2/docs-apim/pull/3804 for branch 4.0.0

Closing to resolve conflict


Message Tracing supports pretty print?

I am using the message tracing feature of Citrus, http://www.citrusframework.org/reference/html/message-tracing.html
The JSON outbound and inbound messages are in a single line.
Is it possible to pretty print it so that it is easier to read?

I now did pretty-print by subclassing com.consol.citrus.report.MessageTracingTestListener.
It is not ideal since "com.consol.citrus.message.Message#getPayload()" does not return just the body but also other information like POST etc. It is quite dirty to extract the JSON from that object.
In com.consol.citrus.http.interceptor.LoggingClientInterceptor#intercept the HttpRequest input parameter would contain the body with only the JSON.
Maybe you can change the API of com.consol.citrus.message.Message so that it is possible to just get the body?


Add pow for dec128

Ok, this should be better now.

Thanks for the contribution! It is very much appreciated. Please address the following comments.

Review status: 0 of 1 files reviewed at latest revision, 5 unresolved discussions.

src/dec128.rs, line 29 [r1] (raw file):
Let's skip the struct comments. They are not interesting to the decimal library reader.

src/dec128.rs, line 34 [r1] (raw file):
This is the only one that needs a comment. Here's what I think should go here:
// DECPUN = 3 because this is the fastest for conversion between decNumber and decQuad
// DECNUMDIGITS = 34 because we use decQuad only
// 12 = ((DECNUMDIGITS+DECDPUN-1)/DECDPUN)

Also because we set this to 12 we need to set DECNUMDIGITS to 34 when compiling decNumber library (see build.rs) otherwise when you call decimal128ToNumber the decNumber library thinks there is only 1 u16 at the end of the struct so it will allocate something on the heap to perform pow. Because we know exactly how many digits we have, we can avoid this allocation.

src/dec128.rs, line 440 [r1] (raw file):
Let's plagiarize the documentation from decNumberPower.
What I do is cut and paste it, adapt it for decQuad, rename the variables (there is no lhs and rhs in our implementation) and then reflow (if you are using Atom editor ctrl-alt-q).

src/dec128.rs, line 441 [r1] (raw file):
I think there are trailing spaces at the end of ///. Please remove them.

src/dec128.rs, line 455 [r1] (raw file):
Please use rustfmt for the code formatting. It makes everything consistent and it is really easy to do.
cargo install --git https://github.com/rust-lang-nursery/rustfmt

Then ~/.cargo/bin/rustfmt filename

Comments from the review on Reviewable.io

Done.

Thank you! It looks really good. Only one thing left, the change to build.rs to make sure You missed the change to build.rs (see comment below). Otherwise it looks really good.

Review status: 0 of 1 files reviewed at latest revision, 2 unresolved discussions.

src/dec128.rs, line 34 [r1] (raw file):
Modification to build.rs is still pending.  You need to add a single call after .include():
.define("DECNUMDIGITS", Some("34"))

src/dec128.rs, line 28 [r2] (raw file):
Also I just noticed this. Let's name this decNumber (first letter lower case) to match the one in the C file.

Comments from the review on Reviewable.io

This ok? Oh and I was wondering about constants...

Thanks for the patch and going through the code review!


Profiles!

This is a way for synclets to share a common profile, and for core to be able to generate a shared map of all "me" idrs possible (required for collections to sort "my" stuff from anything else).

I moved to this branch and started up, but the new synclets don't show up in my me.json file, nor do they run via /synclets/{svc}/run
Looks like something is needed to upsert new synclets into the map / me.json files. That actually feels like it might be something that might need to be committed directly to imthemap branch before it get's merged into master.

You need to upsert them manually to test.
On Jan 15, 2012, at 3:56 PM, Simon<EMAIL_ADDRESS>wrote:

I moved to this branch and started up, but the new synclets don't show up in my me.json file, nor do they run via /synclets/{svc}/run
Looks like something is needed to upsert new synclets into the map / me.json files. That actually feels like it might be something that might need to be committed directly to imthemap branch before it get's merged into master.

Reply to this email directly or view it on GitHub:
https://github.com/LockerProject/Locker/pull/548#issuecomment-3502214

Ah, because they aren't published yet, correct? Perhaps we need a debug testing mode or something that either auto upserts local code or allows us to publish "unstable" services to the reg that will only be available in this mode.

Right, upserting locally is easy, maybe a batch version util too.
On Jan 15, 2012, at 5:21 PM, Simon<EMAIL_ADDRESS>wrote:

Ah, because they aren't published yet, correct? Perhaps we need a debug testing mode or something that either auto upserts local code or allows us to publish "unstable" services to the reg that will only be available in this mode.

Reply to this email directly or view it on GitHub:
https://github.com/LockerProject/Locker/pull/548#issuecomment-3504272

I'm closing this since it's to the old branch, and now #555 replaces it.


failing update calls, strips attributes from the object

https://f5-common-python.slack.com/files/wojtek0806/F31H7A0HW/gistfile1.txt

merged via #809


Update Post “best-way-to-treat-your-home-for-termites-white-ants”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
dec3e97c26a1a537a20c7bc2c7c233eae69876e7

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/654aedfde946260008412dd3


feat: Add request handlers for client

for https://github.com/emiago/sipgo/issues/95
This is just one approach. If you find it feasible, I will continue to refine it.

This is already provided. Maybe I need to make this more clear in docs. You have Server for this.
client and server are just handles (wrappers) for transport layer and transport layer is created by user agent, specifically by constructor
NewUA()
So as long you are sharing same UserAgent accross client and server handles, you are utilizing same tranport layer.
In your case, just attach your client ua to NewServer( and you are good to go.

Got it. Thank you .


Bot to update dependencies

https://dependabot.com, https://www.whitesourcesoftware.com/free-developer-tools/renovate/ ?
Ideally it should be configurable for larger spaced intervals (monthly, biweekly?) and be batched to keep impact on history limited.

It seems that dependabot doesn't support batched updates (https://github.com/dependabot/dependabot-core/issues/1190). @manuelmauro would you like to try out renovate? It can be installed here: https://github.com/marketplace/renovate

For the record, the default renovate configuration isn't batched and we're not sure yet how to group our dependencies, and since it requires additional setup, trying out dependabot first.
@manuelmauro we've only 4 PRs (instead of the 16 with renovate), assume we get new PRs later? Should we maybe do this first upgrade manually, since we're very outdated, and use the bot for later upgrades?

I tried to run dependabot again, but no new PRs. Not sure why, the hard limit in the config file is 10 PRs.

It seems that dependabot is doing updates only for incompatible versions, which is more inline with cargo's versioning system: cargo install and cargo update will pull the most recent compatible versions of our dependencies, making it unnecessary to update the cargo.toml for this.
The only case where the later seems to make sense, is when users use cargo update -p (in which case the transitive dependencies are not updated) and we are using a new feature of the dependency, which would break the user's build. The more robust renovate's default config would prevent this, but this seems to be an edge case and since the user is intentionally disabling the transitive update, I'm ok ignoring this for now.
As a side note, in the future we probably should use rebase and merge instead of the regular merge for updates that don't require fixes, to have only one history entry per update.


vite-jetbrains-plugin: suppress "Unused default export" warning in vite.config.ts

it would be cool if the plugin could somehow tell the IDE to suppress this warning as the export is obviously used by vite

There are currently no plans, this should be a problem with the ide global settings


Add metrics proxy

Refer submariner-io/enhancements/pull/128
Depends on submariner-io/subctl/pull/212
Depends on #2209
Signed-off-by: Vishal Thapar<EMAIL_ADDRESS>

I manually squashed older review commits into parent commit to make it easier to rebase conflicts.

@vthapar please squash the latest review commit.

Please add release notes as part of the PR

@mkolesnik Release notes should be added as new comment or updated in the parent comment?

Please add release notes as part of the PR

@mkolesnik Release notes should be added as new comment or updated in the parent comment?

It should be part of the PR - as we discussed on the weekly calls, and the pending documentation (https://github.com/submariner-io/submariner-website/pull/802)

Please add release notes as part of the PR

@mkolesnik Release notes should be added as new comment or updated in the parent comment?

It should be part of the PR - as we discussed on the weekly calls, and the pending documentation (submariner-io/submariner-website#802)

I saw the documentation PR but that is still under review. I don't see a release-notes directory in operator repo. Also, what should be the date in filename DDMMYYYY format? Date release note is added to PR?

@vthapar The release notes file has linting errors.


Fix up midi stuff, support mild black midis

Fixes #1035
Links to https://github.com/space-wizards/RobustToolbox/pull/1092

Unnecessary bits;
Tracks active notes.

Justify your position or be declared irrational.

Justify your position or be declared irrational.

MIDI instruments aren't as important as game states to demand being sent every update.
I have the feeling that doing this will only lag the server (specially when a few people are playing instruments at once) for no good reason.

You haven't tested the impact of this.
1.2s of delay is arbitrary and unnecessary.
You're going on 'feelings' without testing.

You haven't tested the impact of this.
1.2s of delay is arbitrary and unnecessary.
.4s is from double the time it takes to buffer events to play Redzone at peak event generation.
You're going on 'feelings' without testing.

The guy that made the midi support in the first place, going off feeling? Yeah, that does make sense.  We'll test your changes like you ask and see what happens.

Alright, so I've tested your PR extensively (although only locally, with lag simulation at times) so let me give you some thoughts and feedback:

I've ran into this issue from other clients, when an instruments walks outside the PVS range, it sounds louder for a split second.
This handles clients playing the instrument moving in and out of PVS extremely well, aside from the small audio issue. Good job.
The cramping/fumbling messages sometimes show up at random after selecting a song. (By the way, I like these messages, and you might want to tweak the limits a little.)
Playing this midi on loop seems to trigger the safeguard.
This doesn't seem to handle MIDI under extreme lag (cvar net.fakelagmin 1 on the console of the client playing the instrument) as well as the old system (commits: content at 12f3b6bb7b14610e8eae116f056f8115c41af647 and engine at 5b9789870b6b4ab4a66c980b757febc3784a8322)

Also, may I ask for an explanation on the server-side limit for lagged batches?

Also, may I ask for an explanation on the server-side limit for lagged batches?

That's how you tell the client is trying to play a black midi - since the client isn't allowed to flood, they sit at the cap and dequeue batches that happened in the past. The server detects these lagged batches and we can limit how many are allowed. The higher it is, the more black midi gets through.
Right now it's max lagged batches per sequence but it could be modified to be max lagged batches over time to allow quick spikes that get lagged.
Playing anything on loop has some issues at .1s around the end since fluidsynth seems to do some sort of crappy crossfade. I have the client sorting it's .2s outbound queue to handle this specific scenario.


Some projects with contributor matrices from GEO do not have GEO accessions

Overview
Feedback from our first interview was that the accession links for the projects containing CGMs were useful to find out more about the project. However, it was also noticed that some of the projects with matrices from GEO did not have a GEO accession link.
It is possible to determine the GEO accession by looking at the file names of the CGMs but it was pointed out that some of the accession links are missing and it would be helpful to add them.
We did a query pull back the 62 projects tagged as having a File Source = GEO and scanned them programmatically to check if they also had a GEO accession.
https://data.humancellatlas.org/explore/projects?filter=[{"facetName":"fileSource","terms":["GEO"]}]
Of the 62 projects listed in catalog dcp5 with File Source = GEO the six below do not have GEO accessions.
Projects Missing GEO Accessions

A single-cell reference map of transcriptional states for human blood and tissue T cell activation

Bone marrow plasma cells from hip replacement surgeries

Cell hashing with barcoded antibodies enables multiplexing and doublet detection for single cell genomics

[Comparison, calibration, and benchmarking of high-throughput single cell RNA-Seq techniques for unbiased cell-type classification]
(https://data.humancellatlas.org/explore/projects/a9c022b4-c771-4468-b769-cabcf9738de3)

Single Cell Transcriptomics of a Human Kidney Allograft Biopsy Defines a Diverse Inflammatory Response

Single-nucleus RNA sequencing of human cortex affected by multiple sclerosis

Definition of Done
The projects above have a GEO accession showing on the project's detail page. Similar to:

I'm going to triage this to see what team needs to do the updates (For simplicity, if the wrangler is no longer working in the project I'll tag Parisa or myself), projects belong to:

@pnejad
@ESapenaVentura
@pnejad
@pnejad
@pnejad
@ami-day

@NoopDog All the ones from us were live wrangling not sure why the file source says from GEO.

@NoopDog @ami-day is right, checking both ingest and the staging area (gs://broad-dsp-monster-hca-prod-ebi-storage/prod/ce7b12ba-664f-4f79-8fc7-3de6b1892183/data/) I can't see any matrix files. Something is a bit off here

One option proposed for Hannes: Update the submission and do clean ups, from ingest's staging area

Latest status: the GEO matrix file shouldn't be associated with this project: https://data.humancellatlas.org/explore/projects/ce7b12ba-664f-4f79-8fc7-3de6b1892183/project-matrices


Use std::byte if available

Select std::byte or gsl::byte
-Dgsl_CONFIG_SELECT_BYTE=gsl_BYTE_DEFAULT / gsl_BYTE_GSL /  gsl_BYTE_STD
Plan:

[ ] Readme
[ ] gsl-lite.hpp

For the reasons explained in #121, I'd rather not introduce a gsl_CONFIG_SELECT_BYTE option.


Error message too vague: "You may need an appropriate loader to handle this file type."

Bug report
What is the current behavior?
When running npx webpack, I get the following vague error message:
ERROR in ./src/App.tsx 6:16
Module parse failed: Unexpected token (6:16)
You may need an appropriate loader to handle this file type.

If the current behavior is a bug, please provide the steps to reproduce.

Run this:

npx create-react-app example --typescript

Use this webpack.config.js file:

const path = require('path');

module.exports = {
    // change to .tsx if necessary
    entry: './src/App.tsx',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    resolve: {
        // changed from extensions: [".js", ".jsx"]
        extensions: ['.ts', '.tsx', '.js', '.jsx']
    },
    module: {
        rules: [
            // changed from { test: /\.jsx?$/, use: { loader: 'babel-loader' } },
            { test: /\.(t|j)sx?$/, use: { loader: 'awesome-typescript-loader' } },
            // addition - add source-map support
            { enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
        ]
    },
    externals: {
        "react": "React",
        "react-dom": "ReactDOM",
    },
    // addition - add source-map support
    devtool: "source-map"
}

What is the expected behavior?
The error message should mention what loader, if any or not, was used to attempt to load the file. The message does not currently definitively say what is configured.
In verbose mode, the module: { rules: ... } section should also mention when it's applying a rule to a file that matched a pattern, or when a file didn't match any patterns. Currently the verbose output doesn't print enough information to see what's going on.
Other relevant information:
webpack version:  4.29.6
Node.js version: 11.13.0
Operating System: Mac OS 10.14.4
Additional tools: awesome-typescript-loader 5.2.1

Feel free to send a PR

I've always wanted this as well or for Webpack to recommend a possible loader based on the file extension. I'm happy to do the first part of this and display what loaders were used when trying to load the file.

@cacheflow :+1:

Here's a PR for this.
https://github.com/webpack/webpack/pull/9150

@cacheflow Awesome, thanks!
It's great when someone fixes vague error messages. You'll save new users a lot of time.

When can this be available? Please publish the #9150 PR.


[Tracking] Cloud Native Sustainability Week 2024 Kuala Lumpur

Description

Location/Region: Asia, MY

Hosting Local Community: Cloud Native Kuala Lumpur

Organizers: Mageshwaran Sekar (@mageshwaransekar), Khairul Anuar, Ahmed Zidan (@ahmedzidan)

Sponsors:

Venue Sponsor: Microsoft Malaysia
Food Sponsor: TBD

Date: 21 October 2024

Event link: tbd (through Bevy and meetup.com)

Call for Speakers: sessionize.com

Details
We plan to run Cloud Native Sustainability Week in Kuala Lumpur (Malaysia) in 2024 as a regular (3 hours) meetup
To-Do

[X] Review the Meetup Organizer Guide for onboarding.
[X] Check the website.
[x] Create a PR to update the Meetup's table on the website. Example PR.
[x] Join one of the TAG ENV Sustainability Week Syncs to talk about your event.
[ ] Find a sponsor for the event.
[x] Find a location for the event.
[X] Set a date for the event.
[ ] Announce the event.
[ ] Reach out to the Cloud Native Sustainability Week Organizer team to promote the event.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Comments
No response

Added PR #484

Hello @mageshwaransekar
I hope you're doing well. With just a few weeks left, I wanted to check in and see if you need any help with anything. It would also be great if you could provide us with updates in your TO-DO section.

Hi @mageshwaransekar As Nancy pointed out, do you need any support?

Hi @Nancy-Chauhan @JulieChenadec - From our side, we have already sorted out the venue and speakers. Only thing still ongoing is the look out for food sponsor.

Hi! Just a reminder to submit all the speakers and organizers' information for Credly badges using this form https://forms.gle/KHizxY47h3ynEBUL9
Edit: all the information have been submitted

Closing this since all the main activities were completed. Thanks to everyone who made this local event possible and contributed! 🔝


GDNative doesn't load shared libraries specified in .gdnlib depencendies

Godot version:
3.0.6.stable.official.8314054
OS/device including version:
ArchLinux x64 rolling
Issue description:
Godot doesn't seem to properly load .gdnlib dependency during runtime.
Steps to reproduce:
I have a GDNative library libgaben.so that depends on libsteam_api.so. They're both in the root dir of the project. I'm able to resolve them via ldd which means they're linked properly:
$ LD_LIBRARY_PATH=. ldd libgaben.so
        linux-vdso.so.1 (0x00007fff24798000)
        libsteam_api.so => ./libsteam_api.so (0x00007f045bef3000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f045bb6a000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f045b7d5000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f045b5bd000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f045b201000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f045affd000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f045addf000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007f045c36d000)

Now, I create a libgaben.gdnlib file:
[entry]

X11.64="res://libgaben.so"

[dependencies]

X11.64=[ "res://libsteam_api.so" ]

[general]

singleton=false
load_once=false
symbol_prefix="godot_"
reloadable=false

Then I create a NativeScript resource and try to instantiate it in my project and get this error:
0:00:00:0444 - Can't open dynamic library: /home/foobar/src/PROJECT_ROOT/libgaben.so. Error: libsteam_api.so: cannot open shared object file: No such file or directory
----------
Тип:Помилка
Опис: Can't open dynamic library: /home/foobar/src/PROJECT_ROOT/libgaben.so. Error: libsteam_api.so: cannot open shared object file: No such file or directory
Час: 0:00:00:0444
C Помилка: Method/Function Failed, returning: ERR_CANT_OPEN
C Джерело: drivers/unix/os_unix.cpp:379
C Функція: open_dynamic_library

Looks like Godot doesn't alter LD_LIBRARY_PATH for depencency libraries when loading entry library.
This is confirmed by the fact that the app works if I put my dependency (libsteam_api.so) into /usr/lib dir.
Any ideas?

If you are on linux, try using RPATh instead of LD_LIBRARY_PATH.
LD_LIBRARY_PATH does a link-time lookup but also a fixed-location load-time lookup of the path.
RPATH does a link-time lookup and a dynamic location load-time lookup of the path.
So with RPATH you can load libraries relative to the working directory. This is more a unix-issue than a GDNative issue :P

This totally helped. Thanks!
For anyone having the same issue: I've added the following line to load my dependencies from lib dir which is located in the same folder as my library:
env.Append(LINKFLAGS=[
    '-Wl,-rpath,\'$$ORIGIN\'/lib'
])

Using $ORIGIN allows me to load the shared library from any other place. It's a placeholder for the location of my library.
Works on 64-bit Linux.

@and3rson Can you elaborate on how you solved this? I'm having the same issue. I have my .so libraries in addons/myaddon/gdnative/linuxbsd in my project. I added this to the SConstruct:
env.Append(LINKFLAGS=[
    '-Wl,-rpath,\'$ORIGIN\'/addons/myaddon/gdnative/linuxbsd'
])

Yet ldd says that the library is not found, and running Godot says that the library is not found. I also set the dependencies in the .gdnlib file to point to the file it's looking for, but it still can't find the library.
Also, I'm storing the project folder next to the SConstruct file, I also tried adding a leading /project and it doesn't work. Also, I tried using a full path that started with /home/aaronfranke, this worked but it's not very portable. Also, I ran echo $ORIGIN and it was blank, what is this variable supposed to be set to?


Apache Superset Installation - Ubuntu 18.04, unable to load/run superset error

A clear and concise description of what the bug is.
Expected results
what you expected to happen.
Actual results
what actually happens.
Screenshots
If applicable, add screenshots to help explain your problem.
How to reproduce the bug

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

Environment
(please complete the following information):

superset version: superset version
python version: python --version
node.js version: node -v
npm version: npm -v

Checklist
Make sure these boxes are checked before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ ] I have reproduced the issue with at least the latest released version of superset.
[ ] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

Adding error message

@RajuKevda use runserver instead of run