Replace PVC in use check with VA and pods using PVC check

Current check to ensure PVC is not in use, specifically when
VRG is moved to Secondary for relocation, relied on the PVC
in use finalizer. This finalizer is removed earlier than the
backing PV being unmounted/unmapped from a node. As a result
in relocation cases this can cause data corruption as cached
data maybe written post demoting the volume to Secondary.
Instead of this the current code reuses the volsync method to,

Ensure there are no pods referencing the PVC
Ensure there are no pending VolumeAttachments for the PV

The above is checked post PVC deletion, which results in no
further possibility for the PVC to be actively used before
demotion. Which hence avoids the potential corruption.

TODO list:

[ ] e2e with the above changes

NOTE: Current envtests have no tests for VRG as secondary, hence mocking the results is not yet done for the same.

e2e is completed. As we do not watch for VA or pods using PVC, if we "wait" for such a state the reconcile would get into an exponential backoff. We already have a minute as the maxDelay, but noting this behavior nevertheless.


Feat: Add crudWs - Websocket API requests

This is a PR to implement Binance Websocket API requests
To do list:

[ ] Docs: Can I use references to client docs or should I create new ones
[ ] Decide approach. Should we keep async or a sync approach in the binanceSocketManager?
[ ] Depending on approach, edit threadedApiManager, either to support async functions or fix current race condition

Aproach 1: Async function (In the code I followed functions except get_symbol_ticker):

It gives the user more freedom , and I believe it's more correct
It does not follow current sync pattern
Would require a bit more change to make the ThreadedApiSocketManager work

Approach 2: Sync Function (You can use get_symbol_ticket)

Follows current pattern
ThreadedApiManager works out of the box
Con: there is a race condition that needs to be solved, but I think I could find a solution there. Currently put a time.sleep(1) for illustration and to solve

Code to test approach BinanceSocketManager
import os
import sys
import asyncio

root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(root)

from binance import AsyncClient, BinanceSocketManager

api_key = "" # your api_key here
api_secret = ""  # your secret here

async def main():
    client = await AsyncClient.create(api_key, api_secret, testnet=True)
    bm = BinanceSocketManager(client)
    # start any sockets here, i.e a trade socket
    # ts = await bm.create_order(
    #     symbol="LTCUSDT",
    #     side="BUY",
    #     type="LIMIT",
    #     price=75,
    #     quantity=1)
    # ts = await bm.create_order(
    #     symbol="LTCUSDTT"
    # )

    ts = bm.get_symbol_ticker(symbol="LTCUSDT")

    async with ts as tscm:
        while True:
            res = await tscm.recv()
            print(res)

    await client.close_connection()

if __name__ == "__main__":

    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Code to test approach ThreadWebsocketManager (only works with get_symbol_ticker)
import os
import sys
import asyncio
import time

root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(root)

from binance.streams import ThreadedWebsocketManager
from binance import AsyncClient, BinanceSocketManager

api_key = "" # your api_key here
api_secret = ""  # your secret here

def main():

    symbol = 'BNBBTC'

    twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret, testnet=True)
    # start is required to initialise its internal loop
    twm.start()

    def handle_socket_message(msg):
        print(msg)

    twm.get_symbol_ticker(
        callback=handle_socket_message,
        symbol=symbol,
    )

    twm.join()

if __name__ == "__main__":
   main()

coverage: 57.015% (-0.9%) from 57.892%
when pulling 7267b548d039d148f32ec0c6f876f6f5f25bb06b on pcriadoperez:crudWs
into bc74c57dcd1e5b811ae1ccd5f24b8bbbdc46c278 on sammchardy:master.


[FEAT] command websnapper:roles

command to setup roles that are required for the site
like client and admin

there is no need to make websnapper:roles command
just need to make RoleSeeder for it.


remove tvl from footr

Fixes #1595

We should keep the tooltip, but only the part that it’s counted on-chain. Otherwise we create this confusion again where asset numbers in footer do not match the search results

good catch


An Ansible Tower "Inventory" is a ManageIQ "InventoryRootGroup"

Related to https://github.com/ManageIQ/manageiq/pull/14691

Fine backport details:
$ git log -1
commit c752a84a84df355c75a614369ae1707fef61521b
Author: Jason Frey<EMAIL_ADDRESS>Date:   Mon Apr 10 16:50:25 2017 -0400

    Merge pull request #14716 from bdunne/fix_embedded_ansible_inventory_inheritence

    An Ansible Tower "Inventory" is a ManageIQ "InventoryRootGroup"
    (cherry picked from commit feb614e342c44450e251edf5d22db3444a622aa5)


chore: Cortex Docs should be updated with Docs and API Endpoints

Goal

Cortex Docs and README should be up-to-date with latest changes
Goal: by end-Monday, Cortex Docs are good enough to
Goal: epics start with Docs first, and then once approved coding can start

I would like the full team to understand how the OpenAPI format works, to enable us to handle documentation scalably.
Docs Site
Overall

[ ] Create Redirects for Docusaurus @hiento09
[ ] Are we able to split up OpenAPI file into smaller parts? (e.g. by route)

Get Started
Basic Usage

[ ] Combine Basic Usage and API Server @gabrielle-ong

Architecture

[ ] Cortex Data Folder @hiento09
[ ] cortex.db @vansangpfiev
[ ] .cortexrc @vansangpfiev

[ ] e.g. What fields are in .cortexrc

[ ] Updater @vansangpfiev

[ ] e.g. how Updater works

Capabilities
We should talk about capabilities, and link to the appropriate API References.

[ ] Pulling Models @gabrielle-ong

[ ] Model Formats (i.e. our Cortex Model repo format), or Huggingface GGUF repo

[ ] Running Models @nguyenhoangthuan99

[ ] Should explain runtime params vs. model.yaml
[ ] Should explain Models use Engines

[ ] Engine Management @namchuai

[ ] Should give high-level overview of Engine Management, e.g. different types, Versions, Variants
[ ] llama.cpp (should give instructions on how to install, update, change versions/variants, explain AVX2, AVX-512 etc)
[ ] Building Engine Extensions (should give instructions on EngineI.h)

[ ] Hardware Awareness @vansangpfiev
[ ] Text Generation
[ ] Embeddings

Guides

[ ] Function Calling @nguyenhoangthuan99
[ ] Structured Outputs @nguyenhoangthuan99

API Reference
Chat
Assignee: @nguyenhoangthuan99
API Reference

[ ] /chat/completions

Pulling Models
Assignee: @namchuai
API Reference

[ ] Pull a Model
[ ] Stop Model Download
[ ] Import Model

Running Models
Assignee: @vansangpfiev
API Reference

[ ] List Models
[ ] Start Models
[ ] Stop Model
[ ] Get Model
[ ] Delete model
[ ] Update model

Engines
Assignee: @namchuai
API Reference

[ ] List available engines
[ ] Get an engine
[ ] Install an engine
[ ] Uninstall an engine

Server
Assignee: @vansangpfiev
Docs

Basic Usage

API Reference

[ ] Start, Stop
[ ] Update
[ ] Terminate
[ ] Check health

Hardware
Assignee: @vansangpfiev (write Docs before implementing, keep in PR)
Docs

Hardware Awareness section

API Reference

Hardware APIs

Leftover chores from #1575 - @gabrielle-ong

[ ] CLI commands - remove nightly, beta commands
[ ] Advanced Installation

[ ] Network vs Local Installer (in Advanced Installation)
[ ] Docker command
[ ] linux binary links

[ ] Github readme - add Linux binary

Redirect Instruction:

Create a file docs/_redirects.
Add a redirect using the following syntax: source_path destination_path code, for example, /team /about/team 302. This means https://cortex.so/team will redirect to https://cortex.so/about/team.

Refer to:

https://github.com/janhq/jan/blob/dev/docs/_redirects
https://developers.cloudflare.com/pages/configuration/redirects/

cc @janhq/cortex @dan-homebrew @gabrielle-ong

For Server API endpoints, we only have

Terminate  (Stop)
Check health
We don't have Start and Update endpoints. CLI is taking the responsibility for updating.


Add a settings page

Add a settings option in the navigation drawer

The page should have the following options for now:

Change password

An option to allow user to enter old password, new password & confirm password.
Endpoint to use : https://github.com/project-travel-mate/server/issues/52

Notification settings

This should be a textbox with text Show my read notifications. It's value should be saved in shared preferences. If it's true, then the notifications screen should work as is. But, if this is false, hide the read notifications from the notifications page

API for changing pwd is not ready yet, right?

Yeah. It's not ready yet.

I'll take this up


[SPARK-47800][SQL] Create new method for identifier to tableIdentifier conversion

Introducing new method for converting catalog identifier (since Spark 3.0.0, newer API) to table identifier (older API)
Why are the changes needed?
Code is cleaner and DataSourceV2Strategy is not responsible for conversion. New method can be reused also.
Conversion is a little bit improved also (schema is not required anymore, it can miss)
Does this PR introduce any user-facing change?
No
How was this patch tested?
No test made, since it is minor refactoring
Was this patch authored or co-authored using generative AI tooling?
No

thanks, merging to master!


Corporate Console PRD Step 2 of Table 1 - No signed CLA found

Summary
Any user associated with a company will be taken to this page after they switch to member console, select project from left navigation and EasyCLA from top navigation.
Here is the link to wireframe for the corporate console for EasyCLA.
Step 2 in Table 1 of PRD
https://confluence.linuxfoundation.org/display/PROD/Corporate+Console+for+EasyCLA+V2

All the backend operations will be encapsulated in EasyCLA API call. See PRD for more details.
Acceptance Criteria

[ ] Design Changes Required ?--> Not Applicable (N/A)
[ ] Unit Testing Complete

[ ] Unit Testing complete for backend API
[ ] Unit Testing complete for UI

[ ] Functional Testing Complete

[ ] Functional Testing complete for backend API
[ ] Functional Testing complete for UI

[ ] Integration Testing Complete

[ ] Integration Testing complete for backend API and UI
[ ] Integration Testing complete end to end dev deployment

[ ] Documentation Updated
[ ] Any Open Sev. 1, Sev 2 bug(s)

As discussed with Harold/David, this API is available on Dev env & Harold has tested the happy scenarios & are working fine. May be when Nirupama confirms the happy scenarios tomorrow, Harold   will update lfx team on slack channel that the API is ready for integration.

Performed testing for happy path and happy path is working as expected. Testing is Inprogress for other scenarios
User with user role is converted to contact and cla-manager-designee role is added to the user after the post action is successful
Test Data used
Role user
Scope (organization)
Bakbone
Endpoint
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/company/0014100000Te1DWAAZ/project/a092M00001IfTjXQAV/cla-manager-designee
Payload
{
"userEmail"<EMAIL_ADDRESS>}
Response
{
"assigned_on": "2020-06-03 16:24:51.432396239 +0000 UTC m=+659.073242205",
"company_sfid": "0014100000Te1DWAAZ",
"email"<EMAIL_ADDRESS>"lf_username": "nirupamavmentee7",
"project_name": "SPIRE",
"project_sfid": "a092M00001IfTjXQAV",
"type": "contact",
"user_sfid": "00317000012PRhUAAW"
}
IAM roles before post action

IAM roles after post action

LFx team can use this API now for integration.

while trying this api it's returning 403 without error message this is sample request
Request:
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/company/00117000013lmNGAAY/project/a0941000002wByYAAU/cla-manager-designee
Payload:
{
"userEmail"<EMAIL_ADDRESS>}

User Roles:

@pranab-bajpai
User reaches to this step after clicking on Start the CLA process in Table 1, Step 1 of the PRD. As per Step1 below is the requirement for userrole

This screen is shown when user browses to a EasyCLA screen for a project and two conditions are met.
There is no CLA signed for that project by user's organization.
User has access to this project since their organization contributes to this project or is associated with this project in some way.

But observed that as of now only user below role and scope is able to get the cla-manager-designee role assigned
Role - user
scope - Organization
Could you please confirm which roles should have access to this API to get cla-manager-designee role

this endpoint keep returning 403 error
Request:
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/company/00117000013lmNGAAY/project/a092M00001IV45CQAT/cla-manager-designee
Payload:
{
"userEmail"<EMAIL_ADDRESS>}

User Roles:

@omneya  So organization scope is amiss on this call and has to be set . We can sync and discuss further

@omneya @dealako The permission was missing. We have added it. Can you please try in few mins?

it's working now, thanks

👍

@wanyaland
Tested and observed below issues

A user with cla-manager role has scope Thanos|Bakbone. Now the same user is trying to start the CLA signing process for different project for e.g. KubeEdge. Observed that 403 is returned
When the company Bakbone has signed CLA for Thanos and If a user is cla-manager to Thanos project then the same user should also be able to sign CLA for a project that the company has not yet signed CLA
Observed same issue with cla-signatory role as well
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/company/0014100000Te1DWAAZ/project/a092M00001IfTjOQAV/cla-manager-designee

2. Observed that we are able to assign the cla-manager-designee to the user who is associated to the project|organization and also when the project already has signed CLA
I understand that this scenario might not occur when we go through workflow from UI, only case the issue may occur is when endpoint is called in a wrong place. The endpoint should not actually allow to assign cla-manager-designee when cla is already signed for the project. Not sure if this valid scenario but mentioned the issue for tracking purpose

Moved to next sprint.

@nirupamav
For issue 1 the user has to have project|prg scope and if they dont happen to have that role they will not be authorized. Basing on your example youd stated if the user doesnt have project|org scope for KubeEdge|Bakbone they will not be authorized . Needed clarification on the second issue

From @nirupamav
| 1. A user with cla-manager role has scope Thanos|Bakbone. Now the same user is trying to start the CLA signing process for a different project for e.g. KubeEdge. Observed that 403 is returned
When the company Bakbone has signed CLA for Thanos and If a user is cla-manager to Thanos project then the same user should also be able to sign CLA for a project that the company has not yet signed CLA

Thanos Project | Bakbone Org -> Start/Complete CLA Flow -> OK
KubeDege Project | Bakbone Org -> User can only Start CLA Flow IF no CCLA is created, otherwise, they ask the existing CLA Manager (via separate email) to add him as a manager?

@pranab-bajpai
Testing completed. There is one open bug #1368 where we are able to assign cla-manager-designee role to a project which has already signed CLA. Since this cannot happen from UI, this is not a blocked and hence moving the user story to QA Done
Could you please review the test plan and let me know if I missed any scenarios
https://confluence.linuxfoundation.org/display/PROD/Assign+cla-manager-designee+role


Unable to Write and read in plugin BLE

I need to get the correct characteristic to read and write in Bluetooth device but among two characteristics, Unable to read the values from read characteristic. Correct me if I'm wrong in code
Code:
characteristic property type-->write/write response
characteristic property type-> indicate
        var services = await connectedDevice.GetServicesAsync();
        var serviceid = services[0].Id;
        var service = await connectedDevice.GetServiceAsync(serviceid);
        var characteristics = await service.GetCharacteristicsAsync();
        var characteristicread= await service.GetCharacteristicAsync(characteristics[1].Id);
        var characteristicWrite = await service.GetCharacteristicAsync(characteristics[0].Id);
        byte[] bytes = Encoding.ASCII.GetBytes("LIST_DIR,audio");
        await characteristicWrite.WriteAsync(bytes);

        characteristicread.ValueUpdated += (s, ee) =>
            {
                var result = ee.Characteristic.Value;
                var stre = System.Text.Encoding.UTF8.GetString(result, 0, result.Length);
               //i can't able read charecterstic
            };
            await characteristicread.StartUpdatesAsync();

Steps to reproduce
1.copy the above code and run it in iOS device ble
2.unable to read characteristic after write
Expected behavior
after write value in write characteristic value should be updated in read characteristic
Actual behavior
read characteristic value not updated
Configuration
Platform: e.g. iOS 10.1 ,Xamarin.forms IOS
##Exception
Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Client Characteristic Configuration descriptors must be configured using setNotifyValue:forCharacteristic:
While read

Hi @suriyaKalidoss21,
I'm the friendly issue checker.
It seems like (50.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

i have edited the comment

@suriyaKalidoss21  Hello, please do you found the right method to learn and send message? I need it please
Thank's


model: added a patch into passport.js functionality to ensure compatibility with existing encryption hooks

got a meeting with Mo to understand the passport.js authorization behaviour and applied the patch as needed to fix the encryption issue


returning index position instead of returning value

[X] I have searched existing issues
[X] I am using the latest multi slider version

Steps to Reproduce

multiSliderValuesChange = (values) => {
 console.log(values); // output: [0, 10]
}

<MultiSlider values={[6, 24]} onValuesChange={this.multiSliderValuesChange} step={1} />

Expected Behavior

Should return the actual value of the step in onChange method.
Actual Behavior

MultiSlider onChange returning index position instead of returning value.

I think you forgot to read the instructions in the ISSUE_TEMPLATE, can you please provide me with a reproduction example and I will take a look. We use this in our app and its returning the values since we have a age range from 18-65. Have you tried changing your values={[0, 24]} to values={[20, 50]} ?

Actually, I read the ISSUE_TEMPLATE but it was hard for me to extract my slider code from my application. Let me try to reproduce an example.

have a age range from 18-65. Have you tried changing your values={[0, 24]} to values={[20, 50]} ?
No, I haven't. I will check that too.

Please keep this issue opened for some time.

If you can't extract it which has the application code which causes the error imaging how hard it will be for me for even guessing the bug or error :-)

@ptomasroos Here is my code sample https://snack.expo.io/ryqxHQdIX
If you change state value [6, 24] to [3, 7] then you could understand

Thanks! Will check this out now

So you've not added any min + max in this range which causes this most likely to be quite some strange behaviour.
If you add
          step={1}
          min={0}
          max={65}


Connection refused when trying to run a auth example.

After a night of debugging, I am convinced that something is wrong here. I am running the example that tries to get a user's shared tracks:
import sys
import spotipy
import spotipy.util as util

scope = 'user-library-read'

if len(sys.argv) > 1:
    username = sys.argv[1]
else:
    print "Usage: %s username" % (sys.argv[0],)
    sys.exit()

token = util.prompt_for_user_token(username, scope)

if token:
    sp = spotipy.Spotify(auth=token)
    results = sp.current_user_saved_tracks()
    for item in results['items']:
        track = item['track']
        print track['name'] + ' - ' + track['artists'][0]['name']
else:
    print "Can't get token for", username

My callback URL is https://localhost:8888/callback/, when I run the program it quickly redirects me to a URL with a code attached, but when I copy it into the prompt in the program I get an error.
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='accounts.spotify.com', port=443): Max retries exceeded with url: /api/token (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x10b5d8650>: Failed to establish a new connection: [Errno 61] Connection refused',))

I'm not sure what is going on as I directly copied my program ID, the program callback url and my program's secret right into the env variables.
Any help fixing this problem would be appreciated.

Something wrong with the token, are you using a token enabled to get user saved tracks? You must add the right ticks generating the token on Spotify web API website

I'm not sure what you mean, I generated my client ID and my client secret on https://developer.spotify.com/my-applications/#!/applications is this not the right place? Thanks for the response!

I mean you need to add the right scope for the token

Wow, this is almost 2 years old now. Probably a shot in the dark, but did you manage to figure out (and remember) what it was that caused this error? I'm getting the exact same error.

Getting the same error. Seems to happen when there are repeatedly too many connections.

Anyone with a solution? Experiencing the same error

I'm getting this error too sometimes.

Refreshed the access tokens and pasted the new one. It worked for me but it is more of a makeshift solution rather than a permanent one. Also, didn't experience the same issue after having pasted the new tokens.

Refreshed the access tokens and pasted the new one. It worked for me but it is more of a makeshift solution rather than a permanent one. Also, didn't experience the same issue after having pasted the new tokens.

OMG. It also worked for me, but don't know why... 🤦♂

How to refresh it? I'm using flutter and I stuck where it comes from a authentication http request. Just shows localhost:8888/calback/code=...... and net:ERR_CONNECTION_REFUSED


Update cookbook gallery with intake-cookbook

Update cookbook gallery as requested in #74. Closes #74.

Failing because of "Nonetype" tags dictionary in the cookbook's config.py

Change workflow to name PRs with repo name?

Can't have more than one open at a time currently because of using the same branch!

Thanks for catching this. It might be a good idea to add the process of updating the _config.yml file found in the template repository to the contributor's guide. I can try putting together a PR for that.

Oh I just did that! I wanted to add steps to use the new cookbook button, and realized that these steps were missing as well

Sounds great Thanks.


oauth1.signRequest breaks in a certain case

oauth1.signRequest does not properly sign a request if the request was created from Uri.unsafeFromString with a ? at the end of the string. I would get a 401 unauthorized error with the ?.
Passing in a uri with a ? at the end is not super clean because it is not necessary, the ? just means the start of a query, but as is Uri.unsafeFromString didn't give me any problems in the past, it seems like oauth1 should also be able to work with it or users should be encouraged to not include the ? at the end of a uri passed to Uri.unsafeFromString.
I ran the following code and got the following output. Some code was elided.
def program(k: String) = BlazeClientBuilder[IO](scala.concurrent.ExecutionContext.global).resource.use {
        client => for {
            uriClean <- IO(org.http4s.Uri.unsafeFromString("https://ads-api.twitter.com/7/stats/accounts/394302/active_entities")
                                    .withQueryParam("entity", "LINE_ITEM")
                                    .withQueryParam("start_time", "2020-03-10")
                                    .withQueryParam("end_time", "2020-05-10"))
            _   <- IO(println(s"\n\n uriClean = $uriClean \n"))
            _   <- IO(println(s"\n\n uriClean.copy(query = org.http4s.Query.empty, fragment = None).renderString = ${uriClean.copy(query = org.http4s.Query.empty, fragment = None).renderString}"))
            reqClean <- IO(Request[IO](method=org.http4s.Method.GET,
                               uri=uriClean))
            _   <- IO(println(s"""\n\n reqClean.uri = ${reqClean.uri} \n"""))
            _   <- IO(println)
            uriDirty   <- IO(org.http4s.Uri.unsafeFromString("https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?")
                                    .withQueryParam("entity", "LINE_ITEM")
                                    .withQueryParam("start_time", "2020-03-10")
                                    .withQueryParam("end_time", "2020-05-10"))
            _       <- IO(println(s"\n\n uriDirty = $uriDirty \n\n"))
            _   <- IO(println(s"\n\n uriDirty.copy(query = org.http4s.Query.empty, fragment = None).renderString = ${uriDirty.copy(query = org.http4s.Query.empty, fragment = None).renderString}"))
            reqDirty <- IO(Request[IO](method=org.http4s.Method.GET,
                               uri=uriDirty))
            _       <- IO(println(s"\n\n reqDirty.uri = ${reqDirty.uri} \n\n"))

            _       <- IO(println(s"getUserParams(reqClean) = ${getUserParams(reqClean)} \n"))
            _       <- IO(println(s"getUserParams(reqDirty) = ${getUserParams(reqDirty)} \n"))
            _       <- IO(println(s"getUserParams(reqClean)==getUserParams(reqDirty) = ${getUserParams(reqClean)==getUserParams(reqDirty)}\n\n"))

        } yield ()
    }

uriClean = https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?entity=LINE_ITEM&start_time=2020-03-10&end_time=2020-05-10

 uriClean.copy(query = org.http4s.Query.empty, fragment = None).renderString = https://ads-api.twitter.com/7/stats/accounts/394302/active_entities

 reqClean.uri = https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?entity=LINE_ITEM&start_time=2020-03-10&end_time=2020-05-10

 uriDirty = https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?&entity=LINE_ITEM&start_time=2020-03-10&end_time=2020-05-10

 uriDirty.copy(query = org.http4s.Query.empty, fragment = None).renderString = https://ads-api.twitter.com/7/stats/accounts/394302/active_entities

 reqDirty.uri = https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?&entity=LINE_ITEM&start_time=2020-03-10&end_time=2020-05-10

getUserParams(reqClean) = IO((Request(method=GET, uri=https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?entity=LINE_ITEM&start_time=2020-03-10&end_time=2020-05-10, headers=Headers()),Vector((entity,LINE_ITEM), (start_time,2020-03-10), (end_time,2020-05-10))))

getUserParams(reqDirty) = IO((Request(method=GET, uri=https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?&entity=LINE_ITEM&start_time=2020-03-10&end_time=2020-05-10, headers=Headers()),Vector((,), (entity,LINE_ITEM), (start_time,2020-03-10), (end_time,2020-05-10))))

getUserParams(reqClean)==getUserParams(reqDirty) = false

I think the essential difference is this (note: if you import org.http4s.implicits._, you can use this uri syntax instead of the unsafeFromString, and it will validate your URIs at compile time):
scala> uri"https://ads-api.twitter.com/7/stats/accounts/394302/active_entities?".query.toVector
val res20: Vector[(String, Option[String])] = Vector(("",None))

scala> uri"https://ads-api.twitter.com/7/stats/accounts/394302/active_entities".query.toVector
val res21: Vector[(String, Option[String])] = Vector()

Maintaining a distinction on the model lets us distinguish the two URIs.  Even though many APIs don't see a difference, some can.
The surprising behavior comes in when we call withQueryParam.  We keep that dummy value before adding the new value.  That's how we get the ?&, which I think is the source of the pain here.
I think we should have represented the query string as an Option on the Uri, but it's too late to do that for 0.21.  What I think we can do is filter out this dummy empty value when we call withQueryParam, and get a more intuitive behavior.

Oh, ok. I didn't know some APIs see a difference between the two URIs. I thought I was just being sloppy with the hanging ?...?
Thanks for following up.

Thanks for the report!  I think you can work around it by not dangling the '?', but #3520 will fix even that usage.

Fixed by #3520, I think.  Please reopen if it still needs attention.


Ability to attach simple filters via configuration

Hello.
Few days ago I wanted to render a Money/Money instance in a twig template something like below:
<div> {{ customer.balance|money }} </div>

and needed to attach an additional custom filter into TwigEnvironment to achieve this goal. Altering the state of the environment somewhere else after it's creation bugged me a bit then decided to extend the whole factory which sounds also bad:
class MyTwigEnvironmentFactory extends ExpressiveTwigEnvironmentFactory
{
    public function __invoke(ContainerInterface $container): Environment
    {
        $environment = parent::__invoke($container);
        $environment->addFilter( ... );

        return $environment;

My actual filter implementation was so simple:
$filter = new TwigFilter('money', function (Money $money) {
    $currencies = ['EUR' => 2, 'USD' => 2];
    $formatter = new DecimalMoneyFormatter(new CurrencyList($currencies));

    return $formatter->format($money); //
 })

Then I thought that I am literally doing a lot to achieve relatively small task and decided to introduce ability to attach simple filters using configuration.
This PR provides required functionality to attach custom filters into environment instance via configuration like following:
'twig' => [
    'filters' => [
         // user defined filters
         ['name' => 'greet', 'filter' => function($a) { return 'Hello ' . $a; } ],
         ['name' => 'mul', 'filter' => 'Math::multiply', 'options' => ['needs_context' => true] ],
         ['name' => 'money', 'filter' => ['MoneyHelper', 'format'] ],
         ['name' => 'uglify', 'filter' => \Lib\Twig\Filter\Uglify::class ],
     ],
],

I am open to hear opinions of other contributors to improve the implementation further.
Official docs for Twig Filters: https://twig.symfony.com/doc/2.x/advanced.html#filters

Until we review this, there's another way you can accomplish this that doesn't require extension: use a delegator factory on the Twig\Environment service, and add the filters there:
function (ContainerInterface $container, string $serviceName, callable $factory)
{
    $environment = $factory();
    $environment->addFilter(new TwigFilter(
        'money',
        function (Money $money) { /* ... */ }
    ));
    return $environment;
}

Thanks @weierophinney I just switched to delegator factory approach you've suggested and it worked nicely. It feels better than overriding the original factory in application code. But I still could not make sure which approach is more simpler/straightforward for everyone, creating a delegator factory or defining a few configuration options.
In any case documenting the way of introducing new twig filters makes sense since I needed to read whole TwigEnvironmentFactory code to understand and find correct place to inject my filters.
If delegator factories are way to go, I am also okay with ignoring this patch, even if it's working and %100 tested.

I'm not sure if we should add this.
First of all, with anonymous functions you can not cache your config anymore:

['name' => 'greet', 'filter' => function($a) { return 'Hello ' . $a; } ],

Also it's really easy to create a filter or use an existing one: https://github.com/twigphp/cssinliner-extension/blob/master/src/CssInlinerExtension.php
return [
    'dependencies' => [
        'factories' => [
            CssInlinerExtension::class => InvokableFactory::class,
        ],
    ],

    'twig' => [
        // ...
        'extensions'         => [
            CssInlinerExtension::class,
        ],
    ],
];

Another example for a money filter: https://gist.github.com/xtreamwayz/7e54e28338772de765d9d478a6f52318

This repository has been closed and moved to mezzio/mezzio-twigrenderer; a new issue has been opened at https://github.com/mezzio/mezzio-twigrenderer/issues/1.

This repository has been moved to mezzio/mezzio-twigrenderer. If you feel that this patch is still relevant, please re-open against that repository, and reference this issue. To re-open, we suggest the following workflow:

Squash all commits in your branch (git rebase -i origin/{branch})
Make a note of all changed files (`git diff --name-only origin/{branch}...HEAD
Run the laminas/laminas-migration tool on the code.
Clone mezzio/mezzio-twigrenderer to another directory.
Copy the files from the second bullet point to the clone of mezzio/mezzio-twigrenderer.
In your clone of mezzio/mezzio-twigrenderer, commit the files, push to your fork, and open the new PR.
We will be providing tooling via laminas/laminas-migration soon to help  automate the process.


SSR for Slider component does not work

On refreshing the page (using nextjs and react), the slider component is not selectable nor is it aligned correctly.

After making some interactions and changing the state it then becomes selectable and aligns correctly:

I'm assuming that this issue is to do with SSR.
here is my slider component:
<Slider.Root
  className={styles.root}
  defaultValue={[0]}
  value={[value]}
  onValueChange={([value]) => onChange(value)}
  max={max}
>
  <Slider.Track className={styles.track}>
    <Slider.Range className={styles.range} />
  </Slider.Track>
  <Slider.Thumb className={styles.thumb} />
</Slider.Root>

Ah my bad. I was passing in a NaN value for the max parameter. It works now.


flow_server_running is unnecessary and incompatible with external flow commands

I'm going to make a PR for this.
The way this variable is used, if the user started the flow server themselves, this plugin won't run flow status.
But, that's possible without breaking support for options.interfacesPath.  I will demonstrate how in my PR.

I fixed this in https://github.com/diegodurli/flow-status-webpack-plugin/pull/2, though I replaced the interfacesPath option with a flowArgs option, to make it more generic.

Got it @jedwards1211, thanks for your PR! Will merge it!


automation examples for weather and sun don't work (invalid configuration)

Describe the bug
I followed the documentation to create weather and sun automations from HA 0.113.2.  However, the proposed template is invalid.  My automation looks like:
- id: mqtt_day_night
  alias: '[MQTT] Day/Night'
  trigger:
    platform: time_pattern
    minutes: '/30'
  #  condition: []
  action:
    service: mqtt.publish
    data:
      payload_template: {% raw %}"{'sun':'{{states('sun.sun')}}'}"{% endraw %}
      retain: true
      topic: alarmpanel/command

But when I "Check Configuration" if gives me the following error:
 Configuration invalid

                          Error loading /config/configuration.yaml: while scanning for the next token
found character '%' that cannot start any token
  in "/config/my_automations.yaml", line 163, column 26

Where "line 163" is the payload_template.  If I add single quotes around the raw and endraw portions then I get a different error:
 Configuration invalid

                          Error loading /config/configuration.yaml: while parsing a block mapping
  in "/config/my_automations.yaml", line 163, column 7
expected <block end>, but found '<scalar>'
  in "/config/my_automations.yaml", line 163, column 36

If I remove the raw and endraw then the configuration is accepted but I have no way to know if the alarm panel is getting the appropriate data.
To Reproduce
Steps to reproduce the behavior:

Apply automation as above (as documented)
Click on Check Configuration
See error

Expected behavior
I would have expected the example automation to work, or at least not be invalid yaml
Smartphone (please complete the following information):

Device: Amazon Fire 8
OS: current android
Browser [stock browser
Version: HA 0.113.2, alarm_panel <IP_ADDRESS>

Additional context
Nothing, yet.

I can confirm that removing the raw / endraw pieces around the sun works:
      payload_template: "{'sun':'{{states('sun.sun')}}'}"

When I use this payload template I get the following MQTT data:
{'sun':'above_horizon'}

.. which matches what the docs say I should expect.  For the weather, I think we'll need to update the docs once you fix Issue #130.

Yeah, you have to be really careful with quotes and yes, we are moving to a more generic weather implementation similar to what I have used in Voice Panel (which is not defunct because Snips sold out to Sonos).
Here is what I have for my sun automation:
- id: '1539017708085'
  alias: MQTT Sun
  trigger:
  - minutes: /30
    platform: time_pattern
  condition: []
  action:
  - data:
      payload_template: '{''sun'':''{{states(''sun.sun'')}}''}'
      retain: true
      topic: alarmpanel/command
    service: mqtt.publish

Thanks.  I'll just suggest that my way did work (the one pad configured dimmed at night). So you don't have to double-quote the single quotes ;)
At least for now maybe the README.md should get updated with the correct automation example?  I suppose I can work on a PR if you prefer?

It appears someone tried to do a pull request and this is how the documentation became jumbled.  I will edit the example now and just update the docs, easier than a PR.

WFM. Thanks!

It is github that keeps adding the {% raw %} tags around the formatted code.

Try using "```yaml" instead of "```" ??


Add tunnel activation event

With https://github.com/microsoft/vscode/pull/188270, extensions can now contribute tunnel factories. However, extensions doing this need to get activated on * / startupFinished to be shown there. It'd be nice if there was some kind of "tunnel" activation event that would only pick up when a tunnel or requested, or perhaps if the Ports view is interacted with, to avoid this.
Mentioned in https://github.com/microsoft/vscode-remote-tunnels/pull/661#discussion_r1272804131

I like the ports view idea. Let's just go with that for now. There is the possibility that an extension might call openTunnel, but that is proposed API and I'm not aware of a case where that will be a problem.

Do we need this for July?

I don't think so

The activation event will be called onTunnel.

This bug has been fixed in the latest release of VS Code Insiders!
@connor4312, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version f7973f357e7c316a88e8817886f41a843021fe74 of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!


Check memory protection per page

Memory protection flags are set per page so it's enough to check them at page boundaries. (See here)
This simplifies the code for #209 (relevant diff) to this
I've added a helper function that checks the memory protection at each page boundary in a memory region and returns a slice containing all consecutive readable elements starting from the start of the region.
I've stared at my implementation for a bit and I think the logic is correct.

For starters, the PR itself and the code style looks absolutely excellent

Thanks! :)

So I wonder if my original intention was to check the protection of that page where the command queue is, actually.

Yeah that would scanning the memory pointed to by each pointer reasonable, like you said.

Have I gotten some of this wrong?

What you wrote fits (and cleared some stuff up for me).

I think we could get away with not doing the check altogether

I think so too and event if the pointer is at the bottom of the struct, the whole struct should be within readable memory. This should be perfectly safe as long as they don't remove the pointer and we start reading outside the struct.
The caveat you pointed out got me thinking that I might have misunderstood the code and broke something but after looking over both the old and new snippets again I'm sure it's still doing the same thing.
I have no DirectX background (which is why I'm using this library :P), so I thought the swap_chain_ptr was a pointer to a vtable and that you're looking through the vtable to find a pointer to the command_queue object (which makes no sense in hindsight because a vtable only contains pointers to functions and not to other objects but I didn't think of that earlier). Now I understand that we're actually scanning struct members for a pointer.
I found this post and the offset from the answer is different from the one I get when testing (for me the command queue is at +0x168) so doing it this way is definitely better than hardcoding an offset.
I attached a debugger to a DirectX 12 example and set a hardware breakpoint to see what reads/writes to swap_chain+0x168 (i.e., sets or reads the command queue pointer) but it didn't get hit :/
The idea was to see which functions access the struct member, open one in a disassembler, and generate a signature for the assembly that accesses the struct member with the hope that different versions of the DirectX 12 library will match the signature and only the offset will be different.

I think so too and event if the pointer is at the bottom of the struct, the whole struct should be within readable memory. This should be perfectly safe as long as they don't remove the pointer and we start reading outside the struct.

Yeah, though I don't feel like risking it -- for example, on Wine the command queue is the first qword immediately after the vtable (e.g. offset +1).

The caveat you pointed out got me thinking that I might have misunderstood the code and broke something but after looking over both the old and new snippets again I'm sure it's still doing the same thing.

Yep, that was definitely me mixing things up with the attempt before.

I found this post and the offset from the answer is different from the one I get when testing (for me the command queue is at +0x168) so doing it this way is definitely better than hardcoding an offset.

I discarded doing outright that because I got burned by it already a few years ago, when a new d3d11.dll was released and they shuffled the pointers around. I actually wanted to go the DirectComposition way myself which would've allowed me to not maintain 4 separate renderers but when I was already done I went ahead, tested it on Linux and discovered that that's not implemented by Wine, so had to roll everything back and start over. :(

I attached a debugger to a DirectX 12 example and set a hardware breakpoint to see what reads/writes to swap_chain+0x168 (i.e., sets or reads the command queue pointer) but it didn't get hit :/ The idea was to see which functions access the struct member, open one in a disassembler, and generate a signature for the assembly that accesses the struct member with the hope that different versions of the DirectX 12 library will match the signature and only the offset will be different.

I think that would be even trickier. I expect that a change in struct layout could send the optimizer down through different paths and result in different looking assembly at least for some functions, so that's kinda wobbly to rely upon.


Ignore guest os after initial seed

We run a lot of Ubuntu VMs and would like to have them separated in Netbox by version as their platform, however when we run sync it takes the good old vmware default of "Ubuntu Linux (64-Bit)".

We have an ansible script that will change the platform for the hosts back, but the next time sync runs it will set it back to "Ubuntu Linux (64-Bit)".
Is there some way to add logic to say not to overwrite platform after initial creation?  Or something smarter I'm missing?

Take a look at https://github.com/bb-Ricardo/netbox-sync/blob/main/settings-example.ini#L208

@gstorme I looked into that, but that wouldn't help I don't think, as vmware is only ever going to return "Ubuntu Linux (64-Bit)" no matter the version, so I can't see how you'd then split that down further.......

Hey @lwhitworth
So you pretty much need an option to not overwrite the VM platform if it's already defined?
Unfortunately we rely on thw VMWare tools to provide the VM OS name and it seems like that's to much to ask to read info on that from /etc/os-release.
Should be not to difficult to add an option to avoid overwriting the platform. Currently it's more difficult to find the timw to work on it 🫤

Yeah that's pretty much the long and the short of it cheers.  I have a workaround for now, so not hugely urgent.

Hi @lwhitworth,
I just pushed a commit two new config options to the development branch?:
diff --git a/settings-example.ini b/settings-example.ini
index d00fb4f..cebe456 100644
--- a/settings-example.ini
+++ b/settings-example.ini
@@ -344,6 +344,13 @@ password = super-secret
 ; NetBox. The interface will only be matched by identical MAC address
 ;overwrite_vm_interface_name = True

+; define if the platform of the device discovered overwrites the device platform in
+; NetBox.
+;overwrite_device_platform = True
+
+; define if the platform of the VM discovered overwrites the VM platform in NetBox.
+;overwrite_vm_platform = True
+
 ; set a matching value for ESXi host management interface description (case insensitive,
 ; comma separated). Used to figure out the ESXi primary IP address
 ;host_management_interface_match = management, mgmt

Can you have a look at it and test it. If it works you are free to close this issue as resolved.
Thank you

My man!  Great stuff, works perfectly.  Much appreciated.


code with line numbers format is hard to read

Steps to Reproduce

add the https://andreyor.st/tags/emacs-lisp/feed.xml feed
open the Making Emacs tabs look like in Atom post
scroll down to Making Emacs tabs resize automatically
observe

Expected behavior
The line-number column is not as wide as it is currently now
Screenshots or screen recording

I would expect something like

Device, Operating system, and app version
Samsung S23 Ultra, Android 14, Capy Reader 2024.11.1073

Hey @andreyorst thanks for the in-depth details. I suspect my CSS for the table formatting evenly divides columns. Let me take a look.

I have a fix (https://github.com/jocmp/capyreader/pull/523) that I'll include in the next release. Here's a demo of what it looks like

Vertical overflow still works as expected
https://github.com/user-attachments/assets/1c792381-37b4-4dc7-8141-72e741753ab4

amazing! thanks!

A fix for this is live in 2024.11.1076-dev. I'll publish it in a Google Play release in the next day or two if you use that distribution. Please let me know if you run into any more formatting issues.


Project Description

Hi,
I could be interested to use this project, but I wonder what it is exactly ?
Is it an alternative to the official SDK ? (https://www.biopac.com/product/vr-unity-interface/)
Does it require the NDT License in Acknowledge software ? (https://www.biopac.com/product/network-data-transfer-licenses/)
Could be good to add a short description.
Best regards.
Emmanuel

No, didn't try.

Thanks
Le ven. 20 oct. 2023 à 15:45, Emmanuel Badier @.***> a
écrit :

No, didn't try.
—
Reply to this email directly, view it on GitHub
https://github.com/CGVGroup/BIOPACInterface/issues/1#issuecomment-1772769392,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNRJ5BYWICQMLR5JCSW5MDYAJ57RAVCNFSM53HGFUDKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZXGI3TMOJTHEZA
.
You are receiving this because you commented.Message ID:
@.***>

--
Alexandre GASTON-BELLEGARDE
Ingénieur d'étude & Psychologue spécialisé en Neuropsychologie
Laboratoire MC², EA 7536 - <IP_ADDRESS>.94
Développeur Unity 3D
Développeur & Gestionnaire de la plateforme de réalité virtuelle RV-PSY
INSTITUT DE PSYCHOLOGIE - BOULOGNE-BILLANCOURT

Hello all, the project is not an official version, but simply an example of how to communicate with iMotions through sockets using the available documentation. I am very sorry but unfortunately, at the moment, we have no time to prepare a documentation or user manual. Hope that by digging into the code some features can be more clear. If you have more specific questions I could try to answer your questions.


Add notebooks to CI/ CD

Requires:

OPENAI_API_KEY secret on GitHub
Add workflow to .github/workflows

Should be run on every PR

@blythed i will try to solve this issue.


Refactor multilib::wasm::WasmKeeper tests to use mulitest::wasm::Wasm instead of internal functions

Some multi-lib entities are unit tested on their internal levels, instead of their actual exposed API, which could be improved to capture additional orchestration logic, and avoid depending on internals stability.
It is follow up of #360

I think we can depend on WamsKeeper, as we have generic in App/Router and do call them sometimes.
I do agree we can avoid calling private methods and try only pub ones. Any way to get the compiler to enforce that?

Also find this as not urgent... but a nice cleanup


Bringing back JumpList support

Fixes #190
Description of the changes:

Updated Uno.UI to latest dev
Added support for JumpList

How changes were validated:

Tested on Android, will test on iOS ASAP :-)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Software paper] Lacking mention of how features are computed

Refers to the JOSS submission review: https://github.com/openjournals/joss-reviews/issues/5763
The paper is missing one or two sentences on how the features are computed:

partial charges: Gasteiger charges calculated with RDKit
Atomic logP contribution: Crippen method as implemented in RDKit
Hbond donors and acceptors: SMARTS patterns taken from DAYLIGHT

Since the SMARTS pattern are taken from the DAYLIGHT website, they must be added to the references. (and ideally the RDKit as well)

We have expanded the paper (paper, readme and docs -<PHONE_NUMBER>464c95da3f80ff766942eb1c86e472) with an explanation of how atomic properties are calculated with RDKit (ref added) – using the Gasteiger algorithm (reference added) for atomic partial charges, Crippen method (reference added) for atomic logP contributions and referenced the paper from which the HBA+HBD acceptor patterns were taken - https://pubs.acs.org/doi/10.1021/ci970431+ . This has been merged into main in 2146bcf0b2737ea671cb4beed6cbfc5632f8baee and is present in OpenFEPOPS v 1.8.0.

There seem to be an issue with the reference for Gasteiger charges, it should be Gasteiger & Marsili instead of Wildman & Crippen.

Thank you, this was certainly an error on my part. The Gasteiger reference has now been properly inserted in 8303a1815f5a176d6c9c6aefcf4d01035d4ee333.


📝 Update includes for docs/tutorial/fastapi/session-with-dependency.md

Related to https://github.com/fastapi/sqlmodel/issues/1150

Thanks for the effort! This was covered in another PR, so I'll close this one now. :coffee: :cake:


Fix path handling when contains wildcard char

*engine/CommandCompletion/CompletionCompleters:
Use WildcardPattern::Escape to escape completion text of filename
*engine/SessionStateContainer:
GetChildItem: Unescape non-literal, non-glob path before existence checking
NewItem: Unescape non-literal path when -Name is not set
*engine/regex:
WildcardPattern::Escape should also escape `, since WildcardPattern::Unescape would unescape it, and the matcher parse it as escape char
*namespaces/LocationGlobber:
Do not pass regex escaped string to WildcardPattern::Get
*utils/PathUtils:
Unescape non-literal path, non-glob path before calling GetUnresolvedProviderPathFromPSPath, it only accepts literal path
Also, auto completion should now works when doing A:\path\`[file`]na[tab]
PR Summary

PR Checklist
Note: Please mark anything not applicable to this PR NA.

[x] PR has a meaningful title

[x] Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[ ] User facing Documentation needed

[x] NA Issue filed - Issue link:

[ ] Change is not breaking
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

@adityapatwardhan Done. I am not sure whether they are in the proper file though

@daxian-dbw @lzybkr @anmenaga Can you have a look?

@anmenaga @daxian-dbw ping ...

I would like to know, can I rebase this to make the commit history cleaner/more readable?

Please don't rebase until a maintainer ask you.

A question about the Get-Command cmdlet.
https://github.com/PowerShell/PowerShell/blob/be109922f36d509d7bf512a49ca91dab1ef3100c/test/powershell/Modules/Microsoft.PowerShell.Core/Pester.Commands.Cmdlets.GetCommand.Tests.ps1#L6-L50
According to the test file, Get-Command seems to be designed to handle both wildcard and literal path with a single -Name argument, but when the filename is [.ps1, it will not be able to handle it, throwing an exception about the invalid pattern: The specified wildcard character pattern is not valid: [.ps1.
How should this be resolved? Catch the exception and fallback to use literal path,
or, add another argument to Get-Command to handle wildcard path separately,
or, do not allow literal path for command (has to be executed as & './`[.ps1'),
or, some other better solution or exclude the issue from this PR?

@adityapatwardhan Test failures related to the changes are solved (I have no idea why the remote session test is failing). Please let me know if anything were missing/wrong.

@anmenaga  @daxian-dbw ping..

@kwkam The PR is very large. Could you split it on some small PRs for more fast review?

@iSazonov Sorry, I am afraid I would not have free time get it done very soon. Feel free to fork this if you are in hurry.
P.S. Appending ?w=1 to the URL (or --ignore-white-space on command line) could help a bit when viewing the diff.


[Alignment training (DPO)] Megatron support for QWEN2.5 series models

when will the QWEN2.5 series models support alignment training (RLHF、DPO、OnlineDPO、GRPO) using the Megatron

same question


Latent Coroutine Crash On Exiting Game - Repro included

This repro case is based upon a crash in a real use case of mine. The use case in the game is that one parent actor manages the lifetime of other actors. When the parent actor gets destroyed, it calls a coroutine on its child actors which they use to destroy themselves latently at their own pace. This works fine during gameplay, but if the parent actor gets destroyed by the game being stopped in editor, the coroutines in the child actors will cause a crash.
This was tested including the recent changes in your commit  0cf2485.
Repro Case:

Make empty level I'll refer to as "CrashLevel".
Ensure the game mode is set to the blank GameModeBase.
Place an actor of type CoroParent in CrashLevel.
Run the game in-editor.
Observe the world outliner to verify CoroChild actors have been created, as well as blank actors.
Stop running the game by clicking the stop button in-editor.
The game crashes at this point.

One unknown detail is whether this crash will also occur when closing a standalone build, but the repro setup for that would look similar to this in-editor setup. I've also seen this crash occurs with non-latent coroutines anecdotally, but this is not included in the repro case.
Attached is an image of the coro frame pointer and callstack at time of the crash. Most of the time the crash occurs outside of the scope of a coro frame pointer, though.

Source for required classes CoroParent and CoroChild are here:
CoroCrashOnGameExitSource.zip

Thank you for the gold-quality repro, as always!
ACoroParent::BeginDestroy is calling coroutines on invalid child actors. By changing the condition from if (childActor) to if (IsValid(childActor)) I've managed to avoid the crash with both pending kill enabled and disabled.
I'm not sure what I'll do with the plugin, but hopefully this will help with your immediate problem.

As an alternative repro, I changed CleanUp to run in async mode and take responsibility for lifetime management. If I do this:
TWeakObjectPtr WeakThis = this;
co_await UE5Coro::Latent::NextTick();
if (!WeakThis.IsValid())
    co_return;

the crash is prevented.
@nwilson100 could you please test master with your real project? I'm expecting latent mode to check and async mode to invoke UB without such a weak-this check. I have added a few minor improvements that aren't directly related to these crashes but should improve world detection.

Hello, sorry for the delay. Before I get into the test you asked for, you're right that checking the childActor with IsValid was a fix, and I can confirm that this also does fix the issue for the real project! Thanks for that.
The following tests using latest master were without the IsValid check applied in user code.
Confirmed: Both the real-world repro case and the minimal repro case halt upon the "Provide a valid world context parameter" check in FLatentPromise::Init(), line 181.
Worth noting in addition: after updating to latest master, the project began crashing on start because it had some nested latent coroutines with the inner-most coroutine being a static function. It looks like previously, the LatentPromise was falling back to using a pointer to GWorld for the static latent coro. Naturally this was now solved by sending a context UObject * as a parameter to that coro. Sharing it as a heads up that the current master changes may manifest in that way for other users, in case it was not expected. I'm not particularly against this as it requires being explicit with your intended world context for these cases, but my original and definitely naive assumption was that the context was somehow able to be deduced by the static coro being invoked from within a coroutine in a UObject that does have a valid world context, even if the static coro wasn't a member of that UObject. That said, I'm not sure how that kind of context deduction could be implemented.

Thank you for the tests! In hindsight, I think that defaulting to GWorld was perhaps too generous for latent coroutines - BP itself expects you to run on a UObject with a valid GetWorld (usually: actors).
I was and still am thinking of possibly associating a TWeakObjectPtr<UWorld> with latent coroutines behind the scenes that it could offer as a fallback to callees without a world context, but I can already see that causing issues if there's a legitimate cross-world call.

@nwilson100 I have published a beta 1.10.1 with the intended bugfixes, with the next major release planned to have more invasive changes.

@landelare This looks good. I mostly use latent coroutines with FForceLatentCoroutine, and am happy at the idea of being able to be more explicit with the world context a coro will be executing within. Most of my bugs involving coroutines have involved issues around that.
Along the lines of requiring latent coroutines to be more explicit with the intended world context, I have an idea that seems helpful for my use case, but I have a fairly limited perspective on all intended use cases, so bear with me. The idea is: Only for cases in which FForceLatentCoroutine is used, what do you think about requiring or allowing the world context to be passed to the coroutine via the FForceLatentCoroutine constructor, rather than as a separate parameter? Here are some advantages and disadvantages that come to mind for it:
Advantages:

Allows the calling-context code to be more self-documenting and clear, e.g:

Example original method signature: PerformLatentRoutine(UObject * context, UObject * source, UObject * target, FForceLatentCoroutine latent)
//Usage at call-site
PerformLatentRoutine(this, this, targetObj, {});

New method signature: PerformLatentRoutine(FForceLatentCoroutine latent, UObject * source, UObject * target)
//Usage at call-site
PerformLatentRoutine(FForceLatentCoroutine{this}, this, targetObj);

If the only constructor for FForceLatentCoroutine now requires a context object, this causes the convention previously checked & required at compile time to now be even more concrete. This enforces the context object convention in a way that's visible to IDE suggestions, such that it's transparently presented to the user as a requirement while writing such code:

Without the world context constructor required, you could write this with no error hints appearing:
Declaration: LatentRoutine(FForceLatentCoroutine latent);
Usage: LatentRoutine({});
Outcome: No error apparent at time of writing, but presumably would error at compile time as it will now explicitly require a first-param world context.

If FForceLatentCoroutine requires a context object as its parameter:
Declaration: LatentRoutine(FForceLatentCoroutine latent);
Attempted Usage: LatentRoutine({}); //Error hint provided by IDE: No default/empty constructor for FForceLatentCoroutine
User can intuitively correct it to: LatentRoutine({this}); or LatentRoutine(FForceLatentCoroutine{this});

Reduces verbosity of method signatures by essentially combining the context param into the FForceLatentCoroutine, and avoids the empty latent constructors, i.e. LatentRoutine(this, {});

Coroutines using FLatentActionInfo can continue using the separate world context object param to match the BP strategy. So we now have two ways of using latent coroutines with explicit contexts.

User code specifies intent even more clearly if we rename FForceLatentCoroutine to something like FLatentCoroContext.
FLatentCoroContext{this} seems very appealing.

Disadvantages:

Deviates from the strategy used by FLatentActionInfo in BPs for latent actions in general. While allowing multiple workflows or angles for user code to specify intent can be a good thing, this can also feel like added complexity.

Would definitely break user code that already was using FForceLatentCoroutine with a first world context parameter, which otherwise may not have been broken with this coming update, if we do make the constructor mandatory rather than optional. They would need to make the context an argument to their FForceLatentCoroutine constructors, and adjust their coroutine's signatures to remove the context parameter.

There's probably other issues with this, but thought I would share this as food for thought!

@nwilson100 This is overall a good idea, but for now I think I'll go with "first parameter is the world context object". The next major update is currently planned to enforce this with no other parameters being looked at - other than reducing surprises, it should result in a little performance bump, too. My reasoning:
FForceLatentCoroutine is BP compatible and hidden on all call sites. This change would break every single affected coroutine call node and require BP to pack the world context into the struct instead of, e.g., being able to rely on meta=(WorldContext). This would need an extremely strong justification.
Latent coroutines are trying to match BP as much as C++ allows, and Latent::Chain() also relies on this convention heavily. This additional limitation will silently assure cross-compatibility in all cases.
I'm still looking into what to do with FLatentActionInfo. CallbackTarget is an obvious world context which is currently used with maximum priority, and I think it might be still preferable to this. I have no examples currently where this would be a significant difference though, even in contrived multi-world scenarios.
Regarding your usage examples, I would suggest declaring coroutines as TCoroutine<> Foo(FForceLatentCoroutine = {}) so you can call it as just Foo() at every single call site and mostly ignore that parameter's existence.

I consider this fixed in v1.10.1 (with more improvements to come in the next major release), if you're still having problems that aren't fixed by IsValid checks on your side and are NOT caught by checks/ensures, please feel free to reopen.


summvis visualisation in scientific paper

I wanted to know if there is already a way to export outputs displayed in the framework in order to e.g. show them in a text file (latex preferable). I assume the .cache folder hold necessary data (in the .dill files)? I wanted to ask prior to trying to extract the data on my own and I am happy to found this framework!
Cheers
Lukas

Hi @LukasFides, are you referring to exporting the underlying data used in the visualization, e.g. the alignments between the documents, or the visualizations themselves?
If it's the former, you can find the underlying data representation in the arguments to MainView here: https://github.com/robustness-gym/summvis/blob/65385cfabd7ceb62d2b58a0f66828b80038b80c8/summvis.py#L274
If you use the cache file as input, then the data is loaded here: https://github.com/robustness-gym/summvis/blob/65385cfabd7ceb62d2b58a0f66828b80038b80c8/summvis.py#L69. So you could try to replicate that function to export to your own custom file. Let me know if that makes sense.


Update BSC testnet RPC URL

Description
Update bscTestnet.ts file in the wagmi/chains/bscTestnet.ts repository with the latest RPC URL to replace the expired one
Additional Information
Replace with the bscTest Rpc in the official documentation.(https://docs.bscscan.com/v/bscscan-testnet)
My ENS/address: 0xF703A4ADeD9797587e795eE12862dc3Bab7F8146

Thanks for your help! This is submitting my first changeset and it feels like everything is cool on GitHub.


Noticeable lag when trying to share a local video window

Describe the bug
When client A shares the local screen of the programme that plays the video, client B can obviously feel the video stuttering (the screen is not smooth).
livekit-server, client A and client B are all on the same LAN segment <IP_ADDRESS>/24, not through the public network.
So, I would like to ask you guys, how can I do the troubleshooting of the above problem in this situation?
Local livekit-server resource situation when lagging occurs
1, Process usage: CPU load 3.3, Memory 0.6
2, Network: rx: 26 kbit/s 52 p/s tx: 8 kbit/s 10 p/s
Server

Version: 1.5.1
Environment: raw binary, local dev, same LAN ip
livekit.yaml

keys:
  key1: value1xxxxxx
port: 7880
redis:
  address: <IP_ADDRESS>:6379
  db: 0
  username:
  password:
rtc:
  #batch_io:
  #  batch_size: 128
  #  max_flush_interval: 5ms
  port_range_end: 51000
  port_range_start: 50000
  tcp_port: 7881
  udp_port: 7882-7892
  use_external_ip: false
turn:
  cert_file: ../config/demo.pem.crt
  domain: <IP_ADDRESS>
  enabled: true
  external_tls: true
  key_file: ../config/demo.key
  tls_port: 13478
  udp_port: 13478
webhook:
  api_key: key1
  urls:
  - http://<IP_ADDRESS>:7051/webhook
room:
  enabled_codecs:
  - mime: audio/opus
  - mime: audio/red
  - mime: video/h264

Client

SDK: React
Version: 1.15.4

To Reproduce
Steps to reproduce the behavior:

deply a livekit server
two clients are connected to room ( on a same LAN ip)
A client start use chrome/edge browser shre local windows video players.

Expected behavior
Videos in the shared window play smoothly.
Screenshots
no screenshots
Additional context
Livekit Server deploy machine, Client A and Client B are on the same internal LAN. Client A is using livekit for local video screen sharing and Client B is using edge/chrome Web Browser to view the video content shared by client A.

Is it possible that the screen resolution of the participant on the main sharing side is too high (2k/4k) which is affecting the browser's acquisition and causing the problem of other participants seeing a screen that is not smooth?

what you are describing seems like a local machine limitation in encoding. When you are running the service locally, it's only forwarding the packets locally and cannot cause stuttering/low framerate.

gotcha, thank you.


feat(ci/cd): publish canary releases

moved here from #531 to simplify testing the action in the mud repo

Canary releases work! See https://github.com/latticexyz/mud/actions/runs/4554159689/jobs/8031647616?pr=533


Unable to spot syntax error of C#

i am working on project dotnetcore with angular in vscode .and my editor is unable to catch the syntax error. i  install C# extension already..

Closing out as no info has been given.


Update first 3 Tutorials on CF with Cloud SDK for Version 3.0

Updates the following Tutorials for Version 3.0 of the Cloud SDK:

Sample App
OData Service
Resilience

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: pacaceres:x: MatKuhr:x: akhil-agarwalYou have signed the CLA already but the status is still pending? Let us recheck it.


Add code.org

Added https://code.org/, an educational site focused on teaching computer science and programming to younger people and students.

@anthonychinwe Great resource. Thanks!


DOC-3774: Docker docs improvements

Graph of the page changes:

Moving Cordform and Dockerform configuration options out of the non-plugin page.
Having the 'Official Corda Docker Image' page as an intro/directory page rather than a list of docker use cases, and a separate page for deployments.
'Running nodes remotely' -> the last header of the existing running nodes page was about remote node running, the rest of the page was explicitly about doing it locally, so this has moved into its own page.

We need to think about the hierarchy of where the "Official Docker Image" page is hosted I think under operations it's hidden as a user looking for the Docker docs it's not obvious. @benpesterr3 any thoughts

We need to think about the hierarchy of where the "Official Docker Image" page is hosted I think under operations it's hidden as a user looking for the Docker docs it's not obvious. @benpesterr3 any thoughts

@NinaKantiR3 - might need a bit of a conversation about this. The main menu for OS is divided into tasks. Operations is a high level menu item for node operators and network operators.
The alternative would be in Upgrading CorDapps and Nodes. Do you think this would be better? Can sat for sure that this by itself is not top level documentation, so needs to belong in one of the main categories listed there. Happy to talk more. TBH we anticipate most of the docs to be discovered via search.

Discusses with Ben on this lets keep it in operations and link to the docket "master" page in the getting started journey

@benpesterr3 you'll notice I left a note about one of your comments RE: content - I don't think that's going to be doable as part of this ticket but happy to raise the ticket on it, it's by itself a discrete piece of work that'll take half a day and this work has already been extended several times over the 3 story points I initially gave it!


feat(mempool): query app for LanesInfo and pass to mempool constructor

Closes #3475

PR checklist

[x] Tests written/updated
[x] Changelog entry added in .changelog (we use unclog to manage our changelog)
[ ] Updated relevant documentation (docs/ or spec/) and code comments
[ ] Title follows the Conventional Commits spec

@hvanz , @sergio-mena  I changed the signature of Handshake and added a changelog entry. Let me know if it is ok now,


Update _fixtures.yaml

added climate device

this seems to be part of #502 which should go directly in #445.
related changes should always go into the same PR, so they can be reviewed together and in this case they also depends on each other, so each single PR is invalid (because of failing tests)


1359993-1311566: Added reference links

adapters-and-accelerators/accelerator-hl7/TOC.md
adapters-and-accelerators/accelerator-rosettanet/TOC.md
adapters-and-accelerators/accelerator-swift/TOC.md
adapters-and-accelerators/adapter-oracle-database/TOC.md
adapters-and-accelerators/adapter-oracle-ebs/TOC.md
adapters-and-accelerators/adapter-sap/TOC.md
adapters-and-accelerators/adapter-siebel/TOC.md
adapters-and-accelerators/adapter-sql/TOC.md
adapters-and-accelerators/wcf-lob-adapter-sdk/TOC.md
core/install-and-configure-the-management-rest-apis-in-biztalk-server.md
includes/ui-guidance-developers-reference.md

OPS Build status updates of commit 00ec36e:
:clock10: Preparing: average preparing time is 1 min(s) 27 sec(s)

OPS Build status updates of commit 00ec36e:
:clock10: Incremental building: average incremental building time is 3 min(s) 2 sec(s)

OPS Build status updates of commit 00ec36e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

biztalk/adapters-and-accelerators/accelerator-hl7/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/accelerator-rosettanet/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/accelerator-swift/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/adapter-oracle-database/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/adapter-oracle-ebs/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/adapter-sap/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/adapter-siebel/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/adapter-sql/TOC.md
:white_check_mark:Succeeded

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/TOC.md
:white_check_mark:Succeeded

biztalk/core/install-and-configure-the-management-rest-apis-in-biztalk-server.md
:white_check_mark:Succeeded
View

biztalk/includes/ui-guidance-developers-reference.md
:white_check_mark:Succeeded
View

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.


"Format with ktlint" no longer shown as a context option

It appears that the contextual "Format with ktlint" option has been removed from the list of options. Reviewing the release notes, I don't believe this was intentional.

I can reproduce this by opening up a scratch file and adding something like the following with any sort of formatting issue, e.g. ex
val somethingFake = "yeet"

The plugin is enabled and set to Manual mode

It has been removed intentionally. Format with ktlint reformats the entire file. From a UX perspective the action in this menu did seem to suggest to format the highlighted issue only. I will think about whether, I want to re-add it with a description that makes clear that the entire file is formatted, for example Format file with ktlint.
Untill then, you can use the Format with ktlint menu option in the Refactor menu. Defining a shortcut on that menu option makes it easily accessible.

It's possible to format only a line or selected code, because some times i don't want to format all file, there are a lot of code and is hard to do the code review. My team is using this plugin now and we don't want to format old code, only new changes.

It's possible to format only a line or selected code, because some times i don't want to format all file, there are a lot of code and is hard to do the code review. My team is using this plugin now and we don't want to format old code, only new changes.

Ktlint has never supported partial formatting of file. So the old behavior was that the context menu with name "Format with ktlint" suggested that only the particular violation would be formatted. The real behavior was that the entire file was formatted. See #385 for request to support partial formatting.


Standard optimization Docker build

Fix merge conflict and standard optimization docker build process.
Fix travis-ci cmake use -DWASM_LLVM_CONFIG.
Use -f Docker/Dockerfile Fixed local code COPY problem.(see:https://github.com/EOSIO/eos/issues/289)

For example:
docker build -t eosio/eos -f Docker/Dockerfile .
So, Dockerfile will be restored from the root directory to the Docker directory,keep the code architecture clearer and less polluting.

It may be prefered to remove the --rm in the .gitlab-ci.yml (that way the cache will work).

@toonsevrin Thanks toonsevrin suggested is all fixed (-;

@toonsevrin Have already been fixed, Please review. ;-)

btw @peterwillcn  most of the time saved by the COPY . /tmp/eos approach is not due to networking, but due to the caching actually working.


Wip/6.0 Modernize legacy code via JDK7's diamond operator

Tons of stuff, but easy to review or verify

Thanks @NathanQingyangXu


The behavior for Date objects stored in Firestore is going to change

Hi there, I want to share this error I have been getting when I try to test my firestore with my vuejs app
Console log
The behavior for Date objects stored in Firestore is going to change
AND YOUR APP MAY BREAK.
To hide this warning and ensure your app does not break, you need to add the
following code to your app before calling any other Cloud Firestore methods:

  const firestore = firebase.firestore();
  const settings = {/* your settings... */ timestampsInSnapshots: true};
  firestore.settings(settings);

With this change, timestamps stored in Cloud Firestore will be read back as
Firebase Timestamp objects instead of as system Date objects. So you will also
need to update code expecting a Date to instead expect a Timestamp. For example:

  // Old:
  const date = snapshot.get('created_at');
  // New:
  const timestamp = snapshot.get('created_at');
  const date = timestamp.toDate();

Please audit all existing usages of Date when you enable the new behavior. In a
future release, the behavior will change to the new behavior, so if you do not
follow these steps, YOUR APP MAY BREAK.

api.js

import Firebase from '@firebase/app'
import '@firebase/firestore'
import config from './config'

const firebaseApp = Firebase.initializeApp(config, {
  timestampsInSnapshots: true
})

const api = firebaseApp.firestore()

export default api

main.js
import Vue from 'vue'
import App from './App.vue'
import Firestore from 'vue-firestore'

Vue.use(Firestore)

Vue.config.productionTip = false

new Vue({
  render: h => h(App)
}).$mount('#app')

The view renders but there is no content from firestore.
Hope you can help me!!
Greetings from Argentina.

This Worked liked charm for mine after some pieces of struggle, Thanks @marcoshuck I borrowed alot from your post
import firebase from '@firebase/app'
import 'firebase/firestore'
import firebaseConfig from './firebaseConfig'
const firebaseApp = firebase.initializeApp(firebaseConfig)
export default firebaseApp.firestore()
const api = firebaseApp.firestore()
api.settings({timestampsInSnapshots: true})

In my firebaseInit.js file I changed it to this and its very awesome now

In my firebaseInit.js file I changed it to this and its very awesome now
import firebase from '@firebase/app'
import '@firebase/firestore'
import firebaseConfig from './firebaseConfig'
const firebaseApp = firebase.initializeApp(firebaseConfig)
const api = firebaseApp.firestore()
api.settings({timestampsInSnapshots: true})
export default api


Mempool

Implemented graph memory network from #1981.

The class is named MemPool. I thought that name made sense as the paper calls it a Memory-based GNN. Let me know if you think of a better name.
kl_loss returns the additional loss term, this way a user can compute the loss if needed.

Awesome :) Thank you very much for your contributions!


Progressbar should be programmable

it was good, if the progress bar was manageable inside the code like notify.progress = 90; It's simple through the template, but I wish it was a built-in feature.

Odd question, does this mean you would like to override the delay counter or that you want it to recalculate the delay based off the percentage you use. Or if you use notify.update({ 'progress':90}) it would disable the delay and the notification would need to be manually or programmatically closed.

Included in 3.0.1

I wanted to use it for fileupload progress, and now it works perfectly. I don't know how to thank you. I just can say thank you so much.

No problem. If you come up with anything else, just ask and I'll see what I can do.


Errors will happen when upgrading the libraries

An error will happen when upgrading libraries vmihailenco/msgpack, prometheus/client_golang, and gin-gonic/gin :
For example----
github.com/vmihailenco/msgpack
-Latest Version: v5.0.0-beta.1   (Latest commit e775968 18 days ago)
-Where did you use it:
https://github.com/vearch/vearch/search?l=Go&q=vmihailenco%2Fmsgpack
-Detail:

github.com/vmihailenco/msgpack/go.mod

module github.com/vmihailenco/msgpack/v5
require (
	github.com/vmihailenco/msgpack/v4 v4.3.11
	…
)
go 1.11

github.com/vmihailenco/msgpack/decode_query.go

package msgpack
import (
	"github.com/vmihailenco/msgpack/v5/codes"
	…
)

This problem was introduced since vmihailenco/msgpack v4.2.0 . Now you used the version v4.0.1. If you try to upgrade  vmihailenco/msgpack to v4.2.0 and above, you will get an error--- no package exists at "github.com/vmihailenco/msgpack/v5"
Similar issues can also happen when upgrading libraries prometheus/client_golang, gin-gonic/gin.
I investigated the libraries' (vmihailenco/msgpack, prometheus/client_golang and gin-gonic/gin) release information and found the root cause of this issue is that----

These dependencies all added Go modules in the recent versions.

They all comply with the specification of "Releasing Modules for v2 or higher" available in the Modules documentation. Quoting the specification:

A package that has migrated to Go Modules must include the major version in the import path to reference any v2+ modules. For example,  Repo github.com/my/module migrated to Modules on version v3.x.y.  Then this repo should declare its module path with MAJOR version suffix "/v3"  (e.g., module github.com/my/module/v3), and its downstream project should use "github.com/my/module/v3/mypkg" to import this repo’s package.

This "github.com/my/module/v3/mypkg" is not the physical path. So earlier versions of Go (including those that don't have minimal module awareness) plus all tooling (like dep, glide, govendor, etc) don't have minimal module awareness as of now and therefore don't handle import paths correctly See golang/dep#1962, golang/dep#2139.

Note: creating a new branch is not required. If instead you have been previously releasing on master and would prefer to tag v3.0.0 on master, that is a viable option. (However, be aware that introducing an incompatible API change in master can cause issues for non-modules users who issue a go get -u given the go tool is not aware of semver prior to Go 1.11 or when module mode is not enabled in Go 1.11+).
Pre-existing dependency management solutions such as dep currently can have problems consuming a v2+ module created in this way. See for example dep#1962.
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

Suggested solutions
1. Migrate to Go Modules.
Go Modules is the general trend of ecosystem, If you want a better upgrade package experience, migrating to Go Modules is a good choice.
2. Keep using the dependency manage tool (like dep, glide, govendor, etc).
Because the import paths have different meanings between the projects adopting module mechanism and the non-module mechanism.

https://github.com/golang/go/wiki/Modules#semantic-import-versioning
https://golang.org/cmd/go/#hdr-Module_compatibility_and_semantic_versioning
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher
https://github.com/golang/dep/issues/1962
https://github.com/golang-migrate/migrate/issues/103

If you prefer to use the dependencies manage tool (like dep, glide, govendor, etc), a textbook example provided by repo github.com/moby/moby can prevent this type of issues.
https://github.com/moby/moby/blob/master/VENDORING.md
https://github.com/moby/moby/blob/master/vendor.conf
In the vendor directory, github.com/moby/moby adds the /vN subdirectory in the corresponding dependencies.
This will help more downstream modules to work well with your package, otherwise they will be stuck in github.com/vmihailenco/msgpack v4.0.4 .
Do you plan to upgrade the libraries in near future?
Hope this issue report can help you ^_^
Thank you very much for your attention.
Best regards,
Kate

@kevintony001  @wxingda  Could you help me review this issue? Thx :p


Also, please tell me the version of minecraft

@MyNameIsF

Sorry for late reply im using lot of mods i can send the mods file here and version is 1.17.1 also i tried not using any texture packs and it didnt work
mods.zip

Fixed
Download


Running the mir_driver on software version 2.8.3

I'm rather new to the MiR platform and using ROS bridge so I'll post more information if it is needed. I'm trying to install the melodic 2.8 from source right now. However I get following cmake error:

To overcome this I can run catkin_make_isolated, this builds the package then once I run the roslaunch mir_driver mir.launch the everything seems to work fine I can see all the sensor data in rviz, however I'm unsure how to give commands to the MiR itself. In the move_base/goal topic the msg type is still MoveBaseActionGoal shouldn't it be MirMoveBaseActionGoal or is there an underlying conversion to MirMoveBaseActionGoal? I have also tried using move_base_simple/goal through rviz this doesn't seem to work.
Another thing is syncing the transformations, when I run roswtf or tf_monitor I can see the following delay(at base_footprint) of 95 secs.

I hope this isn't too confusing! Thanks in advance!

I'm rather new to the MiR platform and using ROS bridge so I'll post more information if it is needed. I'm trying to install the melodic 2.8 from source right now. However I get following cmake error:

The warning about non-standard content is because the mir_robot/CMakeLists.txt specifies a minimum CMake version of 3.5.1, but  2.8.3 is expected. This can be ignored. If I change it back, I suspect that the buildfarm will start complaining again that cmake_policy CMP0048 is not set... ¯\_(ツ)_/¯
Strangely enough, I couldn't reproduce the warning. Here are the exact commands I used:
sudo apt-get update
sudo apt-get install -y build-essential python-catkin-tools python-rosdep cmake python-catkin-lint
source /opt/ros/melodic/setup.bash
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/dfki-ric/mir_robot.git -b melodic-2.8
cd ..
rosdep update
sudo rosdep install -i --from-paths src -y
catkin_make

The error about non-catkin packages means that you've copied a pure CMake based project into your catkin workspace. That has nothing to do with the mir_robot repo; all packages here are catkin packages.

In the move_base/goal topic the msg type is still MoveBaseActionGoal shouldn't it be MirMoveBaseActionGoal or is there an underlying conversion to MirMoveBaseActionGoal?

There's an underlying conversion from MoveBaseAction to MirMoveBaseAction.

I have also tried using move_base_simple/goal through rviz this doesn't seem to work.

That's a bummer, it's working for other people (see #62). A couple of questions:

Can you publish to other topics? E.g., if you publish on the cmd_vel topic (for example by using rqt_robot_steering, the robot should move.
Is your PC directly connected to the MiR, or is there a third PC in between?
Are you sure that you are using the melodic-2.8 branch?
Is the move_base "planner" enabled on the MiR web interface? (System --> Processes --> planner)
Are there any warnings printed when you run the mir_bridge?

BTW, there's another person reporting problems with 2.8.3: #66

Another thing is syncing the transformations, when I run roswtf or tf_monitor I can see the following delay(at base_footprint) of 95 secs.

The only solution for this is to log into the MiR web interface and try to synchronize the MiR system time with your PC's time as well as you can. Also see: https://github.com/dfki-ric/mir_robot/issues/45#issuecomment-652397685

Hello Martin! Thanks for the answer. Here are some of the answers to your questions

Can you publish to other topics? Yes, I can send commands over /cmd_vel and the robot runs fine right now.

Is your PC directly connected to the MiR, or is there a third PC in between? I'm directly connecting to the MiR's WiFi with my
laptop.

Are you sure that you are using the melodic-2.8 branch? I'm pretty sure I'm using this branch since I ran: git clone https://github.com/dfki-ric/mir_robot.git -b melodic-2.8

Is the move_base "planner" enabled on the MiR web interface? (System --> Processes --> planner) Yes, I read the other thread #45 and made sure the planner was running.

Are there any warnings printed when you run the mir_bridge? So far there are no major warnings, but here are some screenshots of the warnings about some of the topics just to be sure:

I have access to the robot again on Monday, so there I'll try to sync up the robot to decrease the delay and then I'm gonna try to publish the MoveBaseActionGoal to the move_base/goal again. What frames should I publish the goal? So far I think I've tried /odom, /map and /base_footprint just to be sure.

I have just pushed a large update to the melodic and noetic branches. The branch melodic-2.8 is fully merged and no longer necessary. This issue should be fixed now.


[FSDE-1324] Changed sizes of form elements

https://ctl.atlassian.net/browse/FSDE-1324

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-119/1/. :white_check_mark:

You can check this PRs instance in https://7dbcd089f23c3af59d88451faec1787350ea6825-chi-pr.enterprise.ctl.io


[SPARK-38544][BUILD] Upgrade log4j2 to 2.17.2

What changes were proposed in this pull request?
This pr aims to upgrade log4j2 to 2.17.2.
Why are the changes needed?
This version brings a lot of fixes released to log1.x support, the release notes and change report as follows:

https://logging.apache.org/log4j/2.x/index.html#News
https://logging.apache.org/log4j/2.x/changes-report.html#a2.17.2

Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GA

thanks all

@dongjoon-hyun @yaooqinn should revert this first? I haven't found the cause of the failure yet

Reverted through https://github.com/apache/spark/commit/2a63fea139ec7e5d0883ccd5b33080bdad21e009

thanks @wangyum

Thank you for reverting.


Changing highlights is dissapointing for colorscheme plugins

Hi, what's the color group in use for the floating text appended to the tail of the line on hover? I want to change it.


brod:fold doesn't work when there have been transactions

A failing test:
t_fold_transactions(Config) when is_list(Config) ->
  Client = ?config(client),
  Topic = ?TOPIC,
  Partition = 0,
  Batch = [#{value => <<"one">>}, #{value => <<"two">>}],
  {ok, Tx} = brod:transaction(Client, <<"some_transaction">>, []),
  {ok, Offset} = brod:txn_produce(Tx, ?TOPIC, Partition, Batch),
  erlang:display("TXNPRODUCE"),
  erlang:display(Offset),
  ok = brod:commit(Tx),
  FoldF =
    fun F(#kafka_message{value = V}, Acc) -> {ok, F(V, Acc)};
        F(V, Acc) -> [V | Acc]
    end,
  FetchOpts = #{max_bytes => 100},
  ?assertMatch({_Result, O, reached_end_of_partition}
                when O =:= Offset + length(Batch) + 1,
    brod:fold(Client, Topic, Partition, Offset, FetchOpts, [], FoldF, #{})),
  ok.

Output:
%%% brod_consumer_SUITE ==> t_fold_transactions: FAILED
%%% brod_consumer_SUITE ==> {function_clause,
    [{lists,last,[[]],[{file,"lists.erl"},{line,228}]},
     {brod_utils,handle_fetch_rsp,7,
         [{file,"/home/indrek/gems/brod/src/brod_utils.erl"},{line,661}]},
     {brod_consumer_SUITE,t_fold_transactions,1,
         [{file,"/home/indrek/gems/brod/test/brod_consumer_SUITE.erl"},
          {line,443}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1783}]},
     {test_server,run_test_case_eval1,6,
         [{file,"test_server.erl"},{line,1292}]},
     {test_server,run_test_case_eval,9,
         [{file,"test_server.erl"},{line,1224}]}]}

This is the line that throws an exception: https://github.com/kafka4beam/brod/blob/636e448f7d0183dc54fef31776cbe34d5d6f243b/src/brod_utils.erl#L644
The brod_utils:fetch (flatten_batches) seems to be control message aware, but at some point something gets lost.
I dug pretty deep, but I'm unsure how to fix this.

The LastOffset in the flatten_batches function seems to be the correct one. Fetch function even has it as NewBeginOffset0 +1. But the fetch does not return it. If it would, then we wouldn't need to do the https://github.com/kafka4beam/brod/blob/636e448f7d0183dc54fef31776cbe34d5d6f243b/src/brod_utils.erl#L644 call.
We could improve the brod_utils:fetch/4, but it's an exported function and is also used by brod:fetch. We could change the latter to keep backward compatibility, but I don't know if brod_utils is also considered a public interface from the compatibility point of view. @zmstone, what do you think?

Got something working, hopefully it makes sense: https://github.com/kafka4beam/brod/pull/589


Would it really hurt anything to move terraformer instance to e.g. t3.medium?

Not sure how many are live, but at .04/hr vs .16/hr for a t3.medium vs t3.xlarge changing even one instance saves ~$1000/yr, and the cpu need for these things is probably pretty minimal.

The bump up to t3.xlarge was specifically requested by our users.

@S4lt5 - Please let me know if this issue can be closed.

I'll go ahead and close this issue.  @S4lt5 - please reopen the issue if you feel there is more to discuss.


Resource Group duplicate error

Working with Godji Fortil to start an instance and using the resource_group definition below, I am getting an error about a resource group existing
module "resource_group" {
source = "github.com/Azure-Terraform/terraform-azurerm-resource-group.git?ref=v2.0.0"
user        = local.admin
unique_name = true
location    = module.metadata.location
names       = module.metadata.names
tags        = merge(module.metadata.tags, { "admin" : local.admin })
}
-040d-2e0c-6943-d6231d3b9823]
module.kubernetes.azurerm_kubernetes_cluster.aks: Creating...
╷
│ Error: creating Managed Kubernetes Cluster "app-contosoweb-dev-eastus2" (Resource Group "app-contosoweb-dev-eastus2-13858"): containerservice.ManagedClustersClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="NodeResourceGroupAlreadyExists" Message="Node resource group 'MC_app-contosoweb-dev-eastus2' under subscription 'ec0ba952-4ae9-4f69-b61c-4b96ff470038' already exists, please provide a new one."
│
│   with module.kubernetes.azurerm_kubernetes_cluster.aks,
│   on .terraform/modules/kubernetes/main.tf line 26, in resource "azurerm_kubernetes_cluster" "aks":
│   26: resource "azurerm_kubernetes_cluster" "aks" {
│
╵

@gfortil

Your issue doesn't have to do with this module. It looks like you're working with AKS, and AKS creates a distinct resource group in which it places resources that it manages directly. AKS is unable to create that resource group because one with the same name already exists. This isn't affected by you having set the unique_name variable of this module because this module doesn't control the resource group I'm talking about.
Whether you're using our opinionated AKS module for Terraform or our open-source module, the name of that resource group is controlled by this line.
If you're using the open source module, you can override the name of that resource group by setting the node_resource_group variable.
If you're using the opinionated module, you can set the cluster_name variable.

Closing this issue


Implements MVP

This MVP can

open empty diagrams
open existing diagrams
save diagrams
be used offline

It also includes many lessons learned from the VS Code extension.
Technically, compared to your current master, it provides

a Kotlin rewrite (based on the official extension template)
a git submodule for the drawio distribution
a JCEF scheme handler for offline hosting without requiring an http server
typed messages for bidirectional webview/extension communication
and more.

I guess some meta files need to be tweaked.
Also, I didn't get the *.adoc extension. Since the template is optimized for markdown, I added a readme.md.
The extension.xml description is automatically extracted from the readme.md.

@hediet - thanks for taking on this task to make this plugin more standard compliant with, and tackling offline functionality.
I gave it a try to run it, and it seems some CSS and JS is missing: The DevTools console of the JCEF preview shows the following messages, and the referenced files are not found within the project.
Please give it another "push" with these files and I'll have another look.
Cheers!

I also pushed some updated logos, plus cleaned up the .idea folder. The plugin template doesn't commit any contents in that folder. I chose to commit at least the run configurations.
When you pull the changes, this will unfortunately remove some local contents from the .idea folder previously committed to git. You might need to re-open (or even re-import) the project.

Hey ;)

Please give it another "push" with these files and I'll have another look.

You have to pull the drawio submodule! (git submodule update --init)

plus cleaned up the .idea folder

Thanks, I'm quite new to IntelliJ and have no idea what and what not is inside the .idea folder. Interesting that the default template I used does not properly setup git ignore (or maybe I didn't copy it over to this branch).

Thanks, that did the trick. Only heard of submodules before, didn't use them before.
Works nicely, I'll merge it!


Dashboard cannot read Broker system values

Hello,
The dashboard cannot read the values for System Name, Version, Uptime and System Time on the Broker row on the overview page. Can you guide me how to troubleshoot this?

@elisiariocouto
i confirm with you the problem，you say the problem is just open overview interface  no value Or still has no value？
if it's the first case may the EMQTTD broker has just started, overview Page subscribe system topic takes time

and browser does not support websocket?

Hi @huangdan,
Yes, the browser supports WebSockets and I can connect to the websocket port. I understand that sometimes the data takes some time to load, but this is not the case. The other data loads almost instantly.

I figured it out. The dashboard tries to connect with the user "dashboard" and no password. I have username authentication enabled and, because of this, the login fails. We should be able to modify this on the dashboard.

v1.1 repair