SIM-FE-URL:port change in .env is not reflected without rebuilding Docker image

Describe the bug
When changing the frontend URL:port in the .env file of the genlayer-simulator repository and restarting all Docker containers, the URL:port change is not applied. The configuration seems to be baked into the Docker image at build time. Deleting the frontend image and rebuilding it reflects the new URL:port, but this is not an efficient workflow.
To Reproduce

Clone the genlayer-simulator repository.
Build and start the Docker containers using docker compose up -d.
Change the VITE_WS_SERVER_URL or VITE_JSON_RPC_SERVER_URL values in the .env file.
Restart the containers using docker compose down && docker compose up -d command.
Access the frontend application and notice that it's still running on the old URL/port.

Expected behavior
Changing the VITE_WS_SERVER_URL or VITE_JSON_RPC_SERVER_URL values in the .env file and restarting the containers should update the frontend to run on the new URL:port without needing to rebuild the Docker image. JSON-RPC container supports this without any issues.
Actual behavior
The frontend continues to run on the old URL:port unless the Docker image is deleted and rebuilt.
Suggested Solution
Implement dynamic configuration for the frontend URL:port so that it reads the VITE_WS_SERVER_URL or VITE_JSON_RPC_SERVER_URL values from the .env file at runtime instead of build time. This could involve:

Adjusting the frontend application's startup script to read the URL:port configuration when the container starts.

Additional context
This enhancement would streamline development and deployment processes by eliminating the need to rebuild the Docker image for port changes.

@mentatbot


Add put route to contractor saga or create new updateContractor saga

Need to be able to edit contractor details. Please add a put route or make a new saga for doing so. Thanks!

In progress... Need all finalized columns to be able to POST or PUT


Getting error with "Administrators" security type in SPServiceAppSecurity

Details of the scenario you try and problem that is occurring:
I'm trying to execute this code:
Configuration Example
{
    param(
        [Parameter(Mandatory = $true)]
        [PSCredential]
        $SetupAccount
    )
    Import-DscResource -ModuleName SharePointDsc

    node localhost {
        $membersToInclude = @()
        $membersToInclude += MSFT_SPServiceAppSecurityEntry {
                                Username    = "CONTOSO\SharePointFarmAccount"
                                AccessLevel = "Full Control"
                            }
        $membersToInclude += MSFT_SPServiceAppSecurityEntry {
                                Username    = "CONTOSO\SharePointServiceApps"
                                AccessLevel = "Full Control"
                            }
        SPServiceAppSecurity UserProfileServiceSecurity
        {
            ServiceAppName       = "User Profile Service Application"
            SecurityType = "Administrators"
            Members  = $membersToInclude
            PsDscRunAsCredential = $SetupAccount
        }
    }
}

I'm receiving the following error:
Cannot bind argument to parameter 'ReferenceObject' because it is null.
    + CategoryInfo          : InvalidData: (:) [], CimException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObje
   ctCommand

When I look in the MOF file, I can see that there is no empty value. Everything is well populated. Perhaps I'm doing something wrong but I don't see what. I didn't try to use 'MembersToInclude' and use 'Members' instead because I want to make sure that only the list provided is admin on the service and no one else.
Version of the Operating System and PowerShell the DSC Target Node is running:
Windows Server 2016 with SharePoint 2016
Version of the DSC module you're using:
<IP_ADDRESS>

@wickedave This is likely due to an error happening in our script. Are you able to share the verbose output from that resource up to the error you have there so we can assess the code path it was taking to get to the error?

@BrianFarnhill Here is the verbose output:
VERBOSE: [SP-Server]: LCM:  [ Start  Resource ]  [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
VERBOSE: [SP-Server]: LCM:  [ Start  Test     ]  [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Testing all security options for Administrators in Lab-UPA-01
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Getting all security options for Administrators in Lab-UPA-01
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Executing as the local run as user UBISOFT-ORG\svc_sps_setup
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Leaving BeginProcessing Method of Get-SPServiceApplication.
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Leaving ProcessRecord Method of Get-SPServiceApplication.
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Leaving EndProcessing Method of Get-SPServiceApplication.
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Leaving BeginProcessing Method of Get-SPServiceApplicationSecurity.
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Leaving ProcessRecord Method of Get-SPServiceApplicationSecurity.
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Leaving EndProcessing Method of Get-SPServiceApplicationSecurity.
VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Processing Members parameter
Cannot bind argument to parameter 'ReferenceObject' because it is null.
    + CategoryInfo          : InvalidData: (:) [], CimException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObje
   ctCommand
    + PSComputerName        : SP-Server

VERBOSE: [SP-Server]:                            [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
Security list matches - checking that permissions match on each object
VERBOSE: [SP-Server]: LCM:  [ End    Test     ]  [[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators]
in 0.4370 seconds.
The PowerShell DSC resource '[SPServiceAppSecurity]SAPermission-UPA-01-Lab-Administrators' with SourceInfo
'C:\Users\MyUser\Documents\GitHub\sp-scripts\DSC\SP2016-Config.ps1::623::25::SPServiceAppSecurity' threw one or
more non-terminating errors while running the Test-TargetResource functionality. These errors are logged to the ETW
channel called Microsoft-Windows-DSC/Operational. Refer to this channel for more details.
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : NonTerminatingErrorFromProvider
    + PSComputerName        : SP-Server```

@wickedave Have you tried to use the format:
$membersToInclude +=          $membersToInclude +=          SPServiceAppSecurity UserProfileServiceSecurity         {             ServiceAppName       = "User Profile Service Application"             SecurityType = "Administrators"             Members = @(                         MSFT_SPServiceAppSecurityEntry {                                 Username    = "CONTOSO\SharePointFarmAccount"                                 AccessLevel = "Full Control"                             }                         MSFT_SPServiceAppSecurityEntry {                                 Username    = "CONTOSO\SharePointServiceApps"                                 AccessLevel = "Full Control"                             }                 )             PsDscRunAsCredential = $SetupAccount          }
And have you tried to test this with v1.8?

@ykuijs I've updated the DSC module to <IP_ADDRESS> and I got the same error. I also tried the syntax you proposed me and the configuration is not even starting. Here's the error I'm getting:
PS C:\Windows\system32> Update-DscConfiguration -Wait -Verbose
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' =
PerformRequiredConfigurationChecks,'className' = MSFT_DSCLocalConfigurationManager,'namespaceName' =
root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer SP-Server with user sid
S-1-5-21-842925246-1390067357-682003330-55004.
VERBOSE: [SP-Server]:                            [] Executing Get-Action with configuration 's checksum returned
result status: GetConfiguration.
VERBOSE: [SP-Server]:                            [] Checksum is different. LCM will execute GetConfiguration to
pull configuration .
VERBOSE: [SP-Server]:                            [] Executing GetConfiguration failed. Configuration
SharePoint.SP-Server.ubisoft.org is not pulled.
Cannot find module MSFT_SPServiceAppSecurityEntry from the server https://DSCPullServer/PSDSCPullServer.svc/Modules(ModuleName='MSFT_SPServiceAppSecurityEntry',ModuleVersion='')/ModuleContent.
    + CategoryInfo          : ResourceUnavailable: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : WebDownloadManagerModuleNotFound,Microsoft.PowerShell.DesiredStateConfiguration.Commands
   .GetDscModuleCommand
    + PSComputerName        : localhost

VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 1.493 seconds

If I'm changing Members for MembersToInclude, it is working well. So the issue seems to happen only with Members parameter.

I think I see it, we are looking at line 349 here. It's got the $CurrentValues.Members.Username there which is the null object, so I'm assuming that there are no objects in $CurrentValues.Members to make that happen. This is different to the MembersToInclude approach as we use -notcontains and things like that to match things, so it wouldn't throw an error.
@wickedave Can you confirm if the service app you are running this against has no current permissions applied to it? And if you manually add one in central admin does this same bit of code execute? If so we can just drop a null test in and this is a quick fix.

@BrianFarnhill Hi you are right. As soon a an account is already present, there's no error but I have another issue. I've put an account that is not part of "Members" parameter and after the SET, nothing has changed.

@wickedave OK, so two things then - lets use this issue to track that quick fix at line 349 (@ykuijs is good at picking up these kind of quick fixes in his bug fix rollups), but can I get you to open a new issue and include the verbose output of when it runs without making that change? Then we can track the two as separate issues.

@BrianFarnhill Sure. I will open another issue for the "doing nothing" matter. Thanks

Closed with PR 660

@BrianFarnhill, I wonder If the issue when current user list is empty was separately registered. I experience the error when I try to use SharePointDSC <IP_ADDRESS>

@ykuijs Can you have a look at this one for @shurick81 .
@shurick81  I don't look after this project anymore, but Yorick and the guys will be able to help you out! :)

I guess this is registered in issue #641, which is still open.


Updated packages; added Babel to build

I updated the packages and couldn't find anything that stopped working besides the rollup-plugin-uglify so I changed the import uglify to import { uglify } for it to keep working. I also added the rollup-plugin-babel to make the package more friendly for not-so-latest browsers.

We've decided to go down the #286 route, thanks for your PR.


CRB 41

networking port including:

gossip.py
gossip_handlers.py
interconnect.py

Included CRB-131

Needs more work. I will continue once 1.7.0 deadlock is fixed.


159 number of initial experiments should be dynamically calculated

The scaling of the number of initial experiments needs expert user input (and or benchmarking), since the present scaling of ´factors * 3´ is way too aggressive.

@dk-teknologisk-mon You can click the big 0/x number and edit "n initial points". Is this what you mean? If yes, perhaps we should add an edit button to make it more clear.

No, I mean that the default suggestion (3 times the number of factors you enter) is way too much and actively scares users away. It is common that our users enter 5-8 factors, and in the latter case we right now tell them to go out and do 24 experiments before they can get anywhere. This makes them think "oh no, this is just like regular DOE where I have to do too many experiments" and so they give up before they even get started. If we base the number of suggested initial points on the factors, the scaling should probably just be one point per factor. This will be a much better setting until we change the way the number is chosen.

Aside from this lowering of suggested initial points, I also think it is a good idea to make it much clearer that you can change the number if you want to.


Async let family

Introduce the "family" of names around async let:

async let for child task variables
TaskGroup.async for initiating async work as a child task

@swift-ci please test


use background jobs to improve performance

Should be fun.

My own tests indicate the added overhead outweighs the performance benefits on crappy computers, whereas with the most recent optimizations this is fast enough on newer hardware, even without background jobs.
Veredict: it's definitely not worth the added complexity.
Welp, at least I learned something.


Add docker version info in /info request

fix #14952
Signed-off-by: Zhang Kun<EMAIL_ADDRESS>

I dont know if this is something we need we have the /version endpoint already :/

ping @docker/core-maintainers

I'm okay with adding version to info
ping @docker/core-maintainers

It would sometimes reduce the number of going back and forth to get the information when people are reporting issues here, but either way is fine to me

ping @icecrime @tiborvass idk im kinda neutral but leaning towards why not just call the other endpoint.... idk

I updated the code.  @jfrazelle  do you mean this?

LGTM

I'm -0 on this because this will leave us with two commands that share output ; one is a direct subset of the other.  Why not just look to merge them into one command and kill off the other?

ok yeah i agree with @duglin

Agreed with @jfrazelle and @duglin. This will render docker version virtually useless. I'm ok with adding version to info but this should be a single field with the server version for example and not just adding the complete output of version right after info.
What about something like this:
Containers: 0
Images: 107
Server Version: 1.8.1
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.1.5-1-ARCH
Operating System: Arch Linux
CPUs: 8
Total Memory: 15.6 GiB
Name: archbox
ID: OUQD:OBQE:7KQO:2FQ5:YJIC:ILXS:O7SE:PWEK:3ZWT:PG7I:RUPA:2EIW

Agreed with @abronan
This is exactly what I asked in #14952 (may be a misunderstanding, my english sucks ...) :)

ok then lets move ahead with that
On Mon, Aug 24, 2015 at 11:31 AM, Shini31<EMAIL_ADDRESS>wrote:

Agreed with @abronan https://github.com/abronan
This is exactly what I asked in #14952
https://github.com/docker/docker/issues/14952 (may be a
misunderstanding, my english sucks ...) :)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/15029#issuecomment-134329055.

@azurezk can you update this PR to do that instead?

oh jk that is how it is now, LGTM

ping @abronan ;) its now just client side

Should it be changed on daemon side? I did it before, shall I change it back?

ping @abronan So this should be done daemon side?

@jfrazelle what do you mean by it's just client side now? :)
Imho this would be better if done daemon side by adding a single DockerVersion field to /info and use it client side on CmdInfo.

@abronan Can you please take care of that one (i.e., review if it is as you expect, or carry if you feel it need changes)? Seems this PR has been waiting long enough.

@icecrime sure
@azurezk Sorry for the delay on discussing the design, are you open to make the change as it was first (ie. not just appending version to info but adding a field for the version like DockerVersion and output it on info)? Thanks!

yes, code is updated:) @abronan

Thanks @azurezk. Failures on Jenkins appears to be unrelated. Will check later though once this is updated.
LGTM
Might need some change in the documentation for the commandline output though.

Can you add the new field to https://github.com/docker/docker/blob/master/integration-cli/docker_api_info_test.go#L18

doc and test changed a little  @abronan @cpuguy83

LGTM

/cc @thaJeztah

Thanks @azurezk, I think there's a few more docs that need to be updated;

The /info endpoint of the API will also include this information, can you add the new information to the example here: docs/reference/api/docker_remote_api_v1.21.md#display-system-wide-information

Can you add a note to the "changelog" for the API? You can find that here: docs/reference/api/docker_remote_api.md#v121-api-changes

The new output also needs to be added to the example output in the man-page for docker info, which can be found here: man/docker-info.1.md

docs added :) @thaJeztah

Thanks for your work @azurezk !

Thanks @azurezk
LGTM
ping @moxiegirl @SvenDowideit

Sorry @azurezk, It needs a rebase :disappointed:

kindly ping @moxiegirl @SvenDowideit :dancer: :whale:

Thank you @azurezk.  LGTM @thaJeztah for the merge.

@azurezk Needs a last rebase and we are good to merge :+1:

:-1: could we please hide those field in the CLI if they are empty ?
Please keep in mid that the cli doesn't always talk to an engine, sometimes it's swarm :D

@vieux if it's an important fix for 1.9, please send a PR quick so we can have it for rc2.

It's not "important" but I will

thanks @tiborvass


Allow for refreshing the JWKS struct

Since API servers tend to be long-running processes, it would be nice to have a way to re-pull the JWKS to reflect changes that may have occurred since the initial load.

I have been playing with this. Ready for a PR soon?


Fix for: uncaught exception method 'onmobiledomain' does not exist on 'Security'

Hi Will and Sean,
On trying out the mobile module I received the following error when trying to access the login page. Tried on a new install of Silverstripe 2.4.5 and Silverstripe-Mobile. Attached change fixes the issue.
[User Error] Uncaught Exception: Object->__call(): the method 'onmobiledomain' does not exist on 'Security'
GET /llantwithub/Security/login?BackURL=%2Fllantwithub%2Fadmin
Line 724 in G:\localhost\llantwithub\sapphire\core\Object.php
Source
715
716 				default :
717 					throw new Exception (
718 						"Object->__call(): extra method $method is invalid on $this->class:" . var_export($config, true)
719 					);
720 			}
721 		} else {
722 			// Please do not change the exception code number below.
723
724 			throw new Exception("Object->__call(): the method '$method' does not exist on '$this->class'", 2175);
725 		}
726 	}
727
728 	// -----------------------------------------------------------------------------------------------------------------
729
730 	/**
Trace
Object->__call(onMobileDomain,Array)
Security->onMobileDomain()
Line 11 of MobileSiteTreeExtension.php
MobileSiteTreeExtension->MetaTags(<meta name="generator" content="SilverStripe - http://silverstripe.org" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> ,,,,,,)
Line 963 of Object.php
Object->extend(MetaTags,<meta name="generator" content="SilverStripe - http://silverstripe.org" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> )
Line 1256 of SiteTree.php
SiteTree->MetaTags(false)
call_user_func_array(Array,Array)
Line 693 of Object.php
Object->__call(MetaTags,Array)
Page_Controller->MetaTags(false)
call_user_func_array(Array,Array)
Line 369 of ViewableData.php
ViewableData->obj(MetaTags,Array,,1,)
Line 823 of ViewableData.php
ViewableData_Customised->obj(MetaTags,Array,,1,)
Line 823 of ViewableData.php
ViewableData_Customised->obj(MetaTags,Array,,1)
Line 446 of ViewableData.php
ViewableData->XML_val(MetaTags,Array,1)
Line 43 of .cache.themes.blackcandy.templates.Page.ss
include(C:\WINDOWS\Temp\silverstripe-cacheG--localhost-llantwithub\.cache.themes.blackcandy.templates.Page.ss)
Line 429 of SSViewer.php
SSViewer->process(ViewableData_Customised)
Line 342 of ViewableData.php
ViewableData->renderWith(Array)
Line 401 of Security.php
Security->login(SS_HTTPRequest)
Line 193 of Controller.php
Controller->handleAction(SS_HTTPRequest)
Line 143 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 147 of Controller.php
Controller->handleRequest(SS_HTTPRequest)
Line 282 of Director.php
Director::handleRequest(SS_HTTPRequest,Session)
Line 125 of Director.php
Director::direct(/Security/login)
Line 127 of main.php

Thanks marignkampf, though from the looks of it this may just hide the smoke and not put out the fire.  MobileSiteControllerExtension is added to the ContentController rather than all Controllers, @halkyon why would that be? surely it should be on all Controllers as then the module will fail for all non content controller based actions

having the same problem, the marijnkampf 's fix solve the issue.
May need to merge back to origin_master incase other run into the same problem


battery:status doesn't work

$ mac battery:status
system_profiler SPPowerDataType | awk '/Full/ || /Remaining/ || /Cycle/ { echo }' | sed -e 's/[^:]*/Battery/' -e 's/ *R.*):./\//' -e 's/ *Cycle/ (mAh)     Cycle/'

awk: illegal statement
 input record number 15, file
 source line number 1

OSX 10.11.6 Beta (15G24b)

@saada Could you please fix that command? I don't have the MacOS beta installed on my Macbook.
Please let me know.
Thanks.

This seems to work for me:
system_profiler SPPowerDataType | awk '/Full/ || /Remaining/ || /Cycle/ {print}' | sed -e 's/[^:]*/Battery/' -e 's/ *R.*):./\//' -e 's/ *Cycle/ (mAh)     Cycle/'
Battery: 1526
Battery: No
Battery: 7422
Battery: 941

I change the {echo} to {print}.
Is that the expected output?

If yes, then I'll go ahead and create a pull-request

Hi @saada,
That is almost correct. The only difference is that the commands was showing the right labels (instead of the "battery" four times).
Could you please get the labels fixed on the command? After that, you can create the PR and I will get it merged.
Thanks!
Gabriel

With my very primitive awk skills:
$ system_profiler SPPowerDataType | awk '/Full/ || /Remaining/ || /Cycle/ {print}' | awk '{print $1 " " $2 " " $3 " " $4 " " $5}'
Charge Remaining (mAh): 7290
Fully Charged: Yes
Full Charge Capacity (mAh): 7381
Cycle Count: 941

Hello everyone, I think  pmset -g batt can get the status easier  #69

$ pmset -g batt
Now drawing from 'Battery Power'
 -InternalBattery-0 	47%; discharging; 1:58 remaining present: true

@rgcr , that seems like a different set of info. Maybe we can combine the two?

This has been fixed by @rgcr on PR #69


Eliah Kagan: Watch alnuaimiauditors.com

Eliah Kagan requests the watch of the watch_keyword alnuaimiauditors\.com. See the MS search here and the Stack Exchange search here.

alnuaimiauditors\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Shree in Charcoal HQ

Approved by Makyen in Charcoal HQ


Handle TypedFactoryFacility in IPotentialLifestyleMismatchesDiagnostic implementation

IPotentialLifestyleMismatchesDiagnostic gets false-positive when component uses TypedFactoryFacility. @kkozmic mentioned in this thread that it's possible to suppress this kind of warnings.

This is potentially linked to https://github.com/castleproject/Windsor/issues/328, closing for now. Please re-open if you feel this is a mistake. Resolution determinism is quite difficult given the extension points using the container.


Extensions to External Types (Hierarchical)

#210 (Forums Discussion)

Note This is an alternative implementation to #335, with the only notable difference being that extensions to nested external types are organized in a hierarchy.

Summary
This PR enables users of DocC to document extensions to external types, i.e. local extensions, that extend a type declared in a different module. These extensions are presented as part of the extending module's documentation archive.
All extensions to one type are merged into an Extended Type page, where "Type" can be either of struct, class, enum, protocol, or just "Type", if the extended type's kind is unknown. Extended Type pages list their children, conformances, etc. just as pages for normal types.
All top-level Extended Type pages, where the extended type was declared in the same module, are children of the same Extended Module page. The Extended Module pages are top level pages, i.e. by default listed in the archive overview page.
Referencing
Extended Module symbols are referenced using ``ModuleName``, Extended Type symbols via ``ModuleName/Path/To/ExtendedType``. The Path/To/ExtendedType has more than one segment for extensions to nested external types. Extensions to type aliases use the name of the aliased (original) type.
Please refer to SwiftDocC.docc/SwiftDocC/LinkResolution.md for a more detailed explanation.
The new pages can be curated and extended as usual using these references.
Documentation Aggregation
Extended Module pages have no documentation by default. It is possible to add documentation via extension markup documents.
Extended Type pages have default documentation. They use the longest documentation comment of any extension block that contributed to the extended type. Again, it is possible to add documentation via extension markup documents.
Example:
/// This will be discarded.
public extension String { /* ... */ }

/// This will be the documentation for ``Swift/String``, as
/// it is the longest (in terms of numbers of lines) documentation comment
/// above an extension to `String` that is defined in this module.
public extension String { /* ... */ }

Screenshots
The list of Extended Modules in the archive overview.

An example for an Extended Module page.

An example for an Extended Structure page.

The bottom part of the same Extended Structure page.

Implementation
Many of the files only had to be changed to introduce the six new symbol kinds module.extension, class.extension, struct.extension, enum.extension, protocol.extension, and unknown.extension as well as the new declaredIn and inContextOf relationship kinds.
Other than that, there are three components where actual logic had to be adapted:
SymbolGraphLoader
The loader detects whether or not the loaded symbol graphs contain swift.extension symbols. If all (non-main) files contain swift.extension symbols, the ExtendedTypesFormatTransformation is applied to (non-main) symbol graphs, and the loader configures the GraphCollector to merge extension graphs with the extending main graph instead of the extended one. If the loader detects a mixed input where some SGFs use the extension block format and some don't, it aborts loading with an error.
If there is no SFG that uses the extension block format, the loader behaves as it did prior to this PR.
ExtendedTypesFormatTransformation
This transformation generates the swift.module.extension and swift.TYPE_KIND.extension symbols from the swift.extension symbols. There is a detailed explanation available in code here.
The transformation essentially restructures and aggregates the swift.extension symbols to match the page structure we want to have in the end. After the transformation, most of Swift-DocC's logic can handle the new content without changes.
DocumentationContentRenderer+Swift -> navigatorTitle
Extension declarations only appear in top level code. Thus, if a nested external type is extended, it appears outside the context of its parent and therefore uses dots in its name, e.g. Outer.Inner. This behavior is reflected in the declaration fragments. The renderer could not handle dots in type names before, which resulted in the coloring being off. A more sophisticated parsing logic was added which is capable of handling names with dot infixes.

Note RenderNodeTranslator+Swift was removed because it was a copy of DocumentationContentRenderer+Swift where only the latter was used in production code and only the former was used in tests.

Dependencies

apple/swift#59047
apple/swift-docc-symbolkit#45
apple/swift-docc-symbolkit#39
apple/swift-docc-symbolkit#48
apple/swift-docc-symbolkit#52

Testing
There exist unit tests that:
- test detection of the Extension Block Symbol Graph Format and application of the
ExtendedTypesFormatTransformation in SymbolGraphLoader
- test the ExtendedTypesFormatTransformation
-  test references work with the old DocumentCacheBasedLinkResolver as well as the new PathHierarchyBasedLinkResolver.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran the ./bin/test script and it succeeded
[x] Updated documentation if necessary

Extensions for external types is so essential - I only just realised it's not yet supported by DocC!

Based on the extra information from your comment here I wrote some additional documentation for the extended types transformation to aid my understanding as I was reading the code. Feel free to incorporate any of it if you like.
/// Transforms the extension symbol graph file to better match the hierarchical symbol structure that DocC uses when processing and rendering documentation.
///
/// ## Discussion
///
/// Performing this transformation before the symbols are registered allows the handling of extensions to be centralized in one place
///
/// ### Extensions in symbol graph files
///
/// In the symbol graph file, each [extension declaration](extension-decl), i.e. `extension X { ... }`, has one corresponding symbol with a
/// `extension` kind. Each extension declaration symbol has one `extensionTo` relationship to the symbol that it extends.
///
/// ```swift
/// extension ExtendedSymbol { ... }
/// //  │          ▲
/// //  ╰──────────╯ extensionTo
/// ```
///
/// Each symbol that's defined in the extension declaration has a `memberOf` relationship to the extension declaration symbol.
///
/// ```swift
/// extension ExtendedSymbol {
/// //  ▲
/// //  ╰────────╮ memberOf
///     func addedSymbol() { ... }
/// }
/// ```
///
/// If the extension adds protocol conformances, the extension declaration symbol has `conformsTo` relationships for each adopted protocol.
///
/// ```swift
/// extension ExtendedSymbol: AdoptedProtocol { ... }
/// //  │                           ▲
/// //  ╰───────────────────────────╯ conformsTo
/// ```
///
/// ### Transformation
///
/// #### Extended type symbols
///
/// For each extended symbol, all extension declarations are combined into a single "extended type" symbol with the combined
/// `memberOf` and `conformsTo` relationships for those extension declarations. The extended symbol has the most visible
/// access off all of the extensions and the longest documentation comment of all the extensions.
///
/// ```swift
/// /// Long comment that                       //      The combined "ExtendedSymbol" extended type
/// /// spans two lines.                        //      symbol gets its documentation comment from
/// internal extension ExtendedSymbol { ... }   // ◀─── this extension declaration
///                                             //      ..
/// /// Short single-line comment.              //      and its "public" access control level from
/// public extension ExtendedSymbol { ... }     // ◀─── this extension declaration
/// ```
///
/// The kind of the extended type symbol include information about the extended symbol's kind:
///
///  - ``SymbolKit/SymbolGraph/Symbol/KindIdentifier/extendedStruct``
///  - ``SymbolKit/SymbolGraph/Symbol/KindIdentifier/extendedClass``
///  - ``SymbolKit/SymbolGraph/Symbol/KindIdentifier/extendedEnum``
///  - ``SymbolKit/SymbolGraph/Symbol/KindIdentifier/extendedProtocol``
///  - ``SymbolKit/SymbolGraph/Symbol/KindIdentifier/unknownExtendedType``
///
/// #### Documentation hierarchy
///
/// For the extended module, a new "extended module" symbol is created. Each top-level extended symbol has a `declaredIn` relationship to the extended module symbol:
///
/// ```
/// ┌─────────────┐             ┌──────────────────┐
/// │  Extended   │  declaredIn │ "ExtendedSymbol" │
/// │   Module    │◀────────────│   Extended Type  │
/// └─────────────┘             └──────────────────┘
/// ```
///
/// For extension declarations where the extended type is nested within another type, an "extended type" symbol is created for each symbol
/// in the hierarchy.
///
/// ```swift
/// extension Outer.Inner { ... }
/// ```
///
/// Each nested  "extended type" symbol has a `inContextOf` relationship to its "extended type" parent symbol.
///
/// ```
/// ┌─────────────┐             ┌─────────────┐              ┌─────────────┐
/// │  Extended   │  declaredIn │   "Outer"   │  inContextOf │   "Inner"   │
/// │   Module    │◀────────────│Extended Type│◀─────────────│Extended Type│
/// └─────────────┘             └─────────────┘              └─────────────┘
/// ```
///
/// [extension-decl]: https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID378
///
/// #### Path components
///
/// The URLs for symbols declared in extensions include both the extend_ed_ and extend_ing_ module names:
///
/// ```
/// /ExtendingModule/ExtendedModule/Path/To/ExtendedSymbol/NewSymbol
/// ```
///
/// To accomplish this, all extended type symbols' path components are prefixed with the extended module.
///
/// After transforming the extensions symbol graph, the extended symbols are merged with the extending module's symbol which adds
/// the leading extending module name to the extended symbol's URLs.

Based on the extra information from your comment here I wrote some additional documentation for the extended types transformation to aid my understanding as I was reading the code. Feel free to incorporate any of it if you like.

Excellent documentation! This documentation captures the application context way better than mine. I only adapted some parts of it to create a connection towards the function's parameters and return value.

If so, this test would be better if it decoded and transformed the extended symbols from an extension symbol graph file, the same way that they would be decoded and processed in a real documentation build.
I don't feel that this needs to be addressed in this PR but it would be good to file an issue and add a TODO/FIXME comment.

I added the TODO, however, I noticed there currently isn't a fitting issue template for code refactorings on GitHub. Similar TODOs are tracked via Apple's radar.

I addressed your remaining notes @d-ronnqvist. Thanks for putting so much effort into the review! I rebased again, so please trigger the CI one more time, then this should be ready for merge.

I almost forgot about the SymbolKit dependency. Please wait with the CI until apple/swift-docc-symbolkit#39 is merged and I have updated the Package.swift to point back to apple main!

@swift-ci please test

This looks like a Linux specific failure:
/home/build-user/swift-docc/Sources/SwiftDocC/Infrastructure/Symbol Graph/SymbolGraphConcurrentDecoder.swift:198:18: error: value of type 'Self' has no member 'allowsJSON5'
            self.allowsJSON5 = old.allowsJSON5
            ~~~~ ^~~~~~~~~~~
/home/build-user/swift-docc/Sources/SwiftDocC/Infrastructure/Symbol Graph/SymbolGraphConcurrentDecoder.swift:198:36: error: value of type 'JSONDecoder' has no member 'allowsJSON5'
            self.allowsJSON5 = old.allowsJSON5
                               ~~~ ^~~~~~~~~~~
/home/build-user/swift-docc/Sources/SwiftDocC/Infrastructure/Symbol Graph/SymbolGraphConcurrentDecoder.swift:199:18: error: value of type 'Self' has no member 'assumesTopLevelDictionary'
            self.assumesTopLevelDictionary = old.assumesTopLevelDictionary
            ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/build-user/swift-docc/Sources/SwiftDocC/Infrastructure/Symbol Graph/SymbolGraphConcurrentDecoder.swift:199:50: error: value of type 'JSONDecoder' has no member 'assumesTopLevelDictionary'
            self.assumesTopLevelDictionary = old.assumesTopLevelDictionary
                                             ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~

I can't find those properties in JSONDecoder.swift so I'm wondering if they're now available on Linux.

@d-ronnqvist I updated the SymbolKit dependency to point pack to apple main and squashed the commits. I removed the two problematic JSONDecoder properties entirely, as that code is part of the decoder injection logic, which we want to remove in a follow-up PR anyway, since it's only relevant to AutomaticCurationTests.testAutomaticTopics().
This is good to go from my point of view!

Sorry @d-ronnqvist, the branch was already outdated again. Ethan has been quite active on main recently 😅

@swift-ci please test

@theMomax Thanks for working on this huge improvement to docc.
I'm testing your solution with swift-DEVELOPMENT-SNAPSHOT-2022-11-01-a toolchain on an Xcode project that uses SwiftUI, providing these build settings:
SWIFT_USE_INTEGRATED_DRIVER = YES
OTHER_SWIFT_FLAGS = $(inherited) -emit-extension-block-symbols

and getting these errors:
error: Symbol with identifier 's:s7KeyPathC' couldn't be found
error: Symbol with identifier 'c:objc(cs)UIColor' couldn't be found
error: Symbol with identifier 'c:objc(cs)UIView' couldn't be found
error: Symbol with identifier 'c:objc(cs)UINavigationBar' couldn't be found
error: Symbol with identifier 'c:objc(cs)UITabBar' couldn't be found

Unfortunately, I can not share the source code.
Do you have any guess on what might go wrong?

@edudnyk thanks for trying out this feature. As recently discussed here, my current work only focuses on Swift extensions. That's probably the reason why all the Objective C identifiers can't be found. Nevertheless, they definitely should be filtered out before they can cause errors to be thrown and there is also one Swift identifier in your list, so I'll definitely need to investigate.
Would it be possible for you to share the generated Symbol Graph Files with me personally via email? This would help me a lot trying to reproduce your issue. The Symbol Graph Files only contain information about the declarations in your code, so none of your business logic would be exposed.

@theMomax done. If I can help you in any other way to find the root cause, please let me know.

@edudnyk this was in fact a bug in the symbol graph generation for extended external types. This PR should fix the issue. In the meantime you can just manually remove the inheritsFrom relationships where the source is among the five identifiers that couldn't be found from the symbol graph files. Afterwards docc should be able do build the archive without errors.

@theMomax thanks for making the fix.
I managed to find the smallest reproducible example with the following Xcode project.
I noticed another couple of issues:

The variables defined in the extension to SomeToken which is the type alias to KeyPath<SomeAccessors, Subj>, are shown on the KeyPath type, but not on the type alias type. Maybe this can be scoped to the type alias extension?
Having Lib1 depending on Lib2, and the App reexporting Lib1 and Lib2, and in Lib1 having the extensions defined to the types declared in Lib2, the variables defined in these extensions, are shown on the root level of the doc archive.

Sorry for the late response @edudnyk. Thank you for the project, this helps a lot. In response to the issues you found:
1.
This is per spec and has nothing to do with this PR. See the documentation I added here. We are aware that this is not ideal, but it is also not a pressing issue at the moment. Feel free to create an issue if this is important to you.
2.
This is definitely a bug. The problem here is that main symbol graph files should not contain extension symbols, but for the Tests target it does. It contains the extension symbols for extensions Lib1 defines on Lib2, as well as the normal symbols from Lib2. However, all of these symbols are re-exported under the same name, so essentially "Tests" is extending itself. There would be a relatively easy fix here in Swift-DocC, but that would result in the doc archive for Tests containing an Extended Module Tests, which is very counterintuitive behavior (in the image the Tests target is named ExportedExtendedLib):

I think that the only real solution is for the Swift compiler to basically treat these extensions across re-exported targets as local extensions (which are treated as if they really were declared in Tests itself). I'll work on a fix for that. Until then, the workaround is to not use the -emit-extension-block-symbols flag with @_exported import and instead compile documentation archives for each of the re-exported targets individually.


[WIP] Use a simple struct for relation name

This adds a simple struct object for a relation name which allows to use it more explicit in rom-sql and rom-repo. Instead of ad hoc names manipulations we are now able to use a single object that contains both dataset and relation names so that we can use one or another depending on the context. It is especially handful when dealing with curried relations in rom and relation proxies in rom-repo.
Current state: rough draft, no specs were written because this was a real challenge to make all specs pass in four (!) projects (rom, rom-sql, rom-repo, and my project which uses unusual DB naming). Things still don't work in all cases so I'm going fix this and add a bunch of specs to rom/rom-sql/rom-repo. First of all there is something wrong with combining associations in rom-repo though specs are passing...

OK I'm in "rom-rb mode" again. How can I help with this?

@solnic this now spread across four PRs (fresh one is https://github.com/rom-rb/rom-support/pull/7). And this works basically :) It's a weekend here so I'm going to add specs/docs today and besides it you're free to review these PRs so we could merge them into master one day :)
Apart from it, it would be great to add support for alias syntax for associations like belongs :users, as: :author  but it can be postponed until we get this merged.

Awesome work man! Please also update CHANGELOG in master :)

Will do!


how to use this plugin in vue-cli3

you can do it like this:
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin')
const smp = new SpeedMeasurePlugin()

module.exports = {
    ...,
    configureWebpack: smp.wrap({
        output: {
	    ...
        },
        plugins: [
    	   ...
        ]
    })
}

how to use this plugin in vue-cli4 @AllenChinese

@AllenChinese  I follow your configuration but it does not take effect

@AllenChinese I follow your configuration but it does not take effect

yeah same to me it does not take effect.

I created a new vue-cli plug-in. The main content of the plug-in is:
const origin = api.service.resolveWebpackConfig.bind(api.service);
  api.service.resolveWebpackConfig = (...params) => {
    const config = origin(...params);
    const smp = new SpeedMeasurePlugin();
    return smp.wrap(config);
  };

By resetting 'API. Service. Resolvewebpackconfig', SMP wraps all webpack configurations


fix misaligned tags for overlapping marks

This solves the issue with misaligned tags for overlapping marks, see https://github.com/ueberdosis/tiptap-php/issues/33
In order to preserve the correct order when closing and reopening html tags, a stack is used to track all currently open mark tags.

It seems to be fixing https://github.com/ueberdosis/tiptap-php/issues/33 for me. Would be great to see it merged.

Hey @faltjo, thanks for the PR. I will have a look as soon as possible. Need some time to take care of it though.

Thank you @timoisik

Thanks @faltjo for fix, and @timoisik for merging!


I keep getting this error

I do "pip install -r requirements.txt" and at the end I always get this error:
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip/utils/init.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/var/folders/vq/6110fnsj2295ydwyzwmsv1jm0000gn/T/pip-JgN47R-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'

Try it with sudo


Redo UI to show more account information on bigger screens.

Progess has been made, yay. However, with the new template, I've noticed some issues with how some of our old styling options have now.
The footer is static'd in page, no longer always at the bottom of each page. Fix is probably move the clock to the new side menu, and maybe hide the queries?
Hover tabs no longer work. (Explore and Profile). Probably best to redo those pages with a new look.
More to come?

Update pics!
(Desktop)[https://cdn.discordapp.com/attachments/264040712209825792/542149495446568975/newone.PNG]
(Mobile)[https://cdn.discordapp.com/attachments/264040712209825792/542149661322903552/Screenshot_20190204-200903_Chrome.jpg]
(Mobile Menu)[https://cdn.discordapp.com/attachments/264040712209825792/542149661322903553/Screenshot_20190204-200859_Chrome.jpg]

Slight issue, opening "sub-menus" on the staff panel doesn't appear to work anymore? Gonna need fixed/replaced.


Stellar - Implement more flash messages for all events

[ ] Implement flash messages for sent transactions
[ ] Implement flash messages for imported wallet
[ ] Implement flash messages for received transactions
...

@MathiasDeWeerdt


itests: add session linking test

In this PR, we add a session linking itests which aims to test behaviour across linked sessions. Particularly:

that calls through linked sessions make use of the same privacy mapper
that obfuscated rule values (like channel IDs) use the same privacy mapper across linked sessions
that the rule enforcer uses the same DB across linked sessions

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

@bitromortac: review reminder
@ellemouton, remember to re-request review from reviewers when ready

ping @bitromortac  - would be nice to get this in for test coverage 🙏


Feature request - Improve addNodeAndEdge utility to also bind edges to ports

At this time, the addNodeAndEdge utility helps us easily add a new node and link it to another node while creating the edge.
export declare function addNodeAndEdge(nodes: NodeData[], edges: EdgeData[], node: NodeData, toNode?: NodeData): {
    nodes: NodeData<any>[];
    edges: EdgeData<any>[];
};

Although, if ports are configured on both nodes, it should allow us to configure ports binding too.
At this time, if ports are defined on the nodes, they aren't being used, which generates something odd:

In a simple use-case, where both nodes have at most 1 port per side, it should be straightforward to automatically configure binding.
The toNode is the source and should be bound by its WEST port (when Canvas direction = 'RIGHT'), while the node is the destination and should be bound by its EAST port.
Things might get more complicated when a node has several ports in the same side, but I suggest having an auto strategy that binds to the first port it finds on the side the node should be bound.
We might have a 5th argument to addNodeAndEdge, such as:
addNodeAndEdge(nodes: NodeData[], edges: EdgeData[], node: NodeData, toNode?: NodeData, portsResolver: (node: NodeData, toNode?: NodeData) => {nodePorts: PortData[], toNodePorts: PortData[]}): {
    nodes: NodeData<any>[];
    edges: EdgeData<any>[];
};

If unspecified, the 5th argument would use the default implementation, which behaves as above mentioned (binding to the first port it finds on the expected side), providing a custom portsResolver would override this behaviour and allow for more customisation.
Does this feature request makes sense? Is it something that might be added natively? I believe it would ease usage of Ports by providing a sane default behavior, while allowing for extra customisation for non-covered use-cases.

The ports resolver might be a little much - what about just passing the port you want?

I'm fine with it, I just thought it'd be a nice addition to have it natively supported.

@amcdnl I've implemented my own methods, but it's sad because I had to do it for almost all utility functions provided by reaflow. (addNodeAndEdge, removeAndUpsertNodes and upsertNode)
Basically, the utilities provided aren't flexible enough to be comosable/overridden, so I had to duplicate the code and adapt it. I think those utilities might provide additional parameters to avoid duplicating the whole code and become more reusable.

/**
 * Add a node and optional edge, and automatically link their ports.
 *
 * Automatically connects the fromNode (left node) using its EAST port (right side) to the newNode (right node) using it's WEST port (left side).
 *
 * XXX Does not support adding a newNode as left node, it must be on the right side of the fromNode.
 *
 * Similar to reaflow.addNodeAndEdge utility.
 */
export function addNodeAndEdgeThroughPorts(
  nodes: BaseNodeData[],
  edges: BaseEdgeData[],
  newNode: BaseNodeData,
  fromNode?: BaseNodeData,
) {
  const fromPort: PortData | undefined = fromNode?.ports?.find((port: PortData) => port?.side === 'EAST');
  const toPort: PortData | undefined = newNode?.ports?.find((port: PortData) => port?.side === 'WEST');
  const newEdge: BaseEdgeData = {
    id: `${fromNode?.id || uuid()}-${newNode.id}`,
    from: fromNode?.id,
    to: newNode.id,
    parent: newNode.parent,
    fromPort: fromPort?.id,
    toPort: toPort?.id,
  };

  return {
    nodes: [...nodes, newNode],
    edges: [
      ...edges,
      ...(fromNode ?
        [
          newEdge,
        ]
        : []),
    ],
  };
}

/**
 * Helper function for upserting a node in a edge (split the edge in 2 and put the node in between), and automatically link their ports.
 *
 * Automatically connects the left edge to the newNode using it's WEST port (left side).
 * Automatically connects the right edge to the newNode using it's EAST port (right side).
 *
 * Similar to reaflow.upsertNode utility.
 */
export function upsertNodeThroughPorts(
  nodes: BaseNodeData[],
  edges: BaseEdgeData[],
  edge: BaseEdgeData,
  newNode: BaseNodeData
) {
  const oldEdgeIndex = edges.findIndex(e => e.id === edge.id);
  const edgeBeforeNewNode = {
    ...edge,
    id: `${edge.from}-${newNode.id}`,
    to: newNode.id
  };
  const edgeAfterNewNode = {
    ...edge,
    id: `${newNode.id}-${edge.to}`,
    from: newNode.id
  };

  if (edge.fromPort && edge.toPort) {
    const fromLeftNodeToWestPort: PortData | undefined = newNode?.ports?.find((port: PortData) => port?.side === 'WEST');
    const fromRightNodeToEastPort: PortData | undefined = newNode?.ports?.find((port: PortData) => port?.side === 'EAST');

    edgeBeforeNewNode.fromPort = edge.fromPort;
    edgeBeforeNewNode.toPort = fromLeftNodeToWestPort?.id || `${newNode.id}-to`;

    edgeAfterNewNode.fromPort = fromRightNodeToEastPort?.id || `${newNode.id}-from`;
    edgeAfterNewNode.toPort = edge.toPort;
  }

  edges.splice(oldEdgeIndex, 1, edgeBeforeNewNode, edgeAfterNewNode);

  return {
    nodes: [...nodes, newNode],
    edges: [...edges]
  };
}

/**
 * Removes a node between two edges and merges the two edges into one, and automatically link their ports.
 *
 * Similar to reaflow.removeAndUpsertNodes utility.
 */
export function removeAndUpsertNodesThroughPorts(
  nodes: BaseNodeData[],
  edges: BaseEdgeData[],
  removeNodes: BaseNodeData | BaseNodeData[],
  onNodeLinkCheck?: (
    newNodes: BaseNodeData[],
    newEdges: BaseEdgeData[],
    from: BaseNodeData,
    to: BaseNodeData,
    port?: PortData
  ) => undefined | boolean
) {
  if (!Array.isArray(removeNodes)) {
    removeNodes = [removeNodes];
  }

  const nodeIds = removeNodes.map((n) => n.id);
  const newNodes = nodes.filter((n) => !nodeIds.includes(n.id));
  const newEdges = edges.filter(
    (e: BaseEdgeData) => !nodeIds.includes(e?.from as string) && !nodeIds.includes(e?.to as string)
  );

  for (const nodeId of nodeIds) {
    const sourceEdges = edges.filter((e) => e.to === nodeId);
    const targetEdges = edges.filter((e) => e.from === nodeId);

    for (const sourceEdge of sourceEdges) {
      for (const targetEdge of targetEdges) {
        const sourceNode = nodes.find((n) => n.id === sourceEdge.from);
        const targetNode = nodes.find((n) => n.id === targetEdge.to);

        if (sourceNode && targetNode) {
          const canLink = onNodeLinkCheck?.(
            newNodes,
            newEdges,
            sourceNode,
            targetNode
          );

          if (canLink === undefined || canLink) {
            const fromPort: PortData | undefined = sourceNode?.ports?.find((port: PortData) => port?.side === 'EAST');
            const toPort: PortData | undefined = targetNode?.ports?.find((port: PortData) => port?.side === 'WEST');

            newEdges.push({
              id: `${sourceNode.id}-${targetNode.id}`,
              from: sourceNode.id,
              to: targetNode.id,
              parent: sourceNode?.parent,
              fromPort: fromPort?.id,
              toPort: toPort?.id,
            });
          }
        }
      }
    }
  }

  return {
    edges: newEdges,
    nodes: newNodes
  };
}

Essentially, there is no way to provide fromPort and toPort for the dynamically created edge in removeAndUpsertNodes and addNodeAndEdge. In upsertNode, it's the edgeBeforeNewNode.toPort and edgeAfterNewNode.fromPort that cannot be customised.
In the above implementations, I'm using the editor in direction='RIGHT' and ports are resolved with that configuration in mind. I believe the DX could be improved, I'm not sure how, though. I'm not sure if you'd want to increase the flexibility (and complexity) of the built-in helpers, but I thought I'd share my findings nevertheless. :smile:

I implemented the same in my app. It really depends on your requirements - for mine I had certain restrictions that were difficult to abstract in a way that would not make it more complicated to use. These helpers are really just starting places for common use cases - I would encourage you to make a PR to the docs in a seperate page like Advanced > Extended Helpers or something.

I see. Is your goal to only provide a small set of helpers (as what's done currently), or would you like to provide more helpers for other use-cases?
If so, we could add those above-mentioned helpers, either by adding them as examples (if not in the core), or to improve the core helper (I think the above might be trivial to abstract).
I think, we should at the very least add those as examples for inspiration (in the StoryBook).

Documentation updated in https://github.com/reaviz/reaflow/pull/72


[improve][broker] PIP-192 Added ServiceUnitStateChannel interface

Fixes #xyz

Master Issue: https://github.com/apache/pulsar/issues/16691
Motivation

We will start raising PRs to implement PIP-192, https://github.com/apache/pulsar/issues/16691
Modifications
The PR adds base classes for the new broker load balance project and does not integrate with the existing load balance logic --this PR should not impact the existing broker load balance behavior.
For the pip-192 project, this PR

defines the classes under org.apache.pulsar.broker.loadbalance.extensions package.
defines this ServiceUnitStateChannel public interface and its expected behaviors.
defines ServiceUnitState and ServiceUnitStateData data classes.
defines Split and Unload data classes.

Verifying this change

[x] Make sure that the change passes the CI checks.

This change added tests and can be verified as follows:

*Added unit tests for the new classes.

Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

We will have separate PRs to update the Doc later.
Matching PR in forked repository
PR in forked repository: https://github.com/heesung-sn/pulsar/pull/11

/pulsarbot run-failure-checks

Codecov Report

Merging #18079 (d7a4a71) into master (6c65ca0) will decrease coverage by 4.24%.
The diff coverage is 12.50%.

@@             Coverage Diff              @@
##             master   #18079      +/-   ##
============================================
- Coverage     34.91%   30.67%   -4.25%
+ Complexity     5707     4016    -1691
============================================
  Files           607      397     -210
  Lines         53396    43445    -9951
  Branches       5712     4463    -1249
============================================
- Hits          18644    13327    -5317
+ Misses        32119    28142    -3977
+ Partials       2633     1976     -657

Flag
Coverage Δ

unittests
30.67% <12.50%> (-4.25%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../org/apache/pulsar/broker/admin/v2/Namespaces.java
7.51% <0.00%> (-0.52%)
:arrow_down:

...adbalance/extensible/channel/ServiceUnitState.java
0.00% <0.00%> (ø)

...lance/extensible/channel/ServiceUnitStateData.java
0.00% <0.00%> (ø)

...ar/broker/loadbalance/extensible/models/Split.java
0.00% <0.00%> (ø)

...r/broker/loadbalance/extensible/models/Unload.java
0.00% <0.00%> (ø)

.../service/SystemTopicBasedTopicPoliciesService.java
49.68% <0.00%> (-1.91%)
:arrow_down:

.../pulsar/broker/stats/BrokerOperabilityMetrics.java
98.21% <ø> (+5.56%)
:arrow_up:

...g/apache/pulsar/compaction/CompactedTopicImpl.java
10.71% <0.00%> (ø)

...broker/delayed/InMemoryDelayedDeliveryTracker.java
22.00% <50.00%> (+22.00%)
:arrow_up:

...apache/pulsar/proxy/server/DirectProxyHandler.java
63.63% <50.00%> (ø)

... and 284 more

Updated the package name to extensions according to the comment in https://github.com/apache/pulsar/pull/18084#issuecomment-1309449780.

added the function close() in ServiceUnitStateChannel.

minor function name updates.

@Jason918  @eolivelli,
I updated the code based on your comments. Plz, take a look again.

@Jason918 can you take a look at again by any chance? We need to merge this first to raise next PRs.

@Jason918 can you take a look again by any chance? We need to merge this first to raise next PRs.

Sorry for the late reply. This PR LGTM. :)


Handle incorrect URLs a little better

Resolve https://github.com/r7kamura/weneedfeed/issues/26

I validated the generated feed, and the validator does raise issues:
This feed does not validate.

    [line 94](https://validator.w3.org/feed/check.cgi#l94), column 94: Invalid character in a URI: https://www.npci.org.in/PDF/cts/Circular no.38 Active - Active Set up%28DEM%29.pdf [[help](https://validator.w3.org/feed/docs/error/InvalidUriChar.html)]

        ... o.38 Active - Active Set up%28DEM%29.pdf</link>
                                                     ^

    [line 98](https://validator.w3.org/feed/check.cgi#l98), column 113: Invalid character in a URI: https://www.npci.org.in/PDF/cts/Circular no.38 Active - Active Set up%28DEM%29.pdf [[help](https://validator.w3.org/feed/docs/error/InvalidUriChar.html)]

        ... o.38 Active - Active Set up%28DEM%29.pdf</guid>
                                                     ^

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendation.

    [line 8](https://validator.w3.org/feed/check.cgi#l8), column 92: Self reference doesn't match document location [[help](https://validator.w3.org/feed/docs/warning/SelfDoesntMatchLocation.html)]

        ... eds/npci-cts-circulars.xml" rel="self"/>

Complete XML
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title><![CDATA[cts Circulars]]></title>
    <link>https://www.npci.org.in/what-we-do/cts/circulars</link>
    <atom:link href="https://captnemo.in/npci-rss/feeds/npci-cts-circulars.xml" rel="self"/>
    <description><![CDATA[NPCI CTS Circulars]]></description>
    <lastBuildDate>Thu, 14 Apr 2022 13:15:34 +0530</lastBuildDate>

    <item>
      <title><![CDATA[Circular no. 007 - Positive Pay System in CTS]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-007-Positive-Pay-System-in-CTS.pdf</link>

      <description><![CDATA[Circular no. 007 - Positive Pay System in CTS]]></description>
      <content:encoded><![CDATA[Circular no. 007 - Positive Pay System in CTS]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-007-Positive-Pay-System-in-CTS.pdf</guid>

    </item>

    <item>
      <title><![CDATA[Circular no.006 - CTS half yearly DR Drills]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-006-CTS-half-yearly-DR-Drills.pdf</link>

      <description><![CDATA[Circular no.006 - CTS half yearly DR Drills]]></description>
      <content:encoded><![CDATA[Circular no.006 - CTS half yearly DR Drills]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-006-CTS-half-yearly-DR-Drills.pdf</guid>

    </item>

    <item>
      <title><![CDATA[Circular no 005 - List of MS patch to be deployed in CHI servers Septemb]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-005-List-of-MS-patch-to-be-deployed-in-CHI-servers-Septemb.zip</link>

      <description><![CDATA[Circular no 005 - List of MS patch to be deployed in CHI servers Septemb]]></description>
      <content:encoded><![CDATA[Circular no 005 - List of MS patch to be deployed in CHI servers Septemb]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-005-List-of-MS-patch-to-be-deployed-in-CHI-servers-Septemb.zip</guid>

    </item>

    <item>
      <title><![CDATA[Circular no.004 - Positive Pay System (PPS) for CTS]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-004-Positive-Pay-System-PPS-for-CTS.zip</link>

      <description><![CDATA[Circular no.004 - Positive Pay System (PPS) for CTS]]></description>
      <content:encoded><![CDATA[Circular no.004 - Positive Pay System (PPS) for CTS]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-004-Positive-Pay-System-PPS-for-CTS.zip</guid>

    </item>

    <item>
      <title><![CDATA[Circular no.003 - Disaster recovery setup and Active-Active setup]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-003-Disaster-recovery-setup-and-active-setup.pdf</link>

      <description><![CDATA[Circular no.003 - Disaster recovery setup and Active-Active setup]]></description>
      <content:encoded><![CDATA[Circular no.003 - Disaster recovery setup and Active-Active setup]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-003-Disaster-recovery-setup-and-active-setup.pdf</guid>

    </item>

    <item>
      <title><![CDATA[Circular no 002 - List of MS patch to be deployed in CHI servers July 20]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-002-List-of-MS-patch-to-be-deployed-in-CHI-servers-July-20.zip</link>

      <description><![CDATA[Circular no 002 - List of MS patch to be deployed in CHI servers July 20]]></description>
      <content:encoded><![CDATA[Circular no 002 - List of MS patch to be deployed in CHI servers July 20]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-002-List-of-MS-patch-to-be-deployed-in-CHI-servers-July-20.zip</guid>

    </item>

    <item>
      <title><![CDATA[Circular no. 001 - Adherence to NPCI guidelines by members or participant...]]></title>
      <link>https://www.npci.org.in/PDF/cts/2020-21/Circular-no-001-Adherence-to-NPCI-guidelines-by-members-or-participant.pdf</link>

      <description><![CDATA[Circular no. 001 - Adherence to NPCI guidelines by members or participant...]]></description>
      <content:encoded><![CDATA[Circular no. 001 - Adherence to NPCI guidelines by members or participant...]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/2020-21/Circular-no-001-Adherence-to-NPCI-guidelines-by-members-or-participant.pdf</guid>

    </item>

    <item>
      <title><![CDATA[Circular no.039 - List of MS patch to be deployed in CHI server for Jan 2020 - All]]></title>
      <link>https://www.npci.org.in/PDF/cts/Circular-no.039-List_of_MS_patches_January_2020.zip</link>

      <description><![CDATA[Circular no.039 - List of MS patch to be deployed in CHI server for Jan 2020 - All]]></description>
      <content:encoded><![CDATA[Circular no.039 - List of MS patch to be deployed in CHI server for Jan 2020 - All]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/Circular-no.039-List_of_MS_patches_January_2020.zip</guid>

    </item>

    <item>
      <title><![CDATA[Circular no.38 Active - Active Set up(DEM) - All]]></title>
      <link>https://www.npci.org.in/PDF/cts/Circular no.38 Active - Active Set up%28DEM%29.pdf</link>

      <description><![CDATA[Circular no.38 Active - Active Set up(DEM) - All]]></description>
      <content:encoded><![CDATA[Circular no.38 Active - Active Set up(DEM) - All]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/Circular no.38 Active - Active Set up%28DEM%29.pdf</guid>

    </item>

    <item>
      <title><![CDATA[Circular no.037 - Introduction of Advanced Encryption Standard (AES) - All]]></title>
      <link>https://www.npci.org.in/PDF/cts/Circular_no.037-Introduction_of_Advanced_Encryption_Standard_%28AES%29.pdf</link>

      <description><![CDATA[Circular no.037 - Introduction of Advanced Encryption Standard (AES) - All]]></description>
      <content:encoded><![CDATA[Circular no.037 - Introduction of Advanced Encryption Standard (AES) - All]]></content:encoded>
      <guid isPermaLink="true">https://www.npci.org.in/PDF/cts/Circular_no.037-Introduction_of_Advanced_Encryption_Standard_%28AES%29.pdf</guid>

    </item>

  </channel>
</rss>

Normalizing might fix this? https://www.rubydoc.info/github/sporkmonger/addressable/Addressable/URI#normalize-instance_method

Addressable::URI#normalize looks very good. I'll try it 👍

https://github.com/r7kamura/weneedfeed/pull/28


Write Proper Branch Name in Readme

Describe the chore
The branch name written is 'dev' instead of 'development'.
Change the branch name in Readme.
Would you like to work on the issue?

[x] Yes

Duplicate of #1166


Basic Login System to Allow Saving of Data

This is meant to allow people to create accounts so you can link yourself ti a user and allow easy searching of the database for projects
This will require having a username and password and linking your skills

Completed in Commit: 80d75a683af289b34e91b261a177490ac10abf50


enhancement: added swapExact...SupportingFeeOnTransferTokens() support

Closes #40 #130

Comments kinda trivial but whatever.
Router contract has according methods for exact input only so there is no need to rework make_trade_output() as it wraps exact output methods.
If we need these calls for swap then usage gonna be like
make_trade(token0, token1, qty, ... fee_on_transfer=True)
If we don't then just omit fee_on_transfer param.
Also, please note that univ3 doesn't and won't support this kind of tokens.

Do the tests pass for you locally? (CI is not working right for PRs... #88)

I like your suggestions about method selection but can't commit them as they are marked "outdated" dunno why. Tests are OK.

Nice, just run black on the files to apply correct formatting, then I'll merge :slightly_smiling_face:

Nice! Just one more thing: run black on the files to apply correct formatting.
After that I'll merge 🙂

Bruh I swear I didn't got ya🤷♀

Nice! Just one more thing: run black on the files to apply correct formatting.
After that I'll merge 🙂

+++
Seems OK

Hello,
First thanks for the great repo you built.
I tried to buy reflection tokens with make_trade(token0, token1, qty, ... fee_on_transfer=True) but I still get an error:
"reason : transaction failed"
Do you have an idea why?
Thanks

still get an error:
"reason : transaction failed"
Do you have an idea why?

Well, this PR han't been merged yet.

LGTM, merging.
Thanks for your contributions @liquid-8!

Hello,
First thanks for the great repo you built.
I tried to buy reflection tokens with make_trade(token0, token1, qty, ... fee_on_transfer=True) but I still get an error:
"reason : transaction failed"
Do you have an idea why?
Thanks

@debaenenicolas if problem still persists please create thread in Discussions.


Throw an error when treeview called on a nonexisting element

Fixes #16

@himdel will this be good?

I think so, yeah :)  thanks

@priley86 can you please take a look at this one?

@skateman PR looks fine to me. apologies for the delay - somehow missed my inbox and I've been stretched on other work. Do you mind publishing the release here? We can update PF core after...


add a doc for QueueingHint

ref: https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/4247-queueinghint
It's not a mistake that I try to push this to main branch, not to v1.29 branch.
This KEP is under a unique situation where we assume this feature has been existing as beta since v1.28.

/cc @alculquicondor

/sig scheduling

@tengqm Thanks, fixed based on your reviews.

@alculquicondor Thanks, modified the PR based on your reviews.

/lgtm

Taking Tim's comment as approval for merge.
/approve


Improve local development of Sawadm on OS X

Adds a few minor changes for improving the local development experience on OS X.  Namely:

Limiting the size of the LMDB db in the tests
Selecting the fs::MetadataExt based on os

Can't test, as I'm still getting
cargo:warning=../c/loader.c:22:10: fatal error: 'openssl/bio.h' file not found
cargo:warning=#include <openssl/bio.h>
cargo:warning=         ^
cargo:warning=1 error generated.

You still need to have the right openssl lib installed


Types aren't published with dist

Types seem to have been skipped in the packaging step. Soft suggestion to consider TSDX for simplified packaging and rollup.
V2.0.3

Thanks for the heads up! Seems rollup isn't generating a d.ts file for utils/types.ts for some reason.
A fix is deployed at v2.0.4
I'll take a look at that TSDX lib and see if that can help as well.


HOTFIX: fix building a fatJar

#41 introduced a netty version, fixed for gRPC and ./sbt assembly require some guidance in such cases.
This PR fixes that and adds ./sbt assembly to CI to avoid such things in the future

CI is green now https://travis-ci.org/src-d/spark-api/builds/278515829

Merging as a hotfix


Unit of peak_time

The peak_time container is currently not defined with a unit.
The extractors convert them to ns.
Shouldn't we add this unit to the container / make it a quantity?
And related: should be also require any timeshifts be in ns instead of in adc sample width?

Shouldn't we add this unit to the container / make it a quantity?

I've generally been against attaching units to the image related values (#684 #1044). But the peak_time description should be updated to indicate its units.

And related: should be also require any timeshifts be in ns instead of in adc sample width?

I think this might complicate the process, as the shifts are generally extracted in sample units, and need to be in sample units for any corrections involving the waveform (before peak_time extraction)...but of course this depends on what we choose to implement in ctapipe for the timing corrections (#1396).

I agree that it might make it simpler to use samples for the corrections and the conversion is anyway simple, so we just have to decide.
My feeling is, for consistency, it would be better to have peak_time and time_shift in the same units and convert to samples where needed.

I think I prefer having it in ns and then it's clear that to go to samples, you have to convert back to samples.  Especially if in the future we do some upsampling of the waveforms, this will avoid confusion. Nanoseconds is then a physical unit, and is common for all telescopes, which is nice (same reason we go to PE, and not digital counts).
However, if instead you want to stick with samples, then as elsewhere, it would be good to add the unit name to the Field name if units are not attached, e.g. rename it to peak_time_samples, so later it's clear when we do a conversion to peak_time_ns.

Oh, one more argument for using nanoseconds: we may/will eventually do more pulse analysis than just the peak time in the future. For example extracting also the pulse width, rise time, etc.   In that case, doing that in samples is needlessly confusing.

Ok, lets specify in the field descriptions that time_shift and peak_time is in units of time ("ns"). Makes sense from their names. But I still would prefer not attaching astropy units to them.

Agreed.

Ok, lets specify in the field descriptions that time_shift and peak_time are in units of time ("ns"). Makes sense from their names. But I still would prefer not attaching astropy units to them.

Why not for the peak times?

I guess because of the computational cost that comes with astropy units. However, the cost is much less when not actually converting units but just accessing the values in the current unit.
Let me try actually measure the impact and if it is not big, I would be in favor of attaching the units.


H265/HEVC muxing capabilities

Implement H265TrackImpl

I think I've made it work now - at least with my sample files. I've created a pull request with my fixes #466, please review it.


[BUG] Unnecessary refnanny gil handling in init/del (and maybe other slots)

Describe the bug
The __init__ and __del__ slots generate code like:
  __Pyx_RefNannySetupContext("__del__", 1);

where the 1 is an indication of "may need to acquire the GIL". I'm fairly sure this is unnecessary. The "wrapper" functions are correct though with
__Pyx_RefNannySetupContext("__del__ (wrapper)", 0);

Code to reproduce the behaviour:
class C:
    def __init__(self):
        pass
    def __del__(self):
        pass

Expected behaviour
Not trying to acquire the GIL
OS
Linux
Python version
3.11
Cython version
Current master https://github.com/cython/cython/commit/19f67cb1f4ab66b87b1bdfc881bb875faed8c1a3
Additional context
This is fairly low priority in that refnanny is only really a testing tool, and the code generated still works. It does appear to affect a free-threading bug (https://github.com/cython/cython/pull/6214#issuecomment-2132292912) but I think that's mainly a Python bug and you could hit it in other ways.

Fixed in https://github.com/cython/cython/commit/67be4609e040c56c973d50eca7038486fcb384e0


Bugs processing MID0106

With the newer versions the MID0106 is not working properly, here an example (replace _ with space):
03370106____________01030201030000723323040105SU_ST2.1_PwMACS_____062021-05-06:13:46:14075008Mode_50_____________09110011________________________________________1202130114115_16117_______18-2885.719_______20_______21_______22_______130214115_16117_______18-2885.819_______20_______21_______22_______2301Data_No_Station_____I_100000002438
This is an example of a loosen, the BoltsData, in the angle, should return -2558.7
But depending on the version returns:
V: 3.4.0 => angle 0
V: 3.3.0 => angle 0
V: 3.2.2 => angle -28857 (no decimal, probably due to CultureInfo)

All numbers < 0 are getting parsed to 0. Going to fix it for the next version.

Btw, what a huge angle value 😂

Occurs only when parsing, packing method does not fail to generate with signal

Fixed at version 3.4.1. Published right now at NuGet, probably be available in a few minutes/hours


configure ReportingServicesService.exe.config

Hi,
As part of my SSRS deployment, I need to set up <AppContextSwitchOverrides value="Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols=false;Switch.System.Net.DontEnableSchUseStrongCrypto=false" /> in ReportingServicesService.exe.config as described here.
Maybe you have an idea or encountered this before and know how to do this with PS script?
Thanks.

Hey Robert, looks like a basic, read, modify save of an Xml file (unless I'm missing something). Powershell has some native ways of dealing with Xml. See what you can come up with yourself, and drop me a line if you need some help.

@mrsquish thanks for your answer. Was hoping there is some installation arg I can pass in. This way I will go with your suggestion, many thanks for looking into this!

All good mate. This script is far from comprehensive, but was an acculmination of many hours of work that I didn't want anyone else to have to endure :). Feel free to send me a pull request if you find any enhancements.


bower.json for gulp/wiredep

"main": ["./build/js/custom.min.js", "./build/css/custom.min.css"] to bower.json

What is this? Can you explain what do you mean?


add, like, all the docs

[x] router docs
[ ] view docs
[ ] action docs

The rest is already documented

Building browser applications is rough. People talk about all these fancy techs but rarely provide examples on how to do things well. Even stuff like HTTP requests is often treated like: "nah mate, figure it out yourself". I would quite like to have all common cases explained, so people can create a mental model of how things work. Most of it doesn't include extending the choo api, but rather provide examples of how it can work together with the native browser APIs, and where needed provide suggestions for packages that make dealing with it easier.

Needs more docs about forms too. See #18 and: https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements

https://github.com/yoshuawuyts/workshop-choo

We should merge efforts with the rest of the TCBY stack as per https://github.com/maxogden/yo-yo/issues/25#issuecomment-227296099

Feel that with the handbook out there we can probs close this :sparkles:


chore(eip7702): devnet3 changes

Motivation
The nonce is no longer optional for devnet2.
Solution
Remove OptionalNonce and make the nonce a u64. Additionally, the chain ID is now a U256.
This should not be merged before devnet3 (note: this used to be devnet2, but devnet2 will just be a reboot of devnet1 with fixes).
Closes #1048
PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

I think we should get this merged seeing as we are gunning for the current EIP7702 spec. Then, we'll merge #1059 as well.


adding a cadence minifier

For the Ledger integration, we need to provide a minified transaction which can be included in the ledger software that runs on the device. It was suggested that this could be used as an opportunity to also kick-off a little candence minifier 🙂
If this is not the right home for such a code please lemme know and I will move it.

Nice!
If needed, we can work on something more sophisticated. This is highly related to pretty printing (onflow/cadence#209), which we could use to generate minimal output. Furthermore, we could perform renaming of parameters and locals.
Not quite sure, but I feel like such a tool should probably just live in Cadence repo, given that it is not specific to the Fungible Token contract.

thanks for the review. I will move it over to the Cadence repo.

Moved this change to the Cadence repo as per review comment (https://github.com/onflow/cadence/pull/252)

closing this PR as this is now here https://github.com/onflow/cadence/pull/252


When calling Get-PnPAzureADAppSitePermission no Roles property is ever returned

When calling Get-PnPAzureADAppSitePermission no Roles property is ever returned. Running Grant-PnPAzureADAppSitePermission or Set-PnPAzureADAppSitePermission will return an AzureADAppPermission object with the Roles property, but Get-PnPAzureADAppSitePermission will not.
Expected behavior
I expect this cmdlet to return an AzureADAppPermission object with the Roles property that is assigned.
Actual behavior
The returned AzureADAppPermission object has a Roles property of null.
Steps to reproduce behavior
$grant = Grant-PnPAzureADAppSitePermission -Permissions 'Write' -Site $site -AppId $appId -DisplayName $displayName

$permission = Get-PnPAzureADAppSitePermission -AppIdentity -AppId

NOTE: Running $permission = Get-PnPAzureADAppSitePermission -AppIdentity -AppId also returns null and not even an AzureADAppPermission object, which seems to also be wrong, but running the following will return an AzureADAppPermission object with a Roles property of null.
$permission = Get-PnPAzureADAppSitePermission -AppIdentity $appId -Site $site
What is the version of the Cmdlet module you are running?
ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Manifest   1.9.0                 PnP.PowerShell                      Core,Desk {Add-PnPClientSidePageSection, Add-PnPClientSideText, Add-PnPClientSideWebPart, Copy-PnPFolder…}

Which operating system/environment are you running PnP PowerShell on?

[X] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

I noticed the same thing on the same version.

For me, I have an Enterprise Application (Managed Identity) set up with API Permission "sites.selected" and no matter how I give it write permissions to a SharePoint site, Roles always return blank.
I tried with giving permissions given through Grant-PnPAzureADAppSitePermission and even using ```
Invoke-MgGraphRequest -Method POST -ContentType application/json -Uri https://graph.microsoft.com/v1.0/sites/$SiteId/permissions -Body @"
{
"roles": [
"write"
],
"grantedToIdentities": [
{
"application": {
"id": "$($ManagedIdentity.AppId)",
"displayName": "$AutomationAccountName"
}
}
]
}
"@

The output of any of the above is correct as expected, showing the {write} role assigned, but when retrieving the permissions with `Get-PnPAzureADAppSitePermission` or any other method it will always return Role in blank. Finally, when testing access with the write permission given it does not seem to work at all and I get "Access Denied".

Hi @lbenkensteinGP , thanks for checking.
The issue is that, atleast in my case, it is not returning role value for this one:
Invoke-MgGraphRequest -Method GET -ContentType application/json -Uri https://graph.microsoft.com/v1.0/sites/$SiteId/permissions

Not sure why, maybe some issue with Graph

Does anyone know where are these app grants are stored?  I reviewed these 2 SPO screens and I don't see them listed here.
Site App Permissions
/_layouts/15/appprincipals.aspx?Scope=Web
Site Collection App Permissions
/_layouts/15/appprincipals.aspx

Skimming the source of Get-PnPAzureADAppSitePermission, the Roles value must be obtained using the -PermissionId parameter.
https://github.com/pnp/powershell/blob/dev/src/Commands/Apps/GetAzureADAppSitePermission.cs
if (siteId != Guid.Empty)
           {
   if (!ParameterSpecified(nameof(PermissionId)))
               {
                    ...
               }
               else
               {
                   var results = GraphHelper.GetAsync<AzureADAppPermissionInternal>(Connection, $"https://{Connection.GraphEndPoint}/v1.0/sites/{siteId}/permissions/**{PermissionId}**", AccessToken).GetAwaiter().GetResult();
                   WriteObject(results.Convert());
               }
           }

// Result with version 1.11.0 PnP.PowerShell

My guess is that this is the effect of the deprecated of GrantedToIdentities. The alternative grantedToIdentitiesV2 does not include roles.
https://learn.microsoft.com/en-us/graph/api/site-list-permissions?view=graph-rest-1.0&tabs=http#response-1

I had overlooked the command reffrence, but it was mentioned this behavioer. This seems to be the expected behavior.
https://pnp.github.io/powershell/cmdlets/Get-PnPAzureADAppSitePermission.html
EXAMPLE 1
Get-PnPAzureADAppSitePermission

Returns the apps that have permissions for the currently connected to site. **Note that if PermissionId is not specified then the Roles property is not populated. This is a current API limitation.**

Thanks @kefujino for checking this.
Will close this issue as it is by design and is an API limitation


[Bug] Failed to deploy to Heroku, netlify and firebase

Version
1.8.0
Reproduction link
https://workaway-14858.herokuapp.com/
Operating System
windows
Device
laptop
Browser & Version
firefox 88.0.1 (64-bit)
Steps to reproduce
When deploying to either heroku, netlify or firebase there is an issue loading some css stylesheets:
material-dashboard-react/static/css/2.d0176e96.chunk.css
material-dashboard-react/static/css/2.d0176e96.chunk.css
also some js code
material-dashboard-react/static/js/2.8cf0fd12.chunk.js
material-dashboard-react/static/js/main.ff24940d.chunk.js
because of this I see an empty white screen.
to replicade just build the react production build and deploy.
What is expected?
To see the react app
What is actually happening?
white screen

Solution
Additional comments

I removed the homepage key value pair on package.json and now it's working


In mac platform, not used universal archtecture in makefile.

Describe the bug
In mac platform, not used universal archtecture in makefile.
opencv_dart/macos/Makefile
in above directory, that makefile contains below lines
LIB_NAME := "libopencv_dart-macos-$(OPENCV_DART_ARCH).tar.gz"
CVD_LIB_URL := "https://github.com/rainyl/opencv_dart/releases/download/v${VERSION}/$(LIB_NAME)"
so it seems like not using universal binary..
so if i build and run in apple chip mac device it not work in intel based mac devices..
To Reproduce
Steps to reproduce the behavior:

combile and run in apple chip mac device
copy and transfer that .app file to intel mac device
click that .app file and install app
it not working in intel mac devices.

Expected behavior
It should work both apple and intel based mac devices.
Desktop (please complete the following information):

OS: Macos

@RajeshMGit This will be resolved in #262

Like I said before, this will be solved in #262 , but if you are urgent to make it work, try the following steps:

export OPENCV_DART_DISABLE_AUTO_BUILD=1
run dart run opencv_dart:setup macos -a os64 -f in the root directory of your project.
build your app as normal

It worked fine on an Apple M1 chip device. But after sending it through TestFlight and testing it on an Intel Mac, I got the following error.
Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded<EMAIL_ADDRESS>Reason: tried<EMAIL_ADDRESS>(no such file), '/usr/local/lib/libavcodec.60.dylib' (no such file), '/usr/lib/libavcodec.60.dylib' (no such file)
(terminated at launch; ignore backtrace)

As it says, you need to install ffmpeg@6
If your app doesn't use ffmpeg, you may need the incoming opencv_core package.

My document scanner app processes images for auto-cropping and applies filters like grayscale and black-and-white. I believe FFmpeg is not needed for this. Then how i get opencv_dart.dylib only for opencv_core

opencv_core and opencv_dart version v1.3.0 have been published, you can now replace opencv_dart with opencv_core to avoid introducing ffmpeg.


Cant detect model with lidar

Hi,
I am trying to visualize the model as an obstacle in rviz using the Lidar sensor but I can't see any collision, in other words, it ignores the collision of the model. Can you please help me with this?

Solved problem with lidar

Hello, @prat1kbhujbal
I faced the same problem, could you please give me some suggestions?

Hi,
You just need to change the type of your robot laser to gpu_ray.
El lun., 13 mar. 2023 9:12, Yang Haodong @.***>
escribió:

Hello, @prat1kbhujbal https://github.com/prat1kbhujbal
I faced the same problem, could you please give me some suggestions?
—
Reply to this email directly, view it on GitHub
https://github.com/robotics-upo/gazebo_sfm_plugin/issues/1#issuecomment-1465687130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUK36AQF5KE5UBSA4MUZJLW33JHTANCNFSM6AAAAAAVHUU2GM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@noeperez Thanks for your answer.
I have changed the laser to gpu version but it doesn't work.
  <gazebo reference="base_scan">
    <material>Gazebo/FlatBlack</material>
    <sensor type="gpu_ray" name="lds_lfcd_sensor">
      <pose>0 0 0 0 0 0</pose>
      <visualize>$(arg laser_visual)</visualize>

      <update_rate>5</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>360</samples>
            <resolution>1</resolution>
            <min_angle>0.0</min_angle>
            <max_angle>6.28319</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.120</min>
          <max>3.5</max>
          <resolution>0.015</resolution>
        </range>
        <noise>
          <type>gaussian</type>
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin name="gazebo_ros_lds_lfcd_controller" filename="libgazebo_ros_gpu_laser.so">
        <topicName>scan</topicName>
        <frameName>base_scan</frameName>
      </plugin>
    </sensor>
  </gazebo>

Is there anything wrong? Thanks for your help.

@ai-winter can't see any problem with the plugin, check if the laser works or if you can visualize scan data in Rviz for these changes with normal obstacles might be GPU not supported or a driver problem. Or else you can refer to this it works without GPU requirement- https://github.com/JiangweiNEU/actor_collisions

Hi again,
as @prat1kbhujbal said. You need to be sure that Gazebo is using your GPU. The actor models do not have a collision model associated. So, they can be sensed using a graphical detection that can be done only by the GPU (gpu_ray).

Hello, @noeperez @prat1kbhujbal
Thanks a lot for your help! The problem has been solved!

@ai-winter Hi, could I ask you how you solved the problem? because I have the same problem as well, I changed the plugin type to GPU, but the laser scan in Rviz couldn't detect it

@brilianputraa
Please refer to the project ros_pedestrians_simulation


iOS SDK v1.6.0 breaking bug: ParseUser.SignUpAsync() never throws any exceptions, even on bad data or duplicate users

In the v1.6.0 Parse SDK for iOS (from nuget), ParseUser.SignUpAsync() no longer throws any exceptions, even on bad data or duplicate users.  Using TodoParseAuth as a test, in v1.5.5, exceptions are thrown for things like invalid email addresses ( eg<EMAIL_ADDRESS>or users already existing, but as of the 1.6.0 update, exceptions are no longer thrown.  Code simply passes through to the next line, with ParseUser.CurrentUser NOT being set to null, but instead being set to an invalid object (where ParseUser.CurrentUser.ObjectId is null).

Hi @bbartlett,
Thank you for your report. This seems like a valid bug. We'll investigate this issue further and will let you know if there's any progress/fix.

Valid bug. Thanks for finding this! Sending a PR shortly.


Missing imports for llama_index loaders

Describe the bug
Potential missing imports related to llama_index (discord link):

html2text
docx2txt

Possible issue on import naming? Need to check against llama-index version pinned:
File "H:\MemGPT\memgpt\cli\cli_load.py", line 116, in load_webpage
    from llama_index import SimpleWebPageReader
ImportError: cannot import name 'SimpleWebPageReader' from 'llama_index' (C:\Programs\Python\Python310\lib\site-packages\llama_index\__init__.py)

- from llama_index import SimpleWebPageReader
+ from llama_index.readers import SimpleWebPageReader

@cpacker Please re-open this Issiue, it wasn't fixed yet
GIVEN
My environment
Python version: 3.11.7
I installed latest version of MemGPT with commands:
mkdir test_fix_llama_import
cd test_fix_llama_import
python -m venv .
Scripts\activate
pip install git+https://github.com/cpacker/MemGPT.git
pip install transformers torch psycopg

PIP output, it say it cloned the repository up to this commit:
https://github.com/cpacker/MemGPT/commit/f88f930354c1cc5c771100d6b7b94df46c91bd85
pip install git+https://github.com/cpacker/MemGPT.git
Collecting git+https://github.com/cpacker/MemGPT.git
  Cloning https://github.com/cpacker/MemGPT.git to c:\users\user\appdata\local\temp\pip-req-build-t43j4mwv
  Running command git clone --filter=blob:none --quiet https://github.com/cpacker/MemGPT.git 'C:\Users\User\AppData\Local\Temp\pip-req-build-t43j4mwv'
  Resolved https://github.com/cpacker/MemGPT.git to commit f88f930354c1cc5c771100d6b7b94df46c91bd85

Output of pip freeze :
https://gist.github.com/OTR/5dfa8b0c1aa9d8e2f911ffe769c6981b
WHEN
I try to use MemGPT CLI with arguments load webpage
$ memgpt load webpage --urls https://llamaindex.ai --name llama-docs

THEN
It throws an Exception:
\....\site-packages\memgpt\cli\cli_load.py", line 215, in load_webpage
    from llama_index import SimpleWebPageReader
ImportError: cannot import name 'SimpleWebPageReader' from 'llama_index'

pointing at that line of code: https://github.com/cpacker/MemGPT/blob/f88f930354c1cc5c771100d6b7b94df46c91bd85/memgpt/cli/cli_load.py#L215
Full traceback listing: https://gist.github.com/OTR/7cd91ca300f44e99d3b655483b230639
Docs
Also, please provide some documentation for CLI and for docs on web site https://memgpt.readme.io/
With examples of OPTIONS for --name and for --urls
I am getting a program crash but I don't even know how to correctly use this command.
Is it right or not?
$ memgpt load webpage --urls https://docs.llamaindex.ai --name llama-index-docs


MVP: Permissions

AC:

A user has one level of permissions.
Permissions allow behavior as described below

Levels:
Each subsequent level includes prior permissions.

Guest*

Can edit own information
Can order a package of food.

Administrative-

Can edit all features of users and database.
Can checkout large quantities of food.
Can rectify inventory.
Can edit/cancel an order.
Can clock in/out
Activity logged
Can add food to inventory.

Duplicate


update to OpenCV 3

SimpleCV is currently based on OpenCV 2 and OpenCV 3 is available and does support Python 3.

also needed for #3

This is being worked on in branch "issue-1"

Building OpenCV 3 seems to work as of 6aa09dd3fc472b294666d127713b7cc4ac9f237e judging by the travis log.


Is it possible to try to support llm of other architectures as the backbone?

Is it possible to try to support llm of other architectures as the backbone?
Perhaps the model definition can be updated, or can we only use phi3 architecture models?

You can replace phi3 with any other models. But note that you might need to modify the model code.