refactor: Restructure SQLRecognizer and UndoExecutor

<! -- make sure you have read and understood the contribution guide -- >
###I. describe what this PR has done
On the side of RM,

Add UndoExecutorGroupand and its corresponding factory. The UndoExecutorGroup interface abstracts executor that all kinds of databases need to provide (currently implemented by MySQL and Oracle)

Add SqlRecognizerGroup and its corresponding factory. SqlRecognizerGroup abstracts the recognizer (currently mqsql and Oracle) that all kinds of databases need to provide,

The benefits of this reconstruction are as follows:

Eliminate redundant code.

Enhance the scalability of the project (a new type of database can be added on RM side through resource configuration file)

When a new database type is to be added in the future, the capabilities it needs to provide will be roughly divided into three dimensions:

(1) extend AbstractUndoLogManager. (An existing abstraction provided in a previous PR,)
(2) implement UndoExecutorGroup.
(3) implement SQLRecognizerGroup.
To sum up, after refactoring, For the provider (the adaptation of each database type), will be defined and abstracted more clearly and cleanly; For the user (where to get the instance of executor or recognizer), it will be more convenient by calling factory methods directly.
###Does this request solve a problem?
<! -- if so, add "fixesාxxx" to the next line, for example, fixes񖓿97.
###III. why not add test cases (unit test / integration test)?
This PR is only for the adjustment of code structure, not involving the change of specific logic.
###IV. describe how to verify
It only adjusts the internal abstraction level and calling mode, without any specific logical changes. After pulling the latest code, test the official Seata demo project, and conduct overall verification.
###V. special notes for review
Note that in this submission, the two factories I provided (undoexecutor groupfactory and sqlrecognizergroupfactory) are the instances created directly by using the EnhancedServiceLoader to load specific implementation classes from the resource file,
This is mainly to consider: Although there are only two kinds of database adaptations now: mqsql and Oracle, in the future, when other developer expand other types of databases, they can directly add resource file to provide their implemention without changing the existing code.

Codecov Report

Merging #1883 into develop will increase coverage by 0.12%.
The diff coverage is 82.27%.

@@              Coverage Diff              @@
##             develop    #1883      +/-   ##
=============================================
+ Coverage      55.16%   55.28%   +0.12%
- Complexity      2377     2398      +21
=============================================
  Files            422      428       +6
  Lines          14392    14437      +45
  Branches        1729     1726       -3
=============================================
+ Hits            7939     7982      +43
- Misses          5708     5709       +1
- Partials         745      746       +1

Impacted Files
Coverage Δ
Complexity Δ

...source/sql/druid/oracle/OracleRecognizerGroup.java
100% <100%> (ø)
6 <6> (?)

.../datasource/undo/mysql/MySQLUndoExecutorGroup.java
100% <100%> (ø)
5 <5> (?)

.../rm/datasource/sql/druid/MySqlRecognizerGroup.java
100% <100%> (ø)
6 <6> (?)

...atasource/undo/oracle/OracleUndoExecutorGroup.java
50% <50%> (ø)
2 <2> (?)

.../seata/rm/datasource/undo/UndoExecutorFactory.java
64.28% <69.23%> (+42.85%)
3 <3> (ø)
:arrow_down:

...a/rm/datasource/undo/UndoExecutorGroupFactory.java
71.42% <71.42%> (ø)
3 <3> (?)

...a/rm/datasource/sql/SQLRecognizerGroupFactory.java
86.66% <86.66%> (ø)
5 <5> (?)

.../io/seata/rm/datasource/sql/SQLVisitorFactory.java
83.33% <90.9%> (-2.39%)
6 <0> (-6)

... and 4 more

Thanks for submitting again.
I am sorry to have closed Https://github.com/seata/seata/pull/1523

Thanks for submitting again.
I am sorry to have closed Https://github.com/seata/seata/pull/1523

It doesn't matter. That time, I accidentally messed up the code format locally, making the difference not easy to compare. Moreover, my change was later included in the PR of other developers.

@ggndnn please review together

@CharmingRabbit Please link your git account email when submitting
refer: https://blog.csdn.net/idealcitier/article/details/82697268

@CharmingRabbit Please link your git account email when submitting
refer: https://blog.csdn.net/idealcitier/article/details/82697268

Thanks for the link! I've set it up

please resolve CI error
https://travis-ci.org/seata/seata/jobs/610220930?utm_medium=notification&utm_source=github_status

@CharmingRabbit please move all @date element, later we will also remove the existing ones, here you are datetime instead of date. @dateis not a standard javadoc element.

please resolve CI error
https://travis-ci.org/seata/seata/jobs/610220930?utm_medium=notification&utm_source=github_status

This Ci error is caused by the rename of the class. I will solve it later

@CharmingRabbit please move all @date element, later we will also remove the existing ones, here you are datetime instead of date. @dateis not a standard javadoc element.

removed

retry ci

retry ci

passed

@CharmingRabbit  Thank you for your contribution.
There are 2 minor problems, and the latter will be rectified.
1.NPE: !dbType.equals(JdbcConstants.MYSQL) && !dbType.equals(JdbcConstants.ORACLE)
2.code format

@ggndnn please review together

Sorry, didn't notice this comment in time.

@CharmingRabbit Thank you for your contribution.
There are 2 minor problems, and the latter will be rectified.
1.NPE: !dbType.equals(JdbcConstants.MYSQL) && !dbType.equals(JdbcConstants.ORACLE)
2.code format
OK，got it.
finally，@zjinlei @slievrly thank you very much for your help in my first code contribution.


Update meta

@justinkruit just changed the version to 6.0.0-dev to avoid confusion and reformatted changelog section in readme.txt to WP standard, nothing special.

https://github.com/bootscore/bootscore/pull/683/commits/081805497543da7f929672f5baf135168be91c32 damn dude, that seems like a lot of work

Yes, copy & paste ;-)


TNT-39267 - ArtifactProvider

Artifact Provider impl for ODD
Add parse_int helper function
Update linter config and fix formatting issues previously missed

@dcottingham do you have tests that do the following?  I could not tell.

validates ArtifactProvider makes a request to the right location for an artifact?
validates that ArtifactProvider requests new artifacts on the polling interval and emits events
retries failed artifact requests up to 10 times

returns an error if all 10 retry attempts fail
returns success if any of the 10 attempts succeed

validates a cached artifact is used if the ETag is the same

@jasonwaters - I've updated the tests to cover missing use cases and be more in line with the nodejs sdk.  Python doesn't support private members, but any function that begins with an underscore is meant to tell developers to treat it as private (i.e. weak private); so I have done that.


Registered members only appear in default organization

Describe the bug
When a user registers they appear only as a member of the default org, even if assigned a role (e.g. admin) in another org.  I only see one account in the members section (which has owner privs) at present
To Reproduce

Go to dispatch instance
Register new account
Account appears only in default org
Grant privileges to other org (e.g. admin of 'companyname' org) via CLI
Account not appearing in org member list

Expected behavior
Expected available registered accounts to appear in the org member list, especially if an account has been granted additional privileges
Additional context
Possibly related to 2310 where an error is encountered when attempting to register an account on a non-default org.  Still I would have thought users that can access the org would appear in the member list.

Thanks for the report @keithherron. We'll look into it as soon as I can.

https://github.com/Netflix/dispatch/pull/2336 fixes your issue and other issues I found when I was troubleshooting.


Connect but not show exchanges and queues in list

Hello, i have a trouble with the extension, afther create connection not show the list of exchanges and queues.

Thanks for your help.

i am having the same issue ^

same here


Not able to list Certificates in "Certificates" view, UI hangs when we have a certificate scoped to namespace.

Rancher Server - 2.0 build from master
Steps to reproduce the problem:
From project view , create a certificate with scope "Available to a single namespace:"
Once user is brought back to list view , refresh this page.
UI hangs.
Relaunch project page and try to access "Certificates" tab.
UI hangs even after the certificate is listed.
In this case , Certificate list  in "Add Ingress" view does not list this certificate.

Tested with latest build from build from master - Feb 28
Able to list namespace scoped certificates successfully.


Fields

This adds (struct) fields in both the symbol and emission layers. This does not include logic to include fields in a struct, it purely represents fields as symbols and is able to emit them into C# as root symbols

I am a bit unhappy about the field types. They right now just accept a TypeSymbol which is kind of wrong, since the name given there should be able to both represent an inbuild type (int) and externally defined type (System.String) and a type which has been emitted previously (-> these could be treated as "externally defined")
Right now all these goals can still be met, but it's kind of unclean (new StructSymbol(new IdentifierSymbol("int")), new StructSymbol(new IdentifierSymbol("string"))).
Note that the type given to fields can not just be a string / identifier because this should also carry whether the type is a reference or value type (and other type-related info. Maybe we should just have ExternalTypeReference?) (-> using these references we could even build the dependency tree?)


bug: @link failing to resolve correctly linked interface (same with [[]] syntax in previous version)

Search terms
@link [[]] failed to resolve
Expected Behavior
In our monorepo we use use the following config to include one of our packages http-client:
{
  "extends": "./tsconfig.json",
  "include": [
    "./packages/http-client/**/*",
    "..."
  ],
  "exclude": ["**/*.spec.ts"],
  "references": [
    {
      "path": "./packages/http-client"
    },
    ...
  ],
  "typedocOptions": {
    "out": "docs/api/2.5.0",
    "entryPoints": [
      "packages/http-client/src/index.ts",
      "..."
    ],
    "...",
    "excludePrivate": true,
    "includes": "packages",
     "..."
  }
}

However, one of its interfaces can somehow not be linked, resulting in the following warning:
warning Failed to resolve {@link HttpResponse} in @sap-cloud-sdk/odata-common.DeleteRequestBuilderBase.executeRaw with declaration references. This link will break in v0.24.

the interface HttpResponse is exported and documented correctly, once in the index.ts of the http-client:
export {
  HttpResponse,
  ...
} from './http-client-types';

and again when it is defined:
/**
 * Represents an HTTP response, that contains response code, headers, payload and the original request.
 * This interface is compatible with AxiosResponse.
 */
export interface HttpResponse extends KnownHttpResponseFields {
  [otherKey: string]: any;
}

We would expect not to receive a warning here and it working correctly.
Actual Behavior
We still receive the failed to resolve warning.
Steps to reproduce the bug
The repository is open source, so you can simply clone it and run yarn doc.
Repo: https://github.com/SAP/cloud-sdk-js
Steps to reproduce: yarn && yarn doc
Environment

Typedoc version: 0.23.7
TypeScript version: 4.7.4
Node.js version: 14.17.0
OS: latest macOS

@Gerrit0 since you found the issue with #1986 super quick, can you think of anything causing the issue here too? 👀

It sounds like you were relying on step 4 described here, which searches for names in a global list of all reflections.
Declaration references don't work like that. https://typedoc.org/guides/declaration-references/ describes how links are resolved. For that specific one, {@link @sap-cloud-sdk/http-client!executeHttpRequest} should do what you want


Enable mosquitto auth caching

Current solution is in mode, were mosquitto auth plugin asks piot-server for all unknown credentials as well as for all ACL requests. This could have huge impact on performance, since piot-server has to fetch thing related data from database.


chore(carousel): fix demo

I don't know how that got in there and why it worked in the first place? Magic.
Anyway, that fixes the demo problem. Also made a shorter button so it doesn't broke the demo visually.

LGTM


Error adding Children to Bookable Resource Pool

When adding Child bookable resources to pool a date range must be entered.  Given we don't know how long a resource may be with us, our natural inclination is to enter a date range ending on order of a decade in the future.  If more than a year or so, we get uknown and/or SQL timeout errors. We've also had issues removing children from a pool in testing. This is with latest versions of FS(<IP_ADDRESS>3) and PSA (<IP_ADDRESS>) installed. See MSFT support Ticket 16767195.

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

ID: 671d7ea8-c497-59d4-f1b7-3e918f9fc409
Version Independent ID: c14228ed-b5d7-a6eb-cbc4-9d5461723b22
Content: Set up bookable resources (Dynamics 365 Field Service)
Content Source: ce/field-service/set-up-bookable-resources.md
Service: dynamics-365-customerservice
Technology: field-service
GitHub Login: @krbjoran
Microsoft Alias: daclar

Also, it is not clear if PSA supports Pool resources as well.
Also, it appears a user cannot be a member of both a Pool and a Team, which is an important limitation to clarify in documentation.

Hi Ryan - apologies for the long delay in response on our side! And thanks for raising this issue - we do have it reflected in our ongoing docs updates backlog.
For future troubleshooting (per initial error issue), feel free to also post in our community: https://community.dynamics.com/365/fieldservice


Conflict with the sidebar

So I have a bug that the texts conflict with the sidebar.
I am using Spotify for Windows v<IP_ADDRESS>2.g949d5fd0 and Spicetify v2.16.1

I think you installed it from Marketplace or did something wrong during the process. Use the script in this repo for proper installation.

@teddythinh
well, we can't find this issue on our devices.

we recommend you to uninstall spicetify and spotify completely and re install spotify and then apply the theme using automated installation script.
Automated Installation
Windows (Powershell)
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/nimsandu/spicetify-bloom/main/install.ps1" | Invoke-Expression

after proceeding following steps let us know what happened.
if it does not fix the issue, don't hesitate to reach us again
thanks.

I reinstalled Spotify and found that I also use SpotX with Spotify, which causes this issue. Thanks @windowz414 and @nimsandu.

Glad to have helped.

@teddythinh Our pleasure
Don't hesitate to reach us out again if you face any issues in  the future
And @windowz414 thanks for helping me

And @windowz414 thanks for helping me

My pleasure @nimsandu!

Hi there,
I have updated my Spotify to version <IP_ADDRESS>3.ge7902f05 for Windows today. However, I have uninstalled the SpotX extension, yet I am still having trouble with the sidebar UI. Whenever I expand my library, the text overlaps with other elements, causing a conflict in the UI.

And when I collapse the library, it's okay again.

These are my versions of Spotify and Spicetify.

im not quite sure what you meant. but these types of icons are nor expected with bloom. so what i recommend you is to run the script again and let us know what happened
based on that i might be able to provide you a proper answer

@teddythinh as a temporary solution, disable Enable Your Library Х view of the left sidebar in the spicetify experimental features menu

@teddythinh as a temporary solution, disable Enable Your Library Х view of the left sidebar in the spicetify experimental features menu

@teddythinh as @SunsetTechuila mentioned. this happened due to Spotify itself testing a new ui. it doesn't map with our theme. so you have to disable that experimental feature. that is the only solution. you might have figured it out already thanks to sunset

I fixed the most notable issues in this branch. It is still far from ideal, but it is already possible to test

I fixed the most notable issues in this branch. It is still far from ideal, but it is already possible to test

ill test it out @SunsetTechuila

the branch is almost ready for release, feedback needed

After the latest update, I found too many problems.
1. Sidebar Icon not properly showing.
2.  Playlist and Album Images are cropped in Sidebar.
3. Album Cover misplaced in Expanded mode.
4. Account info icon is misplaced (this issue is old, it was also in the previous version)
This is the collapsed state

This is the Expanded State

Here are the version details


[WFLY-14673] Utilize org.wildfly.common.Assert for Null-Checks (metrics)

Fixing https://issues.redhat.com/browse/WFLY-14673
The PR 14180 was too big to verify. It has been splitted up, here: metrics

@jasondlee Please review

These changes look good to me. I can't assign myself as a reviewer, so I hope this will suffice.


Support PHPUnit 6

I added PHPUnit 6 support.
I just need to bump PHPUnit version to ^4.8.35 and ^5.7 that support the PHPUnit\Framework\TestCase namespace.

Thanks!


Cleanup "Examples can assume"

There are 47 files with these. I'm assuming these are remnants of an old way of displaying sample code?
e.g.
// Examples can assume:
// late AnimationController controller;

@gspencergoog is this correct?

I believe that comments like this are still used when checking {@tool snippet} code fragments.

I believe what Hans said is true. I am wondering, though, whether these get flagged if they are no longer needed, i.e. because the snippet was turned into a full example.

They are still used, but they're not flagged if they are unused.  If you can remove them and things still pass the analysis, then they're not needed anymore. We could probably add a check for this.


Captcha not visibile: expire too quickly

Describe the bug
I was asked for relogin (after many weeks) and this time I was asked to enter the code from captcha, but the image is not visible.
I restarted HA in the hope to get a new one, but still nothing.
If I click on the broken image I get the response below: expired.
To Reproduce
Steps to reproduce the behavior:

Follow relogin request

Expected behavior
Would be possible to add a button to request a new one ?
Screenshots

System details

Home-assistant (version): 2021.3.3
Hassio (Yes/No): No
alexa_media  (version from const.py or HA startup): v3.8.4
alexapy (version from pip show alexapy or HA startup):
Amazon 2FA is enabled (y/n). We will not debug login issues if unanswered: yes

Logs
Please provide logs. We'll be most likely asking for them anyway.
Additional context

Same problem, if I click on the invalid image, it just takes me to a web page displaying the XML page in the above report

same here - Started 2 days ago for me.

Same here. Broke 10 days ago approx over here.
If you enter a random captcha (because of broken image) and submit, it'll fail but a captcha image will show up.
Even if you type that visible captcha, it'll fail as well though... #neverendingloop
Many people are facing this issue apparently.
Looking forward for a viable solution :|

Submit anything. I can't control the image timeout without removing the automatic login attempt.

Thx for the suggestion, I fixed the issue.
Steps:

send a casual code (as you don't see the image)
send the right code for 3 times on 3 different images
asked to enter 2FA code
auth flow successfully completed

Hope it helps all the other with same issue.
Simone

@alandtse what if you add a line saying something like:
"If you don't see the image, submit a causal code to allow a reload of a new one"
And, if possible, could you consider hide the second line ? I'm referring to this one:

Is confusing and no one should need to change it.
Thx as always for your great  work,
Simone

That's because it wasn't translated. I'll remove the key but someone needs to translate that. If you'd like to, please check the wiki for how to sign up.

That's because it wasn't translated. I'll remove the key but someone needs to translate that. If you'd like to, please check the wiki for how to sign up.

If not translated, should EN be the fall back ?
Going to translate for IT right now.
Simone

All missing and unverified translations updated.
Only one missing because I cannot edit: config::step::user::description
Simone

Thanks. I'll check on that one. Next release should have the new translations.

Odd, it looks like a problem with lokalise as it just replaces the old version regardless of what you enter.

Ok I think I changed it. Please confirm.

Ok I think I changed it. Please confirm.

Great, that's fine!
Just a small typo already fixed.
Simone

Hi, I notice this is closed but I have same problem. Its asking me to reauthenticate but there is no image displayed. Clicking the image takes me to an xml saying the capcha has already expired. So is this fixed or not fixed?

I ended up uninstalling the integration and removing the corresponding line in the configuration.yaml
I then successfully reinstalled the integration from scratch.


Association Replace generates too many UPDATE calls

When doing an association replace with existing objects, too many UPDATE queries are issues.  There should be a single UPDATE per item in the new association, instead there are (n + (n-1) + (n-2)...) UPDATEs issued.
Example code:  This will output 15 UPDATES, instead of the expected 5, causing significant performance issues with large associations.
package main

import (
    "database/sql"
    "fmt"
    "os"
    "path/filepath"

    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/sqlite"
)

type Post struct {
    Id             int64
    CategoryId     sql.NullInt64
    MainCategoryId int64
    Title          string
    Body           string
    Comments       []*Comment
}

type Comment struct {
    gorm.Model
    PostId  int64
    Content string
    Post    Post
}

func main() {
    db, err := gorm.Open("sqlite3", filepath.Join(os.TempDir(), "gorm.db"))
    if err != nil {
        fmt.Printf("Failed to open - %v", err)
        return
    }
    db.AutoMigrate(&Post{}, &Comment{})

    post := Post{
        Title:    "post has many",
        Body:     "body has many",
        Comments: []*Comment{{Content: "Comment 1"}, {Content: "Comment 2"}},
    }

    if err := db.Save(&post).Error; err != nil {
        fmt.Errorf("Got errors when save post", err)
    }

    var newComments []*Comment
    for i := 0; i < 5; i++ {
        c := Comment{Content: fmt.Sprintf("New Comment %d", i)}
        db.Save(&c)
        newComments = append(newComments, &c)
    }

    db.Debug().Model(&post).Association("Comments").Replace(&newComments)
}

Replacing assocation.go lines 356-358 with:
saveAssociation(indirectReflectValue)

resolves this issue, but breaks other tests.  (See PR #1137).

Hi guys, what is the actual status of this one? I can see it's has been added/remove to V2, referenced in PR which has been closed...so this doesn't seem to be resolved to me 🤔


Add category filter for news

In the site there are occasions which require a client-side request to the API. To avoid exposing the whole API we can use Next.js Server Actions (instead creating BFFs, which is cumbersome).
This PR demonstrates a category filter for news implemented as a server action.
Example
https://github.com/user-attachments/assets/0e637bae-ee66-4cac-8349-1b4d433e65d1
Discussion

Server Actions are primarily considered as "actions", querying data is possible but not the main use case. Shall we nevertheless showcase a query? An alternative would be a "like"-feature, but this requires a whole new resolver in the api.
It's not possible to alter the Cache-Control Header, making server actions not suitable for query-requests which are executed regularily with the same parameters from the same client. How can we avoid that devs go this line?

Server Actions are primarily considered as "actions", querying data is possible but not the main use case. Shall we nevertheless showcase a query?

I believe a query is the most common use case for BFFs in our projects.

It's not possible to alter the Cache-Control Header, making server actions not suitable for query-requests which are executed regularily with the same parameters from the same client.

This is indeed a problem. I think it's also a problem for the "same" requests from different clients (e.g., the menu).

We agreed not to do that since (at the moment) server functions are not recommended for data fetching:

Server Functions are designed for mutations that update server-side state; they are not recommended for data fetching.
- React Docs


Update CM_DEVICE_CAP_NAME enum

Signed-off-by: Midhun Kodiyath<EMAIL_ADDRESS>

Verified this pull request on BDW platforms with our use cases. Patch is functional and can be taken up for merge.

lgtm +2 and verified.


Editor hangs

If a file with same name is opened on left and right pane which resides on different path. Editor hangs.
Atom version - 1.3.1
OS- Ubuntu 14.04

This has already been fixed in the 1.4.0 betas.


Unmatched PDF in Complete_examples

The file:
https://github.com/music-encoding/sample-encodings/blob/master/MEI_3.0/Music/Complete_examples/Debussy_Children'sCorner.pdf
Does not have a matching MEI file.

Also the file McFerrin_Don't_ worry.pdf has a spurious space in the filename (The matching MEI file does not have this space).

I think we should delete the Children's Corner PDF from the sample files and also delete the whitespace from the McFerring PDF file name


Can't install latests pact-node

I get the following error when trying to install the latests pact version (5.0.0)
$ npm install --save-dev pact-web @pact-foundation/pact-node
npm ERR! path<EMAIL_ADDRESS>npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod<EMAIL_ADDRESS>npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     /path/to/.npm/_logs/2017-10-02T18_53_06_366Z-debug.log

@bbarke very sorry about that.  Will fix that ASAP.

@bbarke Damn, seems like npm is ignore *.js files because of what's been added in .gitignore, and since we don't have a .npmignore file, it uses the git one by default.  Changing that now.
Build is going out as we speak: https://travis-ci.org/pact-foundation/pact-node

@bbarke I've confirmed that this is now working with version 5.0.1.  Cheers.

Thanks!

@bbarke Have you got it working alright?  v5 is a fairly major rewrite.


host with macAddress

Hi,
I am trying to use the macAddress to filter the different RM3 mini I have deployed. Although it works fine with the IP, it does not with the mac. Am I missing something?
Aria-calda-genitori setSwitchState: false
[2018-3-24 11:10:57] [Broadlink RM] [ERROR] Aria-calda-genitori sendData (no device found at 78:0F:77:00:0F:6D)
{
"name":"Aria-calda-genitori",
"type":"switch",
"host":"78:0F:77:00:0F:6D",
"data":{
"on":"26...",
"off":"26..."
}
},
Thanks!

Some RM devices report their Mac address in a different order to others which could be the issue.
Check the address reported in the log when it says "Discovered Broadlink RM device at..."

Great, thanks! It was like that indeed. Please note that the last added device works only if the host value is omitted (I already noticed it with the default IR Learn accessory).

Interesting, can you provide some more information on that please?

Apologies, I now found the issue. I had an old problem with a wrong ip and got confused. The described behaviour does not occur (there simply is a default RM3 if you omit the host, but it is not necessarily the last one). Thanks again.

Awesome news - I'm glad everything's working :)


docs: added contributor package

Motivation

Added a Contributor Package to help onboarding newcomers willing to contribute to the project.
Description

It helps by providing quick start guide, interesting foundational knowledge resources, issue organisation, pr formats, communication means.

Great work! 🚀


build fail with ios app

I build successful if I just use the commond xcodebuild
I build my ios app with command infer,but I got the error as follows:
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:16:1: error: expected
identifier or '('
.text
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:212:1: error: unknown
type name 'mov'
mov     r7, sp
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:212:15: error:
expected ';' after top level declarator
mov     r7, sp
^
;
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:251:1: error: unknown
type name 'ldr'
ldr     r1, [sp, #16];
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:251:14: error: use of
undeclared identifier 'sp'
ldr     r1, [sp, #16];
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:251:13: error:
expected identifier or '('
ldr     r1, [sp, #16];
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:254:1: error: unknown
type name 'mov'
mov     r2, sp
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:254:15: error:
expected ';' after top level declarator
mov     r2, sp
^
;
8 errors generated.
clang -cc1as: error: error reading '/var/folders/yt/mcn2wbd112g1pyjcn84h4c3h0000gn/T/QHCrashAsyncThread_current-e9c334.s'
Command /Users/selmazhang/workspace/infer-osx-v0.9.2/infer/lib/python/inferlib/../../../lib/xcode_wrappers/clang failed with exit code 1
** BUILD FAILED **

Could you paste the full output of infer please? Please use a paste site such as https://gist.github.com/.

Could you try applying the following diff and running infer again to see if it fixes your issue? Thanks!
https://gist.github.com/jvillard/5fd9b9dc32a402aa5347edc5d327f45b

please tell me what can I do

The  all information that I can give is :
I build successful if I just use the commond xcodebuild
I build my ios app with command infer,but I got the error as follows:
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:16:1: error: expected
identifier or '('
.text
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:212:1: error: unknown
type name 'mov'
mov r7, sp
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:212:15: error:
expected ';' after top level declarator
mov r7, sp
^
;
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:251:1: error: unknown
type name 'ldr'
ldr r1, [sp, #16];
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:251:14: error: use of
undeclared identifier 'sp'
ldr r1, [sp, #16];
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:251:13: error:
expected identifier or '('
ldr r1, [sp, #16];
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:254:1: error: unknown
type name 'mov'
mov r2, sp
^
/Users/selmazhang/workspace/house_ios_codeCheck/src/Classes/Crash/Base/QHCrashAsyncThread_current.S:254:15: error:
expected ';' after top level declarator
mov r2, sp
^
;
8 errors generated.
clang -cc1as: error: error reading '/var/folders/yt/mcn2wbd112g1pyjcn84h4c3h0000gn/T/QHCrashAsyncThread_current-e9c334.s'
Command /Users/selmazhang/workspace/infer-osx-v0.9.2/infer/lib/python/inferlib/../../../lib/xcode_wrappers/clang failed with exit code 1
** BUILD FAILED **

I do not change anything about infer

What I meant was: What happens if you replace infer/lib/clang_wrappers/hijack_and_normalize_clang_command.sh with this: https://gist.github.com/jvillard/9649b78fff071179509cd2dc2a254680
?

I replace infer/lib/clang_wrappers/hijack_and_normalize_clang_command.sh with this: https://gist.github.com/jvillard/9649b78fff071179509cd2dc2a254680
It seems I got the same errors.
1.txt

I replace infer/lib/clang_wrappers/hijack_and_normalize_clang_command.sh with this: https://gist.github.com/jvillard/9649b78fff071179509cd2dc2a254680
It seems I got the same errors.
This is the all output
1.txt

I looked at full output and it seems that infer is failing to build code in assembler-with-cpp language. I'll try to play with some small examples to see if infer works at all with assembler-with-cpp, but I suspect issue may be hidden further.
@zhangying19871987 It would greatly help me to debug issue sooner if I could get my hands on standalone repro. It'd be great if you could run following command and upload result. The output may be pretty large:
https://gist.github.com/akotulski/1889f58356837730bd2a9a6b91f7c652
Is it same code as that one:  QNCore/QNCore/QNCrashGuard/3rd/JSPatch/Extensions/JPCFunction/libffi/src/x86/darwin64_x86_64.S? Is it same code as in https://github.com/bang590/JSPatch?

I couldn't reproduce the issue on small example (file that failed to compile and is coming from https://github.com/bang590/JSPatch) - it compiles fine for me. For posteriority, this is what I ran:
infer -- clang -x assembler-with-cpp -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fmodules -gmodules -fpascal-strings -O0 -fno-common -DDEBUG=1 -isysroot /Applications/Xcode7.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk  -fstrict-aliasing   -c darwin64_x86_64.S -I ../../headers/

I  run following command  and the result is
repro.txt
And I can give you the file QNCore/QNCore/QNCrashGuard/3rd/JSPatch/Extensions/JPCFunction/libffi/src/x86/darwin64_x86_64.S
darwin64_x86_64.S.zip

I have another app,
I replace infer/lib/clang_wrappers/hijack_and_normalize_clang_command.sh with this: https://gist.github.com/jvillard/9649b78fff071179509cd2dc2a254680
I build successful if I just use the commond xcodebuild
If I build my ios app with command infer, I got the error as follows:
1.txt

I believe I managed to reproduce similar problem and fix it in https://github.com/facebook/infer/commit/0817ab0ec221d97c6685e0f22f88c967b2b471df
To quickly test the change, could you replace infer/lib/clang_wrappers/hijack_and_normalize_clang_command.sh with version from master?
https://github.com/facebook/infer/blob/0817ab0ec221d97c6685e0f22f88c967b2b471df/infer/lib/clang_wrappers/hijack_and_normalize_clang_command.sh

It was fixed this issue. Thanks a lot.

Infer 0.9.3 has been released, please try and reopen this issue if the problem remains.


Compabible with Spring Boot 3.1 / jakarta

Hello,
i saw in your example that you used Spring Boot 2. Is it your lbrary also compatible with v3? I am using v3 and received the current error:
RuntimeException@14876 "java.lang.RuntimeException: java.lang.AbstractMethodError: Receiver class com.intuit.graphql.filter.visitors.JpaSpecificationExpressionVisitor$1 does not define or inherit an implementation of the resolved method 'abstract jakarta.persistence.criteria.Predicate toPredicate(jakarta.persistence.criteria.Root, jakarta.persistence.criteria.CriteriaQuery, jakarta.persistence.criteria.CriteriaBuilder)' of interface org.springframework.data.jpa.domain.Specification."

Spring Boot 3 require Java17. With newer java versions the javax.persistence namespace is renmaed to jakarta.persistence.
You can checkout the project and change the values in pom file. Then you have to fix the namespace issue and everything is fine.

Bump.  Thanks!


Disable rodauth in specific routes

Hello.
I'm using Rodauth with the jwt plugin enabled, it works wonders. However, I'm having some trouble with non-authenticated routes.
Cloudtasker sends a POST request to /cloudtasker/run with an Authentication Header (including Bearer word). The problem is that Rodauth is intercepting that request and throwing an error displaying that the JWT is invalid.
Without the JWT plugin enabled works fine.
Is there any way to disable rodauth for that specific path?
Thanks in advance.

Hi, what's intercepting your request is probably rodauth.require_authentication being called somewhere during that request, either in your Rodauth app's route block or a before filter in your controller. If you're not calling Rodauth during the request, it should not attempt to read the Authorization header.
If you think Rodauth isn't being called, could you produce a self-contained example reproducing the problem? Here is a Roda example showing the Authorization header being accepted:
require "roda"
require "sequel"
require "rack/test"

DB = Sequel.sqlite

class App < Roda
  plugin :rodauth do
    enable :jwt
  end

  route do |r|
    r.rodauth

    r.post "custom" do
      "Custom"
    end
  end
end

session = Rack::Test::Session.new(App)
session.post("/custom", {}, "HTTP_AUTHORIZATION" => "Bearer foobar")
session.last_response.body #=> "Custom"

Hello. Thank you for your reply. I CloudTasker isn't calling rodauth.require_authentcation (as far as I can tell), but I have narrowed the problem to rodauth.load_memory
class RodauthApp < Rodauth::Rails::App
  # primary configuration
  configure RodauthMain

  # secondary configuration
  # configure RodauthAdmin, :admin
  route do |r|
    rodauth.load_memory # autologin remembered users

    r.rodauth # route rodauth requests
  end
end

OUTPUT with load_memory
Started POST "/cloudtasker/run" for ::1 at 2023-05-17 18:17:39 +0200
Started POST "/cloudtasker/run" for ::1 at 2023-05-17 18:17:50 +0200
Started POST "/cloudtasker/run" for ::1 at 2023-05-17 18:17:58 +0200
Started POST "/cloudtasker/run" for ::1 at 2023-05-17 18:17:59 +0200

OUTPUT without load_memory working
Processing by Cloudtasker::WorkerController#run as */*
  Parameters: {"worker"=>"CalcrTrainJob", "job_queue"=>"default", "job_id"=>"a6fca894-1b98-457f-9468-b380b91f091c", "job_meta"=>{}, "job_args"=>["calcr_W7lQWe1MRcPI"]}
[ahoy] Visit excluded
[Cloudtasker][CalcrTrainJob][a6fca894-1b98-457f-9468-b380b91f091c] Starting job... -- {:worker=>"CalcrTrainJob", :job_id=>"a6fca894-1b98-457f-9468-b380b91f091c", :job_meta=>{}, :job_queue=>"default", :task_id=>"b0d1527f-585d-4b3b-9cad-20051ce81f61"}
[Cloudtasker][CalcrTrainJob][a6fca894-1b98-457f-9468-b380b91f091c] Job failed after 0.013s -- {:worker=>"CalcrTrainJob", :job_id=>"a6fca894-1b98-457f-9468-b380b91f091c", :job_meta=>{}, :job_queue=>"default", :task_id=>"b0d1527f-585d-4b3b-9cad-20051ce81f61", :duration=>0.013}

If you have a route that's a webhook with its own authentication, you don't want to call any Rodauth methods in that request. The Rodauth app's route block is called for each request before it reaches the Rails router, so can easily skip things for /cloudtasker/* routes:
route do |r|
  rodauth.load_memory unless r.path.start_with?("/cloudtasker")

  r.rodauth
end

Or maybe even skip the whole route block:
route do |r|
  next if r.path.start_with?("/cloudtasker")

  rodauth.load_memory

  r.rodauth
end


One-Command Installation for platform dev environment

Implementing a One-Command Installation Setup for Marvel AI Platform Development Environment
Objective:
To streamline our local development setup for the Marvel AI platform, we are moving towards a single-command installation and startup process. This will make onboarding faster for new contributors and simplify workflow for existing team members. Our setup will leverage Docker and Docker Compose to encapsulate dependencies and provide live reloading, ensuring a productive development experience. Here’s how we’ll implement this.
Overview of Changes

Integrate AI Backend as a Git Submodule
We’ll add the ai-backend repository as a submodule within the platform repository. This will keep our repositories manageable and ensure that both the platform and AI backend are easy to clone and configure.

Dockerize Each Component
We’ll create Docker configurations for each part of the application:

Frontend (Next.js): Run in development mode with hot reloading.
Backend (Firebase Functions): Use nodemon to reload on code changes.
AI Backend (FastAPI): Use uvicorn --reload to enable auto-reloading for Python.

One-Command Setup with Docker Compose
A single docker-compose.yml file in the platform repository will define all services (frontend, backend, Firebase emulator, AI backend). This setup will allow contributors to start all services with a single command and immediately see changes they make to the codebase.

Implementation Steps

Submodule Integration

Navigate to the platform repository.

Run:
git submodule add <https://github.com/marvelai-org/marvel-ai-backend.git> ai-backend

Initialize and update the submodule:
git submodule update --init --recursive

This will create an ai-backend directory inside the platform repository, linked to the AI backend code.

Docker Configuration

Create Dockerfiles for each service (frontend, backend, AI backend) to specify dependencies and configurations.
Set up each Dockerfile to include development tools (nodemon for backend, uvicorn --reload for AI backend, Next.js dev server) to enable live reloading.
Map the necessary volumes in Docker to sync local code changes directly into the containers.

Compose Services with Docker Compose

In the root of the platform repository, create a docker-compose.yml file with definitions for each service:

Frontend mapped to port 3000.
Backend (Firebase functions) mapped to port 5001.
Firebase Emulators for local development of authentication and database.
AI Backend mapped to port 8000.

Each service should use volume mapping to ensure live reloading and code synchronization without needing to rebuild containers.

Streamline Environment Configuration

Add .env.example files for both platform and ai-backend repositories, detailing necessary environment variables.
Update .env as needed, and ensure .gitignore includes .env to avoid committing sensitive information.

Update Documentation for Contributors

Update the README with the following simplified setup instructions:

# Clone the platform repository with submodules
git clone --recurse-submodules <https://github.com/radicalxdev/marvel-platform.git>
cd marvel-platform

# Start all services
docker-compose up --build

Expected Outcome
This setup will provide a consistent development environment, ensuring contributors can:

Clone both the platform and ai-backend repositories with a single command.
Start all services with docker-compose up --build.
Edit code in real-time with live reloading for frontend, backend, and AI backend services.

This single-command setup will enhance productivity, reduce setup times, and make our platform more accessible for open-source contributions. Let’s collaborate to finalize this implementation and test the configuration.

Completed and Merged in PR #181 ⚡


docker-compose up --build failed on MacOS with M1 chip

Describe the bug
When I tried to build everything using docker-compose locally, I got the following error.
I am on MacOS with M1 chip.
#0 209.7 Execution failed for task ':datahub-web-react:nodeSetup'.
#0 209.7 > Could not resolve all files for configuration ':datahub-web-react:detachedConfiguration1'.
#0 209.7    > Could not find org.nodejs:node:16.8.0.
#0 209.7      Searched in the following locations:
#0 209.7        - https://plugins.gradle.org/m2/org/nodejs/node/16.8.0/node-16.8.0.pom
#0 209.7        - file:/root/.m2/repository/org/nodejs/node/16.8.0/node-16.8.0.pom
#0 209.7        - https://repo.maven.apache.org/maven2/org/nodejs/node/16.8.0/node-16.8.0.pom
#0 209.7        - https://packages.confluent.io/maven/org/nodejs/node/16.8.0/node-16.8.0.pom
#0 209.7        - https://linkedin.jfrog.io/artifactory/open-source/org/nodejs/node/16.8.0/node-16.8.0.pom
#0 209.7        - https://nodejs.org/dist/v16.8.0/node-v16.8.0-linux-aarch64.tar.gz
#0 209.7      Required by:
#0 209.7          project :datahub-web-react

To Reproduce
Steps to reproduce the behavior:

run

COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 DATAHUB_MAPPED_MYSQL_PORT=53306 docker-compose \
    -f docker-compose.yml \
    -f docker-compose.override.yml \
    -f docker-compose.m1.yml \
    --verbose pull

Run

COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 DATAHUB_MAPPED_MYSQL_PORT=53306 docker-compose \
    -f docker-compose.yml \
    -f docker-compose.override.yml \
    -f docker-compose.m1.yml \
    up --build

See error

Expected behavior
The build should go through without failure.
Desktop (please complete the following information):

OS: MacOS with M1 chip
Version: 12.4

wirte preview

Hello @jinlintt
What version of docker are you using?
I see you execute docker-compose, could you instead try with docker compose, note the space. The former is an old, deprecated version of docker-compose which has known issues with M1 Arm systems.

@pedro93 thank you! I will give it a try.
The doc used to ask us to use docker-compose instead of docker compose, which was why I ran that command.
You mentioned at the office hour earlier that now it is fully on docker compose v2, which is terrific.

This is probably a case of out-dated docs. Can you send me a link to the doc in question?

Please see below.
https://datahubspace.slack.com/archives/CV2UVAPPG/p1658253771813039
https://datahubproject.io/docs/docker/development


Deadlock on startup

We're trying to use envkey v2.1.2 in a node:16.19.0 container.
 After correcting that, I'm no longer seeing this error. Still, this is not the error one would expect for an incorrect value.
Regards!

Thanks for reporting the issue and the update @laddhoffman--we'll investigate.


Failed mainnet txs: offsets cant be negative

Extracted logs from #1244
12:53:07.009 16/06/2023 +03:00	INFO	sync/sync.go:176	Failed executing	{"txnHash": "0x568988e97ba4be44fd345421a61026b64a2e759bd8a2c6568b6af97d8e91b29", "err": "ExecutionError(VirtualMachineExecutionErrorWithTrace { trace: \"Error in the called contract (0x026f4ac85c1beaca58892db37febc5966bec20348d28eb26e72d488cde4d33ba):\\nError at pc=0:10:\\nGot an exception while executing a hint.\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:228)\\nUnknown location (pc=0:214)\\n\\nError in the called contract (0x026f4ac85c1beaca58892db37febc5966bec20348d28eb26e72d488cde4d33ba):\\nError at pc=0:219:\\nGot an exception while executing a hint.\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:8090)\\nUnknown location (pc=0:8038)\\nUnknown location (pc=0:5734)\\nUnknown location (pc=0:5755)\\n\\nError in the called contract (0x07ea517643afd3ad5adec2ed100526d150fe1c1a47f0d5b619c6a5a0d9dc8a4f):\\nError at pc=0:1814:\\nOperation failed: 12:0 - 3, offsets cant be negative\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:1868)\\n\", source: CairoRunError(VmException(VmException { pc: 10, inst_location: None, inner_exc: Hint((0, CustomHint(\"Error in the called contract (0x026f4ac85c1beaca58892db37febc5966bec20348d28eb26e72d488cde4d33ba):\\nError at pc=0:219:\\nGot an exception while executing a hint.\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:8090)\\nUnknown location (pc=0:8038)\\nUnknown location (pc=0:5734)\\nUnknown location (pc=0:5755)\\n\\nError in the called contract (0x07ea517643afd3ad5adec2ed100526d150fe1c1a47f0d5b619c6a5a0d9dc8a4f):\\nError at pc=0:1814:\\nOperation failed: 12:0 - 3, offsets cant be negative\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:1868)\\n\"))), error_attr_value: None, traceback: Some(\"Cairo traceback (most recent call last):\\nUnknown location (pc=0:228)\\nUnknown location (pc=0:214)\\n\") })) })"}
13:26:59.359 16/06/2023 +03:00	INFO	sync/sync.go:176	Failed executing	{"txnHash": "0x45bd11ea7982ce6ed302e0d709311a6c12c33a23c785e112c58c4a42a044a13", "err": "ExecutionError(VirtualMachineExecutionErrorWithTrace { trace: \"Error in the called contract (0x026f4ac85c1beaca58892db37febc5966bec20348d28eb26e72d488cde4d33ba):\\nError at pc=0:10:\\nGot an exception while executing a hint.\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:228)\\nUnknown location (pc=0:214)\\n\\nError in the called contract (0x026f4ac85c1beaca58892db37febc5966bec20348d28eb26e72d488cde4d33ba):\\nError at pc=0:219:\\nGot an exception while executing a hint.\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:8090)\\nUnknown location (pc=0:8038)\\nUnknown location (pc=0:5734)\\nUnknown location (pc=0:5755)\\n\\nError in the called contract (0x07ea517643afd3ad5adec2ed100526d150fe1c1a47f0d5b619c6a5a0d9dc8a4f):\\nError at pc=0:1814:\\nOperation failed: 12:0 - 3, offsets cant be negative\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:1868)\\n\", source: CairoRunError(VmException(VmException { pc: 10, inst_location: None, inner_exc: Hint((0, CustomHint(\"Error in the called contract (0x026f4ac85c1beaca58892db37febc5966bec20348d28eb26e72d488cde4d33ba):\\nError at pc=0:219:\\nGot an exception while executing a hint.\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:8090)\\nUnknown location (pc=0:8038)\\nUnknown location (pc=0:5734)\\nUnknown location (pc=0:5755)\\n\\nError in the called contract (0x07ea517643afd3ad5adec2ed100526d150fe1c1a47f0d5b619c6a5a0d9dc8a4f):\\nError at pc=0:1814:\\nOperation failed: 12:0 - 3, offsets cant be negative\\nCairo traceback (most recent call last):\\nUnknown location (pc=0:1868)\\n\"))), error_attr_value: None, traceback: Some(\"Cairo traceback (most recent call last):\\nUnknown location (pc=0:228)\\nUnknown location (pc=0:214)\\n\") })) })"}

The important part:
Operation failed: 12:0 - 3, offsets cant be negative

The transaction seems to execute without errors in version 0.5.2 (see https://github.com/lambdaclass/starknet_in_rust/pull/678 on how to reproduce).


Help needed: How do I use this for facebook open graph meta.

Currently I am trying :
metaInfo() {
  return {
    title: 'Memes are the best',
    meta: [
      {vmid: 'og:description', property: 'og:description', name:'description', content: 'Wow'}
    ]
  }
}

But whenever I test it with fb open graph debugger it can't scrape the meta information.

Did find an issue ? I'im trying to do the same and I'm getting the same errors.. Thx :)

@deadelus no one's answering yet.

I found an issue here https://github.com/jvandemo/angular-update-meta/issues/13

@deadelus nice, thanks!

Try this one too : https://github.com/chrisvfritz/prerender-spa-plugin

Thanks!
On Tue, Nov 14, 2017 at 11:32 AM, Trambolho Geoffrey <
<EMAIL_ADDRESS>wrote:

Try this one too : https://github.com/chrisvfritz/prerender-spa-plugin
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/declandewet/vue-meta/issues/133#issuecomment-344135923,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIPPI-N8PTTlV6EgHgeBZGBMFMGSS1P2ks5s2Qm-gaJpZM4PFZ1R
.

Need a simpler solution than using SSR...

add quotes and move vmid to the end
metaInfo() {
  return {
    title: 'Memes are the best',
    meta: [
      { 'property': 'og:description', 'conten't: 'Wow', 'vmid': 'og:description'}
    ]
  }
}

Any solution for this? My site is showing the open graph meta tags, however facebook debugger is not crawling my metas?

@kont-wayfinder You should check to see if the tags are being rendered without JS.

Is this vue-meta working with facebook?

When a request is made to your site you can check the user-agent header in the request for the user agents used by which ever social networks you want to share with. For example, Facebook: facebookexternalhit or Facebot, Twitter: Twitterbot, LinkedIn: LinkedInBot. Other networks will have details in their own developer docs. If the user agent starts with one of these strings, then you have a social media crawler and you can take some action. Otherwise, just pass the request on as normal.

@smcstewart
Awesome, thank you!

How we can do it in VUE JS?

@eluminous40 Unfortunately, you can't right now. Social media crawlers currently do not run Javascript when they scrape your site for meta info. For Vue to have any hope of doing this, the crawlers need to either run Javascript or you need to render your page before the browser using either server-side rendering or pre-rendering.

@smcstewart , Thank for reply. Do you have any idea how we can make it possible in VUE JS?

@eluminous40 Short of getting the social media crawlers to run Javascript before they scrape content, no. Common problem with SPAs based on Javascript, not just Vue.

Another 3 options:

use Prerender.io;
install the OpenSource version of Prerender on your server;
use a hosting which offers prerender for social networks crawlers.

@robsonsobral prerender is the way. One of our website uses it. www.fortcupine.com

@jofftiquez Will prerender work for dynamic data ? For example if you have a list of products in your website that might change frequently.

@coolemur , yes, it does. You can set window.prerenderReady to false until the parsing of API data is ready.

@robsonsobral Interesting, how will it behave if I, say, requested a new list of data from the server?

If prerender found prerenderReady === false, it will wait until its value turns true.
You can add <script>prerenderReady = false;</script> to the default index.html and change it after the page on every route be ready.

There isn't a way to when facebook checks your link to find meta info to run some restfull code in the server side with a facebook's request then send it a response with the meta infos of that paga?!!!!
This should be a simples link request from facebook what would contain the id of the dynamic data, so in our server we could handle it then respond with meta info.
Is that possible?!

@eeerrrttty
https://github.com/declandewet/vue-meta/issues/133#issuecomment-435856380

Well, but how does facebook send this request when it finds my http link in his site?!

and how does it require the answer to be?

@eeerrrttty
Client Side Receiving Request:

Test the user agent header for web crawler

// Client Code Using express
if (new RegExp(WEB_CRAWLER).test(req.headers['user-agent']))

If it's a crawler, hit your server side endpoint with whatever ID/query params you need. For my purposes, I fetch the required data  from the database then create and respond with a FULL html string. Once the client code receives the string, it can send it to whatever crawler hit it.

// Client Code Using Express
return https.get(YOUR_PREVIEW_ENDPOINT, (response) => {
      response.on('data', (data) => {
        res.send(data.toString('utf8'));
      });
    }).on('error', (e) => {
      console.log(e);
    });

I implemented the proposed solution of detecting the social media crawler in Express, as @SamJWeissman did. Here is what I did if it helps someone:
Vue app Express server
const express = require('express')
const axios = require('axios')

const app = express()

const { API_URL } = process.env
const SOCIAL_MEDIA_CRAWLERS = /^(facebookexternalhit|Facebot|Twitterbot)/i

app.use(async (req, res, next) => {
  const { ['user-agent']: ua } = req.headers
  if (SOCIAL_MEDIA_CRAWLERS.test(ua)) {
    const { data, error } = await axios.get(
      `${API_URL}/meta?path=${req.path}&host=${req.hostname}`
    )
    if (error) {
      console.error(error)
      return next()
    }
    return res.send(data)
  }
  next()
})

API Express server
app.use('/meta', (req, res) => {
  const { host, path } = req.query
  // some logic
  res.send(`
    <!DOCTYPE html>
    <html>
      <head prefix="og: https://ogp.me/ns#">
        <!-- some metatags -->
      </head>
      <body></body>
    </html>
  `);
}

However, now I have abandoned this solution and instead I do prerendering to tackle the issue and at the same time improve SEO.


Compatibility of TopKDecoder with DecoderRNN

The codebase contains a TopKDecoder which can be used to do beam search while generating sentences. According to the docstring, the __init__ method takes as input a DecoderRNN object but the code is accessing attributes like .lang and .SOS_token_id which are not present in the DecoderRNN class.
Also my understanding is that the TopKDecoder can be used to generate sentences after the DecoderRNN has been trained. Is this understanding correct.

Hi @abhiskk , sorry for the late reply.  Yes your understanding is correct.  However TopKDecoder is a bit outdated...  We will fix it and let you know.

Thanks @kylegao91, appreciate it. 👏 for the work on repository, I am having a good time working with the codebase.

@abhiskk Would you like to try the updated code in topk?  There should be example usage in scripts/integration_test.py.

I looked up scripts/integration_test.py in topk branch, but the Predictor does not return top-k sequences when the Seq2Seq object with TopKDecoder is used.
How do I get topk predictions using the updated TopKDecoder?

@surajit-techie Sorry the documentation hasn't been updated yet.  Supposed you call the topk decoder as outputs, hidden, info = model(...), the top K sequences are stored in info['topk_sequence'].   It is documented at here.

When you run seq2seq with TopKDecoder for a batch of input sequences, the topk_sequence seems to contain only a single beam.


Fixed Timezone issue and went defensive

Addresses issue #74 by adding defensive try/catch blocks. Also,
addressed the handling of timezones that caused issue part1.
While in here, added code to address issue #73. Stats are only added
when the statas are requested in the ping. Otherwise, they will be none.

Updated, but needs squashing before merge. @ibuildthecloud @cjellick


[libgpiod] update version to 2.0.1

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[X] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

FYI, there are breaking API changes between those two versions, I am not sure it needs to be handled any differently.

Looking at the logs from the Azure Pipeline it seems that git fetch is failing see here below:
$ cat git-fetch-x64-linux-err.log
error: Server does not allow request for unadvertised object ae275c375477f207912113e5cf190fada78f3f90

If I use checkout on local machine this works flawlessly:
git checkout ae275c375477f207912113e5cf190fada78f3f90
Note: switching to 'ae275c375477f207912113e5cf190fada78f3f90'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at ae275c3 libgpiod v2.0.1

Looking at the docs of vcpkg_from_git there is something called FETCH_REF, does that need to be defined now? If so what should it be, ref to master?

Thanks for the update!

@jbbjarnason I got stuck in fetching during testing:

@jbbjarnason I got stuck in fetching during testing:

@Adela0814 did you use my latest update? As I hoped that everything is okay after I fixed the pipeline when setting FETCH_REF=v2.0.1

Yes, I used your latest commit. I have tested on several machines and it is the same issue. Is everything okay in your local?

yes it works on my local machine
jonb@jonb-work-desktop ~/P/vcpkg (update-libgpiod)> ./vcpkg install libgpiod
Computing installation plan...
The following packages will be built and installed:
    libgpiod[core]:x64-linux -> 2.0.1
  * vcpkg-cmake[core]:x64-linux -> 2022-12-22
  * vcpkg-cmake-get-vars[core]:x64-linux -> 2023-03-02
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-linux...
Restored 2 package(s) from /home/jonb/.cache/vcpkg/archives in 3.67 ms. Use --debug to see more details.
Installing 1/3 vcpkg-cmake:x64-linux...
Elapsed time to handle vcpkg-cmake:x64-linux: 356 us
Installing 2/3 vcpkg-cmake-get-vars:x64-linux...
Elapsed time to handle vcpkg-cmake-get-vars:x64-linux: 343 us
Installing 3/3 libgpiod:x64-linux...
Building libgpiod[core]:x64-linux...
-- Fetching git://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git v2.0.1...
-- Extracting source /home/jonb/Projects/vcpkg/downloads/libgpiod-ae275c375477f207912113e5cf190fada78f3f90.tar.gz
-- Using source at /home/jonb/Projects/vcpkg/buildtrees/libgpiod/src/ada78f3f90-97729933e2.clean
-- Found external ninja('1.11.1').
-- Getting CMake variables for x64-linux
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
-- Generating configure for x64-linux
-- Finished generating configure for x64-linux
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Installing x64-linux-dbg
-- Building x64-linux-rel
-- Installing x64-linux-rel
-- Fixing pkgconfig file: /home/jonb/Projects/vcpkg/packages/libgpiod_x64-linux/lib/pkgconfig/libgpiod.pc
-- Fixing pkgconfig file: /home/jonb/Projects/vcpkg/packages/libgpiod_x64-linux/debug/lib/pkgconfig/libgpiod.pc
-- Installing: /home/jonb/Projects/vcpkg/packages/libgpiod_x64-linux/share/libgpiod/copyright
-- Performing post-build validation
Stored binaries in 1 destinations.
Elapsed time to handle libgpiod:x64-linux: 11 s
Total install time: 11 s

This issue only repro on virtual machines without domains.
It was also reproduced in the previous version. I think this shouldn't block this PR.

This issue only repro on virtual machines without domains. It was also reproduced in the previous version. I think this shouldn't block this PR.

It looks like something your domain is pushing to you is preventing you from hitting git.kernel.org.  Or perhaps you can't hit this without going through a proxy, and the git:// protocol doesn't support proxies.

Thanks for the update!


Shortcode Parser Enhancements

Several Enhancements need to be done for 0.9.10 release.

We should have full support of all standard Thunderer Shortcode methods.
Add new default shortcodes that will present Flextype core functionality

New Shortcode
[raw] Raw shortcode content [/raw]

New Shotcode Methods
// Get shortcode instance.
getInstance()

// Add shortcode handler.
addHandler(string $name, $handler)

// Add event handler.
addEventHandler($name, $handler)

// Processes text and replaces shortcodes.
process(string $input, bool $cache = true)

BREAKING CHAGES
We should use process() method instead of parse() for shortcode processing.
Example of new usage in PHP:
...->shortcode->process($input, $cache);


ttl.operations.primary.layernorm fails with low PCC when beta input tensor is BFLOAT8_B [Grayskull and Wormhole]

Layenorm operation ttl.operations.primary.layernorm operation fails with low PCC, in case when the last input tensor - beta is BFLOAT8_B for both GS and WH.
To Reproduce
Steps to reproduce the behavior:
Checkout npetrovic/slow-dispatch-removal branch that will be soon merged into main. Run unit test
tests/tt_eager/python_api_testing/non_working_unit_tests/grayskull/test_bfloat8_layernorm_updated.py
With command
pytest tests/tt_eager/python_api_testing/non_working_unit_tests/grayskull/test_bfloat8_layernorm_updated.py

Expected behavior
Test cases expected to fail with low PCC error.
For example, one of the tests is expected to fail with this result:
Max ATOL Delta: 20.485897064208984, Max RTOL Delta: inf, PCC: 0.7677724836037157, PCC check failed

Getting Details
You can get more combinations tested using test sweep: tests/tt_eager/python_api_testing/sweep_tests/test_configs/ci_sweep_tests/broken_grayskull/pytorch_layernorm_test.yaml
or
tests/tt_eager/python_api_testing/sweep_tests/test_configs/ci_sweep_tests/broken_wormhole/pytorch_layernorm_test.yaml
Result will be saved in ./result-sweeps folder

Seems to be working now.

@yugaoTT is this fixed?

Hey sry about the delayed response, I found the problem, after set beta to bfp8_b, it needs to reconfigure the format back. I created the PR for fix, and when CI finishes it will be merged.

merged, closing issue


4.0beta1 is offered as an update when using a development version

We need to avoid showing beta versions when checking for updates

I found this while trying to run our tests locally.


Annotation files

Hi authors, your project provides good insights for me into object counting using SAM. I would like to run your notebook but there are missing files annotation_FSC147_384.json and Train_Test_Val_FSC_147.json in your project. Could you upload the files? I'm looking forward to hearing from you. Thank you.

@queekim0929 you can find in the paper repository, learn to count everything:
https://github.com/cvlab-stonybrook/LearningToCountEverything/tree/master/data


Wrong Evaluation.

Challenge Waypoint: Change the Font Size of an Element has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

 You are applying font size of 16px to all elements vs just the p elements even when the p selector is not specified .
Would need to add a test to check if the h2 tag has font-size as 16px


npm translate - error message if source string is empty (low prio)

If the source json file (i18n/en/translate.json) contains an empty string, i.e.
    "lblDevsEnable":     "",

the command npm run translate issues an error message:
Could not translate to "pl": TypeError: Cannot read property '0' of null

In some situations is useful to replace the test in jsonConfig.json to an empty string (i.e. if you want to remove a text without changing jsonConfig or if you want to add the text to some languages only).
npm run translate should simply "translate" the empty string to an empty string.

Important remark:
I just detected that at least ioBroker.adapter using jsonConfig.json cannot handle empty keys. So if a record like
lblMyLabel: ""
is used, the admin config page displays the test lblMyLabel instead og nothing (the empty string).
As lon as it is not clear whether this is the desired behavior or a bug at admin which will be fixed a better handling of empty string records at npm translate is not required or useful. So I would suggest to put this issue on hold for now.


Update pypi publish to 1.8.14

During release of 2.11.0 I discovered our version of PyPi publish is no longer compatible with the latest metadata version, this updates the action version, which bundles a later pkginfo

I'm going to skip waiting for the full pipelines to complete, as I have not changed anything that those use, and I need to rerun once merged anyway


Ethan: Watch xn--9i2br6o8pev7r.com

Ethan requests the watch of the watch_keyword xn--9i2br6o8pev7r\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

xn--9i2br6o8pev7r\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.


Modularization of IoC Container

Creating a module scheme to the IoC Container

This changes will be improved in next version but with a different approach.


addListener was called on null

Whenever I ran the controller, it is crashing.
The method 'addListener' was called on null.
Receiver: null
Tried calling: addListener(Closure: () => void from Function '_listener@47216319':.)

in my class:
class Foo extends State<Bar> with TickerProviderStateMixin {
GifController gifController;

 @override
  void initState() {
  ...
    gifController = GifController(vsync: this);
    WidgetsBinding.instance.addPostFrameCallback((_){
      gifController.repeat(min: 0,max: 53,period: Duration(milliseconds: 200));
    });
    super.initState();
  }

...

@override
  Widget build(BuildContext context) {
...
 return Container(
...
 GifImage(
    controller: gifController,
    image: AssetImage("assets/inkman-hour-tick.gif"),
 ),
}
...

i think you are calling adListener before loading GifImage Widget


How to handle incomming integration events?

Thank you very much @eugene-khyst ! Especially the paragraph about Domain events vs Integration events was an eye-opener.
I am currently wondering how replaying of events works and how the system state can be reliably recreated (conceptually). A reason to do that might be an added or modified projection (e.g. to add another column in a table providing extra information which can be extrapolated from existing events).
This seems to be strait forward when only internal domain events contribute to the aggregate's state. We simply drop the table(s) belonging to the projection, then pipe all historic events through the new/changed event handler of the projection and finally continue to feed new events synchronously.
But, can't we also have aggregates that perform state changes due to incoming integration events? (I am unsure if this is conceptually correct.)
How would we deal with incoming integration events in this case? In order to be able to replay events later, it seems to me, that the incoming events need to be enqueued into the event store along with the internal domain events, because only then we are able to preserve their exact order of processing relative to the internal events.
So in this case we had some process receiving incoming integration events. First, it sticks them into the event store (while dropping repeatedly delivered events). Then it hands them over to synchronous event processing (but not asynchronous forwarding). Finally, it acknowledges the reception to the event broker.
Does this sound valid or is there a better pattern? I am thankful for every comment.

Hi @alibabashack
Before trying to answer your question, I want to make sure I fully understand it. Could you please provide an abstract example of the domain you describing? I can extend the repo to have a section dedicated to this example.

Okay, it might feel a bit staged, but let's amend your example with an additional service called Driver Work Time Tracking. Among other things, this service is also used by drivers to call in sick. The service has a command callInSickForToday(driverId).
And there is a new business rule:

Given a driver has accepted an order and given the order is not completed yet, when this driver is reported absent, then the order is canceled.

Let's assume we want to implement this using the event choreography approach. Hence, there is no direct command from the Driver Work Time Tracking, but instead DriverAbsent(driverId) integration events are emitted towards the Order service using some kind of message broker.
My question are:

What happens in the Order service when a DriverAbsent event is received in order to potentially cancel orders (and how do we receive it).
How is event replay working at a later stage and which events will be replayed to restore the state?

Meanwhile, I understood that an aggregate is not allowed to change state by accepting events directly (neither internal domain events, nor integration events). An aggregate only acts upon commands. Events being emitted is the result of a command, only.
Hence, the incoming integration event DriverAbsent is not stored in the event store. It is rather transformed by Something* into a command towards the Order aggregate. In case this command execution results in a state change, only then an OrderCanceledEvent will be emitted. And this is sufficient to restore the state in case of a replay. Correct?

What is this Something called? If it is a complex thing it seems to be called Saga, but what do we call this simple thing that can't fail, here?

@alibabashack, sorry for the late answer.

Events being emitted is the result of a command, only.
Hence, the incoming integration event DriverAbsent is not stored in the event store. It is rather transformed by Something* into a command towards the Order aggregate. In case this command execution results in a state change, only then an OrderCanceledEvent will be emitted.

Correct.

What is this Something called?

Call it Integration Event Listener. In my example OrderCancel command is issued by the REST controller: https://github.com/eugene-khyst/postgresql-event-sourcing/blob/main/event-sourcing-app/src/main/java/com/example/eventsourcing/controller/OrdersController.java#L66.
You can implement Kafka listener, RabbitMQ listener, Amazon SNS listener, that will listen for your integration events and issue the corresponding commands. The implementation of the listener will be similar to the OrdersController.


Calculate path curvature only once

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
Path curvature is an important information when planning and generating control commands.
Currently, this curvature is calculated in multiple different nodes, sometimes using different methods.
This task aims at calculating the curvature only once.
Purpose
Calculating the curvature only once will help avoid errors and will ensure all nodes use the same reference curvature in their calculations.
Possible approaches

Add a curvature field to the TrajectoryPoint message (https://github.com/tier4/autoware_auto_msgs/blob/tier4/main/autoware_auto_planning_msgs/msg/TrajectoryPoint.idl).
Add a recommended way to calculate curvatures in the documentation.

We may want to add common functions for curvature calculation and interpolation.

Add curvature calculation in the obstacle_avoidance_planner to populate the curvatures of the output Trajectory message.
Update the motion_velocity_smoother and the controllers to directly use the curvature of the Trajectory message.

Definition of done

[ ] Add a curvature field to the TrajectoryPoint message (https://github.com/tier4/autoware_auto_msgs/blob/tier4/main/autoware_auto_planning_msgs/msg/TrajectoryPoint.idl).
[ ] Add a recommended way to calculate curvatures in the documentation.
[ ] Add curvature calculation in the obstacle_avoidance_planner to populate the curvatures of the output Trajectory message.
[ ] Update the motion_velocity_smoother and the controllers to directly use the curvature of the Trajectory message.

@maxime-clem @brkay54 @boyali
Thank you for raising a nice discussion.
Currently curvature is calculated in several packages independently. The reason is as follows
First, the method of curvature calculation differs depending on the application of each module.
For example, motion_velocity_smother calculates the lateral acceleration from the curvature and do deceleration planning to prevent large lateral acceleration.
However, the motion_velocity_smoother is not interested in an exact curvature.
Say, in a long straight line, if there is very small noise at the path points due to calculation errors or insufficient algorithm performance, the exact curvature will be a very large value in a small interval. The motion_velocity_smother is not interested in such exact curvature. The motion_velocity_smoother is more interested in how much the path bends at roughly wheel_base intervals, so what the module needs is not exact curvature, but something like a curvature that is convenient for "deceleration on curve" planning.
On the other hand, the obstacle_avoidance_planner has a role to smooth the path. Such a module would require accurate curvature calculations since the smoothing is done with even very small curvature noises in mind.
Second, the curvature is redundant information since it can be recalculated from path shape (not perfectly, but enough accurate in practice).
This is a background for the current implementation. But this is defined more than 2 years ago, and we can discuss a new approach for the curvature calculation.
IMO, it is nice to have curvature information in trajectory if we can solve the first point.

At least, there are several methods proposed for curvature calculation, some of them are more accurate then the current implementation. I hope these methods are implemented in utility library (such as tier4_autoware_utils and available for all nodes.

The B-spline library was previously a part of the nonlinear model predictive control package.  I based these libraries mainly on fast matrix computations and some numpy-like matrix concatenation functions. I tried to write helper functions by combining Numpy and Matlab-like semantics.
After starting to work on the Autoware control toolbox, I used the same helper functions in the body of control functions. If we put BSplines in autoware_util, there will be duplicate helper functions. Separating them would probably require redesign.
Here is a list of what is in these libraries:
BSpline library: (based on the books The Elements of Statistical Learning Chapter 5 Semiparametric Regression David Ruppert )

Smoothing BSplines that can smooth any given path with a chosen smoothing parameter,
Interpolating BSpline that does not smooth but interpolates.
Pre-conditioned conjugate gradient-based cubic, or linear spline interpolator (exactly same as the Autoware version but uses Eigen matrix and vectors).
Templated BSpline smoother, which is a template version of BSpline smoother. It uses a pre-determined Eigen matrix instead of dynamic versions to make the computations faster. It computes a coefficient matrix only once and uses the same matrix to smooth and interpolate the paths or curves.

** helper : act_utils**

std::vector and scalar multiplication template
absolute_difference for non-negative variables
wrapToPi --> Matlab like using an exponential of complex numbers
print_container variadic template that prints any std::vector and array
Eigen matrix print variadic templates.
Eigen matrix vstack, hstack methods
Eigen matrix block_diag --> Matlab method,
Strip leading zeros from a standard vector (for transfer functions)
Join std vectors,
Zero padding std vectors,
Floating number comparison templates (isEqual, >0, <0)
Cross product helper for curvature computations,
Curvature method that uses differential geometric definitions,
Eigen sparse triplet helper that converts a dense matrix to sparse by using triplet construction,
Cholesky update for backstitution-based fast least-square solution.

Autoware Control Toolbox

Transfer function classes, that can be multiplied, summed, or taken the power of.
State-space classes that can be constructed from the transfer function with Bilinear discretization and matrix balancing algorithms.
Signal builders that generate triangular, square, and sinusoidal signals for testing purposes.


Fix Firefox Pane Resizing

Added a state to Show.js to track when the panes are being resized and passed said state to Preview.js as a prop. There I used state changes to toggle whether pointer events are set to auto or none. Seems like this was the easiest way to get Firefox to resize the panes the way Chrome does when the mouse moves over an iframe.
Thought about using the propagateDimensions, renderOnResize, and renderOnResizeRate properties like with the editor here, but was unsure if that would cause the whole Preview component, including whatever is in the iframe, to be re-rendered, rather than just toggling the class. Similarly, I might try to go back and use the props method used here to rework the way the editor is resized if performance with lots of code might become an issue.
Removed the overflow: hidden declaration from the .react-monaco-deditor-container block to fix a bug with resizing the editor / output in Firefox. Seems like there's a longstanding bug with mouse events between two sections of the page where one has the overflow: hidden rule.
Also did some cleanup by removing a console.log line from Output.js that I forgot to delete in the last PR.
Closes #97.

Awesome! Works like a charm!
Thank you @scissorsneedfoodtoo :+1:

@Bouncey, great! I'm glad it works. It was a good learning experience for me.
Thank you for the review and merge!


Update Set-User.md

https://github.com/MicrosoftDocs/office-docs-powershell/issues/3844
I have tested and get the same behavior using "Set-User  -PostalCode 12345 -Whatif".

Docs Build status updates of commit 2d92bd0:
:clock10: Full build: the average full build time is 11 min(s) 52 sec(s), this is based on the last 920 build(s) for this repository.

Docs Build status updates of commit 2d92bd0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/users-and-groups/Set-User.md
:white_check_mark:Succeeded
View (exchange-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 444a254:
:clock10: Full build: the average full build time is 11 min(s) 52 sec(s), this is based on the last 924 build(s) for this repository.

Docs Build status updates of commit 444a254:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/users-and-groups/Set-User.md
:white_check_mark:Succeeded
View (exchange-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 37afcc3:
:clock10: Full build: the average full build time is 11 min(s) 51 sec(s), this is based on the last 932 build(s) for this repository.

Docs Build status updates of commit 37afcc3:
:warning: Validation status: warnings

File
Status
Preview URL
Details

officewebapps/docs-conceptual/index.md
:warning:Warning
View (officewebapps-ps)
Details

officewebapps/docs-conceptual/intro.md
:warning:Warning
View (officewebapps-ps)
Details

sharepoint/docs-conceptual/sharepoint-online/introduction-sharepoint-online-management-shell.md
:warning:Warning
View (sharepoint-ps)
Details

sharepoint/docs-conceptual/sharepoint-online/connect-sharepoint-online.md
:warning:Warning
View (sharepoint-ps)
Details

skype/docs-conceptual/index.md
:warning:Warning
View (skype-ps)
Details

skype/docs-conceptual/intro.md
:warning:Warning
View (skype-ps)
Details

teams/docs-conceptual/intro.md
:warning:Warning
View (teams-ps)
Details

exchange/exchange-ps/exchange/users-and-groups/Set-User.md
:white_check_mark:Succeeded
View (exchange-ps)

officewebapps/docs-conceptual/index.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

officewebapps/docs-conceptual/intro.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

sharepoint/docs-conceptual/sharepoint-online/introduction-sharepoint-online-management-shell.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

sharepoint/docs-conceptual/sharepoint-online/connect-sharepoint-online.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

skype/docs-conceptual/index.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

skype/docs-conceptual/intro.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

teams/docs-conceptual/intro.md

[Warning] Missing attribute: title. Add a title string to show in search engine results.

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 b11cdee:
:clock10: Full build: the average full build time is 11 min(s) 51 sec(s), this is based on the last 944 build(s) for this repository.

Docs Build status updates of commit b11cdee:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/users-and-groups/Set-User.md
:white_check_mark:Succeeded
View (exchange-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.


Messaging and Notifications

Notifications System:
Event Notifications:
Notify players about upcoming missions, events, or server updates through in-game pop-ups, emails, or push notifications. Allow users to opt-in or customize notification preferences.
Achievement Unlocks and Progress:
Send notifications when players achieve specific milestones, unlock achievements, or progress to higher levels within the game.
New Content or Mod Releases:
Inform users about new content additions, mod releases, or updates through notifications, encouraging them to explore and engage with the latest features.
Social Interactions:
Notify users about friend requests, new followers, or interactions with their profiles to encourage social engagement within the community.
Feedback and Community Engagement:
Encourage users to participate by notifying them about ongoing surveys, polls, or discussions where their input is valuable for community decisions.
Maintenance and Downtime Alerts:
Notify users in advance about scheduled server maintenance, downtime, or updates to manage user expectations and avoid disruptions.
Customizable Notification Settings:
Provide users with options to customize their notification preferences, allowing them to control the frequency and types of notifications they receive.
Notification Center:
Create a centralized notification center where users can view and manage all their notifications, ensuring they don’t miss important updates.
Messaging System:
Emojis and Reactions:
Incorporate emojis or reaction features to allow users to express emotions or reactions in conversations, enhancing interaction and engagement.
Message History and Search:
Provide a message history and search functionality, allowing users to access past conversations and search for specific topics or keywords.
Notification of Mentions and Replies:
Notify users when they are mentioned in chat or when someone replies to their messages. This encourages engagement and helps users stay updated on relevant conversations.
Message Moderation:
Implement moderation tools to allow administrators or moderators to manage and moderate conversations, ensuring compliance with community guidelines and minimizing disruptive behavior.
Real-Time Messaging:
Implement a real-time messaging platform or chat system that allows players to communicate with each other during gameplay, fostering teamwork and coordination.
Channels and Rooms:
Organize chat channels or rooms based on different topics (general chat, mission-specific chat, mod discussions) to keep conversations organized and relevant.

 Messaging and Notifications

[ ] Notifications System


[bug] [undefined behaviour] Use of mem::uninitialized()

Seems to occur in crossbeam-epoch.
Full MIRI output is here: https://github.com/xacrimon/dashmap/runs/433047062.

https://github.com/crossbeam-rs/crossbeam/pull/458 should probably fix this.

With https://github.com/rust-lang/rust/pull/66059, this UB leads to a segfault. It would be great to get a fixed version of crossbeam-epoch released.

@RalfJung according to @cynecx this should be fixed on master now. Care to try again?

Yes it is fixed on master.

Alright. I will keep this issue open until a release is made.


Use LSP Nuget

There is an LSP Nuget that defines protocol classes.
https://www.nuget.org/packages/Microsoft.VisualStudio.LanguageServer.Protocol/
https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.languageserver.protocol.diagnostic?view=visualstudiosdk-2019
Can we use this instead of defining our own?
https://github.com/microsoft/Power-Fx/tree/main/src/libraries/Microsoft.PowerFx.LanguageServerProtocol/Protocol
See also #750, #660

I am fixing by taking dependency of Microsoft.VisualStudio.LanguageServer.Protocol package.

We use PowerFX in the WebAssembly and adding additional dependency will increase our package size that is already quite big. Ideally, we would like to avoid it. Newtonsoft dll has size of 257 KB. I doubt we will be able to avoid loading this library. Can we modify Microsoft.VisualStudio.LanguageServer.Protocol to remove the dependency on Newtonsoft?


fix: update golangci-lint setting

Suggestion to add:

mnd

@andy89923 Suggested gomnd settings:
  gomnd:
    # !important in golangci-lint v1.58.0, gomnd is replaced by mnd
    # List of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description.
    # Default: ["argument", "case", "condition", "operation", "return", "assign"]
    checks:
      - argument
      - case
      - condition
      - operation
      - return
      - assign
    # List of numbers to exclude from analysis.
    # The numbers should be written as string.
    # Values always ignored: "1", "1.0", "0" and "0.0"
    # Default: []
    ignored-numbers:
    # List of file patterns to exclude from analysis.
    # Values always ignored: `.+_test.go`
    # Default: []
    ignored-files:
    # List of function patterns to exclude from analysis.
    # Following functions are always ignored: `time.Date`,
    # `strconv.FormatInt`, `strconv.FormatUint`, `strconv.FormatFloat`,
    # `strconv.ParseInt`, `strconv.ParseUint`, `strconv.ParseFloat`.
    # Default: []
    ignored-functions:
      - 'os\.Mkdir'
      - 'os\.MkdirAll'
      - '^math\.'
      - '^http\.StatusText$'


b Report on the actual CI Infrastructure

Updated 5b on the drive with justification of CI tool and describes the current infrastructure and configuration used for the current CI (updated with code quality check). Needs trimming and review @YumisZyutyu . Keep in mind this doc will be updated in parallel with the any changes made to the actual CI implementation. Moving on to review

Updated CI infrastructure under implementation issue #15
Need to update 5b documentation accordingly

Updated 5b documentation with explanation of updated and additional workflows

27/04/22 Comments added and grammar mistakes corrected. Awaiting for the comments to be resolved by Ayman if he thinks necessary.
The major problem with the file is its readability, as it seems hard to read a couple of the paragraphs. Some references to the code will be useful to have to help readability.
The rest of the file is well written and nearly ready for submission.

Updated 5b documentation and resolved most comments. Restructured the paragraphs to be more coherent and concise.
Awaiting review by @YumisZyutyu
Unable to find a better way to refer to the code than just referring to them in bold. Might add line numbers but already filled up the page limit sadly.
The 2nd page of the document has justifications which will be useful for 5a assigned to Yumis


Composed Datasources

This looks like a great tool, but I am wondering if there is a way to handle composed datasources (i.e. a dataSource made up of other datasSources, each representing, perhaps, a section)?

Any thoughts on this?

@mommyme This is definitely something that can be done, but is not supported directly in PJFDataSource today.
The original inspiration for this project, Apple's Advanced Collection View sample code, actually has composed data sources like you're describing. When implementing PJFDataSource I intentionally omitted composed data sources in favor of simplicity.
I'm curious about your use case. You can of course have multiple table view sections in a single PJFDataSource today. But, I'm guessing that you want to load your sections from different backend endpoints, each with its own PJFDataSource?

I have a different datasource for each Entity type, where I customize the cells for that Entity, have a NSFetchedResultsController as my 'items' source, etc. There are a couple cases - for instance my 'Setup Data' controller, where I used a composed datasource. Each 'section' has its own datasource with its own NSFetchedResultsController which manages that adding and deleting of cell rows. Right now I am using Advanced Collection View code, but since I had to alter it for a NSFetchedResultsController datasource (and I am probably not the best programmer), this code feels so unwieldy to me. Does your code handle a datasource that uses a NSFetchedResultsController? I looked but didn't see an example of that. Also, do you have a better way to approach the 'Setup Data' scenario I described above using your PJFDataSource? I really need some code that works well (I feel like I am having threading issues  using the Advanced Collection View code) and is simple enough for me to understand, yet can also handle NSFetchedResultsController dataSources and has a way I can 'compose' things without too much difficulty. Even if I end up using simple Array DataSources for the Setup Data controller, I still need NSFetchedResultsController sources for my main controllers (which use only one datasource each). I would appreciate any thoughts you have on this because I am REALLY ready to ditch Advanced Collection View and I would love if PJFDataSource was a viable option for me. Thanks in advance. Jen

Sorry, it was probably too much of a question. I am trying to focus on seeing if I can use PJFDataSource with a NSFetchedResultsController right now.


ACME doesn't allow creation of a new client then crashes

Sometimes I start a cluster but then the time runs out for the slurm cue and the workers are killed. If I then try and start a new cluster e.g.:
acme.esi_cluster_setup(partition="8GBXS", n_workers=10, n_workers_startup=2, timeout=10, interactive_wait=1)
I get a message like this:
Syncopy <ACME: esi_cluster_setup> Found existing parallel computing client <Client: 'tcp://<IP_ADDRESS>:40905' processes=0 threads=0, memory=0 B>. Not starting new cluster.

However then I try to use pmap with this client and it crashes:
RuntimeError: <ACMEdaemon> no active workers found in distributed computing cluster <Client: 'tcp://<IP_ADDRESS>:40905' processes=0 threads=0, memory=0 B> Consider running
	import dask.distributed as dd; dd.get_client().restart()
If this fails to make workers come online, please use
	import acme; acme.cluster_cleanup()
to shut down any defunct distributed computing clients

Could the 0 active workers be detected and the empty client automatically cleaned up and replaced with the new one or similar? It's not a big deal though, I can easily work around it.

Fixed by #48


Conda Install Error

For anyone else running into this conda environment error.
In this step of the env install process:
3. # conda install conda/environment.yml
I was getting an error. I am new to conda env so it may just be a beginners mistake. But I came across this stackoverflow solution for my problem:
https://stackoverflow.com/questions/47214438/errors-when-creating-conda-environment-on-osx
The short answer is your command should look like this:
conda env create -f conda/environment.yml
This is the error I was getting:
PackagesNotFoundError: The following packages are not available from current channels:

  - conda/environment.yml

Current channels:

  - https://repo.continuum.io/pkgs/main/osx-64
  - https://repo.continuum.io/pkgs/main/noarch
  - https://repo.continuum.io/pkgs/free/osx-64
  - https://repo.continuum.io/pkgs/free/noarch
  - https://repo.continuum.io/pkgs/r/osx-64
  - https://repo.continuum.io/pkgs/r/noarch
  - https://repo.continuum.io/pkgs/pro/osx-64
  - https://repo.continuum.io/pkgs/pro/noarch

Thank you for the detailed report and fix. README has been corrected.


Easy sharing experience

A big advantage of non-destructive tooling is making it much easier for modifications to be shared, without breaking licensing terms of avatars, because we never share modified meshes.
So make it possible for people to share pre-made MMD blend shape mappings with others.
Preliminary thoughts: Allow the script to be attached to any GameObject under the avatar. In the NDMF pass, ensure only one object exists, then read all data from it.
This way you could share the GameObject as a unitypackage. This would be easy for people more familiar with Unity.
But it shouldn't be difficult to also add some sort of serialization/deserialization logic to make it even easier to share mappings

Allow the script to be attached to any GameObject under the avatar. In the NDMF pass, ensure only one object exists, then read all data from it.

Done in a9e7d8b41160e64492da835e09b6bf814290e632

This way you could share the GameObject as a unitypackage. This would be easy for people more familiar with Unity.

Done in 2fad73e202c3da750097608357c8a8085e473fa5

But it shouldn't be difficult to also add some sort of serialization/deserialization logic to make it even easier to share mappings

This can be added later