DynamoDB Table scans are not returning all items

Describe the bug
There's a serious bug in the AWS Explorer add on for Visual Studio 2019.
When Scanning a table with a specific condition it returns no/incomplete results in AWS Explorer. However when running the Scan through the browser console or an API it returns the correct list of results.
It appears to be out of sync, for example I see 5 entries returned by the web console in one Scan, where as AWS explorer returns only 4.
For another table the web console returns 1 entry where as AWS explorer returns none!
Example:
When I use the AWS Explorer from Visual Studio 2019, it returns only 4 objects (it's missing an entry from yesterday): https://drive.google.com/file/d/1iBcXtjLcQwZ7qbYFyaHFvkHVaACu2dcT/view?usp=sharing
When I use the AWS Web Console, it returns 5 objects (the correct number): https://drive.google.com/file/d/1_eas_PHq66Xlu95qqcDwF3Iq30aBpPBm/view?usp=sharing
This doesn't happen for every attribute value being matched by the Scan. What I mean is, if I change the value being searched by the "Scan" filters (in this screenshot the value is xxx975), for some values it retrieves all the records in AWS Explorer, but for some values (like the one in this screenshot xxx975), it's missing one record in the response.
BTW, this problem only happens with AWS Explorer. When using the same "Scan" via an API (in a .NET application) or through the Web Console it returns all the matching objects. It almost sounds like the results are not being completely enumerated by AWS Explorer after the Scan is completed and consequently it's missing a few records.
More details provided here: Screenshot are available here: https://forums.aws.amazon.com/thread.jspa?messageID=956512
Expected behavior
Return all matching items as returned by the Web Console
Screenshots
Screenshot are available here: https://forums.aws.amazon.com/thread.jspa?messageID=956512
Computer (please complete the following information):

Windows Version: Windows 10
Visual Studio Version: <IP_ADDRESS>
AWS Toolkit for Visual Studio Version: 16.7.3

Additional context

Hi @rboy1 thanks for reaching out. I created a test table with ten items and three attributes (2 strings, 1 number). A "string equals x" scan returned the same results in the Toolkit and web console. Is there a chance that your toolkit scan is retrieving data before it is read consistent?
If you are able to create a small sample data set using placeholder data to illustrate the issue, it could help diagnose the problem.

Yes that sounds about right. However it’s not happening always and I also found that this happening for new entries in the table. For example if I run the same scan after 24 hours it returns all objects. Only with specific scans show this issue like shown in the images. There’s a bug in the aws explorer code, one guess is that it should probably enumerated the all the objects before displaying if there is less than one page of items (Rows) returns.

And to note, it's only missing the last object in these scans that's missing in AWS Explorer (especially if that entry was updated or created within the last 24 hours).

In your screen shot it looks like there are buttons in the lower left to load more result pages. Do these provide the expected result set?

There are only 5 result entries and AWS Explorer is only showing 4. See the second screenshot from the Web console which shows the 5 results.
If you're saying did I try clicking that button to see if the last missing items shows up, yes I did but it didn't make any difference.

Do you have a rough idea of how many items are in the table?
If the toolkit has scanned through the entire table, those buttons should become disabled. Have you clicked those buttons to the point where they become disabled? If your table has thousands of items, I'm thinking it is possible that the scan operation is going through some pages of items, and not finding any filtered results. This means you'd have to keep requesting additional pages until your 5th result appears.

I think you've got the bug. I'm able to replicate the issue here with another scan which is supposed to return 32 results, but only returns 23. Then I click on the next page a couple of times and then finally all 32 show up.
The table has a total of 5K entries and it's expected to continue growing to many times that. Are you saying this is a bug with AWS Explorer or DynamoDB can't handle that many entries in a table or that the same issue will happen everywhere (including API's and web console)?

Nice, sounds like we're getting closer to understanding what's going on. My suspicion is that when you use the API directly, and you paginate through the scan results, your code continues processing the pages until the end is reached. Maybe the web console is doing something similar. The Toolkit is simpler in concept, where those buttons currently perform a single "next page" request, regardless of whether the page contained contents.
Sounds like there is room for some UX improvement. There's a balance to be struck however - proceeding through subsequent pages too quickly could exceed the table's read capacity.

With the .NET API's they just iterate the results; just so I understand the expected behavior, that would mean DynamoDB is automatically scanning the entire table - is that correct? If not, I need to know because it's coded with the expectation that iterating the results will scan everything (like a traditional DB).
Coming back to AWS Explorer:
If the table is set to "dynamic", my understanding is that it doesn't have any set read capacity. Is that correct?
If so can the tool not check the current capacity setting and if it's set to dynamic, just scan the entire table automatically OR
IMHO, it should scan the whole table until the results are atleast one page. This would make it behave more consistently with the UI expectation, i.e. for me the next button indicates that there's more than one page of "results"

I'm under the impression that auto-scaling tables can still hit a read capacity limit if enough inbound requests reach a table before the read capacity is adjusted. If the toolkit were to try to automatically read to the end, it could get throttled,
Some UI thoughts I've had so far:

the "load next page(s)" buttons might be able to surface information about how much of the table has been scanned (reducing the illusion that it didn't do anything)
another button could be added: "make your best attempt at scanning the rest of the table", which could stop if throttled, and could be pressed again to continue scanning

Okay I would like to split this discussion into 3 sub section if you're okay:

Does this issue of "scanning" hitting a read capacity limit also affect a "query"? The documents are very clear on the difference. If not, then couldn't AWS Explorer use a "query" instead of a "scan"?
How does it impact the API (I'm trying to understand this as it will also potentially impact my .NET API implementation), i.e. if the app continues to iterate the result object, will it automatically trigger DynamoDB to "read" the next set of pages or does the API need to make a separate call to "continue" reading?
Regarding the UI, assuming that 1 above cannot resolve the issue, it may be better to have a check box which says continue reading until all results are returned. This also helps with another issue I noticed earlier, I wanted to "dump" the entire table into an excel sheet and I just couldn't find any way to do it from AWS Explorer. With this option it'll allow me to do that.

Throwing in my opinions.

It is true the toolkit could be smarter and based on the query configured in the toolkit and if it the query is compatible with DDB query operation we could switch to query mode. That would mean if the toolkit is configured to search on an exact hash key and a filter on query so its usefulness would be limited.

Will have to be very careful with a display all results button. Your table is relatively small which would result in about 5 pagination calls. Imagine the DynamoDB tables that Amazon.com uses and the billions and trillions of records those tables contain. I do agree better UI up on top of the table browser that alerts the user that more data might exists would make it clearer. Also maybe doing a few pages of data up to a X number of seconds instead of just one page might be better. Then let the user know this is much data as we found in X seconds click the button if you want to the toolkit to search for X more seconds.

The toolkit is using the .NET SDK to perform the operation. If you are using the service client, the AmazonDynamoDBv2 client then you had to code to handle the scan pagination. The DataModel and Document high level abstractions in the SDK do make the pagination transparent under the covers. Also if you are using the new pagination feature that was released last month in the SDK that can make the experience of handling pagination transparent. Regardless of either approach they will consume read capacity units for each page regardless of you manually paginating or having it done for you.

@normj I like your option 2, that's better than just stopping at one page. Coupled with an explicit pop/notification that the results may be incomplete IF the results are less than one "display" page. If it's more than one "display" page the user will automatically look at clicking the "Next" page button anyways so I don't see an issue there. I would also love to see a "100" pagination option if I'm trying to export my entire table.
Regarding 3, I'm using AmazonDynamoDBv2 which was implemented a few months ago, how do I know if the pagination feature is being used or if I need to manually check? As in, could you point me to "updated" docs or the SDK version number that I can check to see I'm handling it correctly. I'm assuming this applies to both Query and Scans.


master issue: Authentication and authorization for SPAs

This is the master issue for this doc. If you PR this doc and don't fix all the issues, open the issues you fix and close against that.
PU issue

[ ] Token expiration #12727
[ ] How to extend the user registration UI? #12552
[ ] Alternatives for non-SPA login/signup pages #16493
[ ] Improve Docs about identity server #17798
[ ] More detail to "ApplicationDbContext" #18077

Not PU:

[ ] Example: Deploy to Azure Websites Linux Support? #16392
[ ] The description of the IdentityServer json is in reversed order #16768

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

ID: 21cb7455-3305-9316-5440-bdc22947a82d
Version Independent ID: 137d4b94-7b26-3911-b22d-42c754a95fc1
Content: Introduction to authentication for Single Page Apps on ASP.NET Core
Content Source: aspnetcore/security/authentication/identity-api-authorization.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @javiercn
Microsoft Alias: scaddie

About the deployment to Linux App Services. Right now the following workaround seems to be working for me:

Add your .pfx in your Web project on Visual Studio.
Change the configuration in your appsettings.json:

 "IdentityServer": {
    "Key": {
      "Type": "File",
      "FilePath": "example_certificate.pfx",
      "Password": "examplepassword"
    },
  }

Please not that this is just a workaround but it is not a recommended solution. Your certificate shouldn't be hanging out with your files like this for security reasons, don't forget to exclude your certificate from source control.

@Rick-Anderson how can I use the code generated here in the react-redux project template

I started with the Asp.net Core 3.1 with Angular and Individual User Accounts Template in VS 2019..  [Authorize] currently works but not [Authorize(Roles="Admin")] even though I gave my user that role.. When I inspect the User.Identity on a webapi controller method with just [Authorize] I do not see the email address, username or any roles.. I can only see that they are authenticated.. Please help! I just want to be able to specify Roles and have them respected in the Authorize attribute of controllers and their methods..

I have created an app with IdentityServer4 before, and although it is a bit more burdensome than AddApiAuthorization it is much better documented and I feel that it creates an abstraction that is very hard to figure out.
Configuring clients with appsettings.json uses a totally different syntax than the official IdentityServer docs - and the existing syntax isn't well documented.  I understand that there are different profiles (why?), but I have no idea what client secret to use, I am not sure how to configure one and I have to dig deep into the code to figure it out. I might as well just give up and configure IdentityServer the regular way - which isn't necessarily better or easier, just a lot more predictable since it is better documented.
I would suggest either documenting this entire library (Microsoft.AspNetCore.ApiAuthorization.IdentityServer) better or making it's configuration more similar to the IdentityServer4 official configuration.

Need more specific documents about Identity Server config:

Refresh token (set AllowOfflineAccess property on Client)
Change authentication flow. The current flow is implicit but authorization code is recommended for SPA now


DrawItem: Objects do not appear

Attempting to draw an item (any item) on a flat world. Generally, nothing appears. I see other issues (open and closed) reporting similar experiences. Twice I have had something appear, but running the same code immediately afterward and nothing shows up. I've varied both the item type and its location.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Mission xmlns="http://ProjectMalmo.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <About>
        <Summary/>
    </About>

    <ServerSection>
        <ServerHandlers>
            <FlatWorldGenerator/>
            <DrawingDecorator>
                <DrawItem type="apple" x="10" y="4" z="10"/>
            </DrawingDecorator>
            <ServerQuitWhenAnyAgentFinishes/>
        </ServerHandlers>
    </ServerSection>

    <AgentSection mode="Survival">
        <Name>agent0</Name>
        <AgentStart>
            <Placement x="0" y="4" z="0"/>
        </AgentStart>
        <AgentHandlers>
            <ObservationFromNearbyEntities>
                <Range name="sight" xrange="20.0" yrange="20.0" zrange="20.0" update_frequency="20"/>
            </ObservationFromNearbyEntities>
            <ChatCommands/>
            <MissionQuitCommands/>
            <ContinuousMovementCommands turnSpeedDegs="360"/>

        </AgentHandlers>
    </AgentSection>

</Mission>

If startMission is called while Minecraft is at the menu, the creation of items only works for some types (only lapis_block so far) reliably. When requesting an item that does work reliably (lapis_block) half the time, the agent spawns in a field of blue (no ground?). Taking human control and moving redraws (???) and the ground appears. Other half the time, the ground appears as normal.
However, if I stop the mission and restart without returning to the menu screen, items appear as they should.
Note: I do not have this problem with the other draw requests (line, entity, etc). Just item.


Get-DFSShares

Something like:
function Get-DFSShares {
    process {
        $DFSSearcher = [adsisearcher]"(objectClass=fTDfs)"
        $DFSSearcher.FindAll() | ForEach-Object {
            $properties = $_.Properties
			$properties.name
            $properties.remoteservername
        }
    }
}

Would be useful to integrate with stealthuserhunter...

Started here, is this what you're envisioning? https://github.com/PowerShellEmpire/PowerTools/commit/5b8f4acf1ec51da40e3ffda5599668dbc13b01a2
Haven't dealt with registered FTDFSes, so not familiar with them. Is the "name" or the "remoteservername" the target server you'd likely want to enumerate for StealthUserHunter?

If you come across DFS shares you will see shares mapped as, or in the profilepath etc as:
\\domain.lab\sharename
StealthuserHunter will then basically query the DC instead of a fileshare.
The fTDfs.name = sharename, the remoteservername are the underlying servers which the DFS is mapped against.
remoteservername is an ldap string array afaik, and would actually need some string manipulation on the output for stealthuserhunter because they are listed as:
\\fileshare.lab\#{name}
rather than just fileshare.lab FQDN.
The array also ends with the last entry as a  * or at least in the last configuration I have seen.

Cool, good to know. Tried a second pass at implementation here. Without a test environment, test data, or sufficient examples online (haven't found much beyond this), I might have to leave the rest of the testing/implementation of this one to you if you have time at some point in the future.

Cool, I think I have seen both Domainv1 and Domainv2 looking at that link, on different jobs. I may have to dig out what I did for v2.

I think the following may cause some people confusion:
 $DFSshares | Sort-Object -Property "RemoteServerName" -Unique

If you had multiple shares, but used the same file servers to serve them then you wouldn't see some of them in the output? If this is intended for the Invoke-StealthUserHunter then it would be better for that method to uniquify its target hosts

N.b. I managed to spin up a Dfs environment in a couple of mins by adding the 'File Server' role to win2k8 r2, and ticking DFS shares, and following wizard to set up a test DFS share. See https://github.com/PowerShellEmpire/PowerTools/pull/51
N.b. I'm not sure if exposing ADSPath is useful in this case as the objects should always sit under CN=Dfs-Configuration,CN=System,DC=domain,DC=com
The diagram explaining v2 on https://msdn.microsoft.com/en-us/library/cc227250.aspx explains things better. I think will need to target msDFS-Linkv2

https://github.com/jeremyts/ActiveDirectoryDomainServices/blob/master/Audit/Get-DFSNameSpaceReport.ps1

That repo looks very interesting btw :)

Sweet, so cool to leave the uniqifying in the current state? Going to go ahead and close this.
That repo has a done of stuff, will have to check out soon :)

Thoughts on pulling down any drives.xml policy files from the primary DC and parsing them as well? Like https://github.com/nullbind/Powershellery/blob/master/Stable-ish/ADS/Get-FileServers.psm1#L206

Could be an option, but recursing for GPP .xml can take a long time if lots of policy folders are there. The main reason for me looking at DFS shares was because all the profilepath directories were hosted on a DFS share so hunting didn't work by default :)

I never got around to updating that script, but I found it’s a little faster to find GPP xml files by referencing their semi-static paths instead of doing a full recursive search. High level process below:

Get the DNS domain name of the target DC using standard methods.

Use the DNS domain name to generate a static path to the policies folders on the target DC.  Perform a  non-recursive directory listing  of the policies folder to get a list of the group policy ids. (I'm pretty sure that list can also be grabbed from an ldap query)

dir /b \\dns_domain_name\Sysvol\dns_domain_name\Policies\
get-childitem \\dns_domain_name\Sysvol\dns_domain_name\Policies\ | select name

Use the list of group policy ids to generate paths to the xml files and  then parse away.  Pseudo code below:

gc \\dns_domain_name\Sysvol\dns_domain_name\Policies\[group_policy_id]\User\Preferences\Drives\Drives.xml | Parse-Things

gc \\dns_domain_name\Sysvol\dns_domain_name\Policies\[group_policy_id]\Machine\Preferences\Registry\Registry.xml | Parse-Things

I'm pretty sure the technique works for all of the GPP files, but I haven't spent the time to actually flesh it out.  I feel I like came across the technique in someone's code, but can't remember who. Regardless, below are a few relevant links.
https://technet.microsoft.com/en-us/library/dn581924.aspx
http://www.jaapbrasser.com/tag/ldap-query/
PS: Nice work on all the shiny new toys! :)


AVAssetWriterInput is not initialized

Getting Platform exception when
await FlutterQuickVideoEncoder.appendVideoFrame(rgbaFrame);
Error:
PlatformException(AVAssetWriterInputUnavailable, AVAssetWriterInput is not initialized, null, null)
[log] #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:651:7)
      #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
      <asynchronous suspension>
      #2      FlutterQuickVideoEncoder._invokeMethod (package:flutter_quick_video_encoder/flutter_quick_video_encoder.dart:134:18)
      <asynchronous suspension>
      #3      FlutterQuickVideoEncoder.appendVideoFrame (package:flutter_quick_video_encoder/flutter_quick_video_encoder.dart:84:12)
      <asynchronous suspension>

Here is the initialization: (Initialized and used inside a worker isolate)
await FlutterQuickVideoEncoder.setup(
    width:
        Platform.isIOS ? cameraImages.first.width : cameraImages.first.height,
    height:
        Platform.isIOS ? cameraImages.first.height : cameraImages.first.width,
    fps: 30,
    videoBitrate: 1000000,
    profileLevel: ProfileLevel.any,
    audioBitrate: 0,
    audioChannels: 0,
    sampleRate: 0,
    filepath: filepath,
  );

I am using this to generate video from List
On android it is working fine
Please check and guide me with solution
Thanks in advance

probably cameraImages.first.height or cameraImages.first.width is zero
does example work?

I am getting that error not once but multiple times.
Say if there are 60 frames, I get this error for atleast 10 frames.
I might be wrong but If the cameraImages.first.height or cameraImages.first.width is zero, it should give error for all the frames right?

sounds like you are not using "await"

As shared in my initial comment, I have awaited all the 3 methods

Setup method
Append method
Finish method

Here is the flow

Start Video recording (from camera plugin)
From the onAvailable callback (startVideoRecording), add the frame (CameraImage) to a list (List<CameraImage)
Stop Video recording
Pass the CameraImages list to an isolate using compute function
In the isolate, first ensure BackgroundIsolateBinaryMessenger initialized and pass the root isolate token
await setup method of the FlutterQuickVideoEncoder
Convert the CameraImage list to rgba list. (List to List)
Append this rgba image to FlutterQuickVideoEncoder using the append method (await the operation)
After appending all the frames, await FlutterQuickVideoEncoder.finish()

I am getting the error on calling FlutterQuickVideoEncoder.append() on some of the frames but not all.
On calling finish() I am able to generate the video but the errors make it inconsistent.
On Android the flow works fine.
Please let me know if I need to change something to fix this.

does the example work?

Checked with the example. It indeed works.
Found out the issue was due to empty plane[0] bytes on iOS.
Thanks a lot for the help

why was it empty?

why was it empty?

It was having multiple empty frames not sure why. I was using startVideoRecording(onAvailable)
It was fine when i switched to startImageStream

could i improve the errors?

The appendVideoFrame method was showing log with 0 bytes and occasionally i was getting the AssertionError of bytes length not equal to width * height * 4 but it was not consistent.
An error for adding empty frame would help.


"redirect80: true" is creating a disabled HTTP VIP after upgrading to v3.39.0

Environment

Application Services Version: v3.39.0
BIG-IP Version: v<IP_ADDRESS>

Summary
After upgrading RPM to v3.39.0, posting declarations with "redirect80": true creates the HTTP redirect VIP in a disabled state.
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
   "tenant_testapplication": {
      "class": "Tenant",
      "remark": "App Name: testapplication",
      "app_testapplication": {
         "class": "Application",
         "vs_testapplication_https": {
            "class": "Service_HTTPS",
            "serverTLS": [{"bigip": "/Common/Shared/as3_ssl-client_wildcard_rsa" },
                          {"bigip": "/Common/Shared/as3_ssl-client_wildcard_rsa-1-" },
                          {"bigip": "/Common/Shared/as3_ssl-client_wildcard_rsa-2-" }],
           "redirect80": true,
           "profileHTTP": {"bigip": "/Common/Shared/as3_http_encrypt-cookie_redirect" },
           "virtualPort": 443,
           "virtualAddresses": ["<IP_ADDRESS>"],
           "snat": "auto",
           "profileMultiplex": {"bigip": "/Common/oneconnect" },
           "persistenceMethods": ["cookie","source-address"],
            "pool": "pool_testapplication_9400",
            "iRules": [{"bigip": "/Common/CVE-2021-44228"}],
         },
        "pool_testapplication_9400": {
            "class": "Pool",
            "monitors": [{"use": "monitor_testapplication_9400"}],
            "members": [{
               "servicePort": 9400,
               "serverAddresses": ["<IP_ADDRESS>"]
            }]
         },
         "monitor_testapplication_9400": {
            "class": "Monitor",
            "monitorType": "http",
            "send": "GET / HTTP/1.1\r\nHost: \r\nConnection: Close\r\n\r\n",
            "receive": "HTTP/1.1 200 Ok",
            "interval": 5,
            "timeout": 16,
            "targetPort": 9400
         }
      }
   },
   "class": "ADC",
   "schemaVersion": "3.0.0",
   "id": "urn:uuid:33045210-3ab8-4636-9b2a-c98d22ab915d",
   "label": "",
   "remark": "LTM SSL Offload using existing Wildcard Certificate",
   "controls": {
       "class": "Controls",
       "userAgent": "vscode-f5/3.1.0",
       "archiveTimestamp": "2021-09-29T14:41:17.105Z"
   },
   "updateMode": "selective"
}

Observe the following error response:
The auto-created HTTP redirect VIP is created in a disabled state

Expected Behavior
The auto-created HTTP redirect VIP is created in an enabled state
Actual Behavior
The auto-created HTTP redirect VIP is created in a disabled state

Thank you. I have added this issue to our internal product backlog as AUTOTOOL-3442.

This has been resolved and it would be available in AS3 40.0


Tici updated

overlayfs is now enabled in the kernel. We just need to figure out how to allow mounting as non root


job #9041 updated table 5.3.3

Cort and I were discussing rules around dialect type assignment and in doing reviewed table 5.3.3. A couple small, but important changes were made. Note that this table is useful in combination with the diagram, figure 1, in the MASL Modeling and Conversion Guide.

I think I am ok with this change... but it was worded in that specific way for a reason. The reason is that the set of domain components plus the set of non domain components is not the set of all components. This table of default values applies to OAL dialect xtUML projects as well. by non-domain component I mean any component that is not a domain component which is not the same as saying project component.
That being said, if the reader is thinking in the context of only MASL domain and project components, then the change is ok.

Ok, makes sense. I think the target audience here is masl users. I am planning to essentially copy/paste this table in the MASL Modeling and Conversion Guide. i think this wording is good there.

Perhaps leave it as is in the engineering note and change the wording for the MASL guide

can't do that though, because pasrt of the change is an actual error. The "provided port" changed to "requered port", that was a cut/paste error I think

I don't think it's a huge deal. And the changes makes it easier to understand. I will merge it


Scroll to ListView row via ref not working

I've encountered an issue when I have a ListView with a ref on each row and I want to be able to scroll to a specific row via its ref on press of TouchableOpacity like this:
<TouchableOpacity style={styles.button} onPress={() => this.scrollToRef('item_5')}>
    <Text style={styles.text}>Scroll to row of ref item_5!</Text>
</TouchableOpacity>

<ListView
    ref="listView"
     renderRow={ item => {
               return (
               <View ref={"item_"+item.id} key={"item_"+item.id} style={styles.itemRow}>
                 <Text>ref is {"item_"+item.id}</Text>
                 <Text>{item.text}</Text>
               </View>
               )
               }}
     dataSource={this.state.dataSource}
     enableEmptySections={true}
/>

On press of the TouchableOpacity no scrolling occurs to row with ref="item_5"
Here's a demo of the issue:

Here is a fiddle: https://rnplay.org/apps/HHnFPQ
Shouldn't the ListView scroll to the row with ref="item_5" on TouchableOpacity press?

Anyone?


Add single forward pass Perceiver IO

[ ] Add SinglePassPerceiver that predicts all timesteps in one go
[x] Add learnable query -> Kinda taken care of with decoder_ff option in PerceiverIO implementation, it can learn whats important there

This should probably be put more into https://github.com/openclimatefix/perceiver-pytorch in relation to #89


dependency-check

Hi,
dev-03 branch uses older version of dependency-check plugin. While using dependency-track it will be good to set maven local repository to get the benefit of dependency-check remote nexus  analyzer.
company : groupId
artifact: artifactId
version: version
This way Sha1 will be gathered from file system.
Kind Regards
Pamir

Can you clarity?
Are you referring to the use of Dependency-Check as part of the Dependency-Track build (via the dependency-check Maven profile)? Or are you referring to the embedded use of Dependency-Check core by Dependency-Track?
Maybe explain a bit what you envision and the benefit.

Hi Steve,
I debugged dependency-track dev03 and stable branches. While executing background thread for java dependencies, NexusAnalayzer of the dependency-check is not working as expected. Dependency track does not know the SHA1's and appends NULL string to dependency name and artifactId's. It passes these parameters to dependency-check. NexusAnalayzer does not find the searched artifact from Nexus Repo. So dependency check does not gather the cves. By this way dependency-track does not show cves on the dashboard.
Kind Regards
Pamir

Hello Steve,
I am trying the stable build on my system and whenever I add a new component, CPE analyzer fails to recognize it and says an unexpected error occurred during analysis of 'NUL'
Here is the stack trace:
28-Aug-2017 15:45:39.528 INFO [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.analyzer.CentralAnalyzer.checkEnabled Central analyzer disabled
28-Aug-2017 15:45:39.531 INFO [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.Engine.doUpdates Checking for updates
28-Aug-2017 15:45:41.469 INFO [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.Engine.doUpdates Check for updates complete
28-Aug-2017 15:45:41.983 INFO [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.Engine.analyzeDependencies Analysis Starting
28-Aug-2017 15:45:43.113 SEVERE [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.Engine.initializeAnalyzer Exception occurred initializing CPE Analyzer.
28-Aug-2017 15:45:43.131 WARNING [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.Engine.analyzeDependencies An unexpected error occurred during analysis of 'NUL'
28-Aug-2017 15:45:43.670 INFO [SimpleAsyncTaskExecutor-6] org.owasp.dependencycheck.Engine.analyzeDependencies Analysis Complete

This part of of the code is likely still incomplete, as I've been focusing on architecture, REST APIs, and bulk importing. I plan on working on the scanning engine integration in the next week or two so these issues should be resolved shortly.

FYI, I'm currently working off an unpublished version of Dependency-Check 3.0.0 so I cannot push changes just yet, but the integration is nearly complete.
@Pamir There's no need to set a Maven path since the hashes are already being captured and stored in the database, and (with DT 3.0) the Nexus analyzer can be configured by optionally loading the dependency-check.properties file. By default, the Maven Central analyzer will be enabled and Nexus disabled, but Nexus can be enabled and configured to point to a local Nexus Pro instance.
This commit https://github.com/jeremylong/DependencyCheck/commit/c4726088763153ea05735837de6cf9e8ad4a171b made this possible.

@Pamir An optional dependency-check.properties file can be included in the ~/.dependency-track/dependency-check directory. If this file exists, the properties included in it will be merged into the the properties Dependency-Track uses when executing Dependency-Check. For this specific ticket, I'd recommend the file containing only the following:
analyzer.nexus.enabled=true
analyzer.nexus.url=https://nexus.example.com/service/local/
analyzer.nexus.proxy=false

Do not copy the entire dependencycheck.properties file from dependency-check. Doing so will result in ODT/ODC not working correctly.


[Enhancement] Reduce project clutter

Project structure:

Move working python code into a subdirectory.
Clean up config: why ini? Why this way? People could just as well edit a python file directly, if it only lists the config options. Even better: CLI or environment variables.
Is a Makefile really necessary? is pipenv really necessary?

Code:

DRY code, dont repeat things like URL creation. store it in a variable and access it multiple times.
split add_indexers into multiple functions
reduce repetitions of index based access, example: instead of repeating config[app] multiple times, store it in a variable like conf
maybe use (data) classes instead of many lists/dicts
(non-cleanliness related) use requests instead of urllib and support basic auth.

Good points. Have you made any progress on this @laundmo ?

@morberg i have to admit, not really. i edited it to get it working in my specific case, and kinda just forgot about it.

Thanks for the update. I might take a stab at it during the holidays and wanted to know if there was anything done. I’ll just fork this repo to start with.

I have also to admit I have no sufficient time to enhance this script. I just make it work for my own purpose and shared it as a start point. Feel free to make any pull request with enhancements/changes that can simplify your usage.
I was thinking adding a docker creation to ease usage and updates but no time right now.

I ended up using the docker in https://github.com/AllergicDuck/jackett-sync-ts


calendar update alerts do not show for session changes

looks like we are only testing for changes to offering "updated on" values. should be checking for session as well. As noted in the original ticket, alerts are triggered for changes to the following values:

[ ] change to start time
[ ] change to end time
[ ] change to location
[ ] change to instructor
[ ] change to session objectives
[ ] change to session learning materials
[ ] change to session description

at the moment, only start/end time, location, and instructor

requires backend changes.

closed via ilios/ilios#1304


Progress returns wrong number when uploading mutil files

When I upload more than one file, the progress of each file can't return correctly, some of them stayed at 11% of the progress, but it actually has been uploaded. Don't know why, anyone konws? Thanks.

@steffentchr did you get any solution for this?

Hm, I actually didn't look much at it -- since I haven't seen it on any of my projects. Do you happen to have a test case?

Sorry! I didn't get any chance to prepare a test case for this.

Hello, did you implement testMethod on the server side?


Cleanup aided by clippy

Should fix the new lint ci errors due to rust 1.83.0 new clippy lints
On rust 1.83.0 with clippy cargo clippy -- -D clippy::nursery -A clippy::use_self
There are some more places where i could add const (in mut self places) but thats from 1.83.0 itself and i dont know if you are ok with setting the MSRV to it, so i didnt add those.

Thank you for the changes!


automatically ban the script that is responsible for registering the service worker from the captured files by set up strategies

Library Affected:
workbox-routing
Browser & Platform:
all browsers
Issue or Feature Request Description:
Is it possible to tell Workbox to blacklist a file from being capture by any further network strategies at all?
My use case is I have 2 files, one for registering my service worker (/assets/js/service-worker.js) and the service worker itself (at the root of my web server, /service-worker.js).
The file that is responsible for registering my service worker contains this code.
import { Workbox } from "workbox-window";

if ("serviceWorker" in navigator) {
  const workbox = new Workbox("/service-worker.js");

  workbox.register();
}

And my actual service worker contains this code.
import { registerRoute } from "workbox-routing";
import { CacheOnly } from "workbox-strategies";

registerRoute(/\.js$/, new CacheOnly);

The issue is that my service worker registration file (/assets/js/service-worker.js) will be captured by the cache-only strategy, and I would like it would not be captured at all by any strategies.
A workaround I found is write the following code.
registerRoute(/^(?!\/assets\/js\/service-worker).*\.js/, new CacheOnly);

However, I would like to be able to specify, or let us say blacklist, this particular route apart from inside my registerRoute call. I was thinking of something like this (if this is not possible for the moment).
import { blacklist } from "workbox-routing";

blacklist(["/assets/js/service-worker.js", /\.json$/]); // could accept regexp as well as regular strings

I am actually making a plugin that let the user configure which routes to cache (using all the available network strategies), and I would like to offer the opportunity for the user to not think about the fact that they should constantly take care of not capturing the specific /assets/js/service-worker.js file each time they are capturing Javascript assets (plus the fact that the plugin make the user not to have to know the existance of this file because everything is black boxed for him).
Is there any way to do it with the available libraries?

You've got a number of different approaches.
I don't think we'd go with a blacklist method like you describe, but you could accomplish something similar via a "whitelist" that is registered before your other route, and uses the NetworkOnly strategy:
import { registerRoute } from 'workbox-routing';
import { CacheOnly, NetworkOnly } from 'workbox-strategies';

registerRoute(/service-worker\.js$/, new NetworkOnly());
registerRoute(/\.js$/, new CacheOnly());

Alternatively, you could use a matchCallback rather than a RegExp for routing, and explicitly add in the logic you want in that function:
import { registerRoute } from 'workbox-routing';
import { CacheOnly } from 'workbox-strategies';

function jsMatchCb({url}) {
  if (url.pathname === '/assets/js/service-worker.js') {
    return false;
  }

  if (url.pathname.endsWith('.js')) {
    return true;
  }

  return false;
}

registerRoute(jsMatchCb, new CacheOnly());


tf.Session and tf.ConfigProto do not work in the new TF2.0

tf.Session and tf.ConfigProto do not work in the new TF2.0; what other options do I have?
with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as session:
result = session.run(sum_operation)
print(result)

I suggest you read this guide for tensorflow 2.0

I patched it with tf.compat.v1 & it still fails.

tf.ConfigProto will be split and replaced into other functions (ref). If tf.compat.v1.ConfigProto is not working, however, that would be an issue.
with tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True)) as session:
  result = session.run(sum_operation)
  print(result)

Can you try running the code snippet above?

@dynamicwebpaige thank you for that. I’ll try & follow up tomorrow and let you know. Thank you kindly.

@joehoeller Is this resolved? If it was resolved, please close the issue. Thanks!

@joehoeller Is this resolved? If it was resolved, please close the issue. Thanks!

I think it was resolved. I am closing the issue. But, please let me know if I'm mistaken.

neither gpu_options.allow_growth nor gpu_options.per_process_gpu_memory_fraction work.
GPU is allocated entirely regardless what values those options are set to.

Trying to limit the number of cores being used by TF with ConfigProto doesn't work:
config = tf.compat.v1.ConfigProto(
        intra_op_parallelism_threads=1,
        inter_op_parallelism_threads=1
    )

session = tf.compat.v1.Session(config=config)

By changing the value of the arguments it does change the number of threads being executed but I couldn't get a single core execution.


is it possible to use choria with external ca

hey,
i am using the FreeIPA integrated ca to provide certificates for my puppetservers and agents, so the puppet internal ca is disabled.
since the docs say that choria is relying on the puppetca to issue certificates, i am wondering if there is a way to create all the needed certificates for choria upfront via FreeIPA.
is this possible, and if yes how?
kind regards

If you put your client certs here:
       SSL Directory: /home/rip/.puppetlabs/etc/puppet/ssl (found)
  Client Public Cert: /home/rip/.puppetlabs/etc/puppet/ssl/certs/rip.mcollective.pem (found)
  Client Private Key: /home/rip/.puppetlabs/etc/puppet/ssl/private_keys/rip.mcollective.pem (found)
             CA Path: /home/rip/.puppetlabs/etc/puppet/ssl/certs/ca.pem (found)
            CSR Path: /home/rip/.puppetlabs/etc/puppet/ssl/certificate_requests/rip.mcollective.pem (found)
      Public Cert CN: rip.mcollective (match)

and your node certs here:
       SSL Directory: /etc/puppetlabs/puppet/ssl (found)
  Client Public Cert: /etc/puppetlabs/puppet/ssl/certs/dev1.devco.net.pem (found)
  Client Private Key: /etc/puppetlabs/puppet/ssl/private_keys/dev1.devco.net.pem (found)
             CA Path: /etc/puppetlabs/puppet/ssl/certs/ca.pem (found)
            CSR Path: /etc/puppetlabs/puppet/ssl/certificate_requests/dev1.devco.net.pem (found)

then it will work, you can configure the location of "SSL Directory" but the locations under that has to follow this pattern.

mco choria show_config will validate you got it right for you (it's what you see above)

wow, thanks for the fast answer.
i will setup a new lab environment to try this out

ok :) let me know if you need help, the intention that it Just Works for typical Puppet but flexibility is there to get where you need to get.
I'll close this one now, reach out sould you have issues - I suggest the choria-users list on google groups for this kind of issues.


Add supported types for CheckNameAvailability API

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[X] The title of the PR is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[X] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[X] If applicable, the PR references the bug/issue that it fixes.
[X] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[X] I have read the contribution guidelines.
[X] My spec meets the review criteria:

[X] The spec conforms to the Swagger 2.0 specification.
[X] The spec follows the guidelines described in the Swagger checklist document.
[X] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Wow, awesome! 👍
Looking great, just wanna raise awareness that

qualifies as an SDK breaking change. If the definition was wrong before, that's of course not unreasonable. 🙂
Thanks a lot for your efforts! Will merge if you're happy.

Please go ahead and merge. Those models were incorrectly marked as a tracked resource in the swagger earlier. This will fix that.

No modification for AutorestCI/azure-sdk-for-node

 https://github.com/Azure/azure-sdk-for-python/pull/1626

 https://github.com/Azure/azure-sdk-for-ruby/pull/1133


Failed Tests

Building latest SBT from the 1.10.x branch I've run into flaky tests.
The one case was:
failing seed for settings.Basic chain is fq5l0-Udk_NNh18TFuswYAsVvZx2UQNvoq63LQ8TswP=
[info] ! settings.Basic chain: Exception raised on property evaluation.
[info] > ARG_0: 4841
[info] > Exception: java.lang.StackOverflowError: null
[info] sbt.internal.util.Init$Value.value(Settings.scala:918)
[info] sbt.internal.util.Init$Value.$anonfun$apply$2(Settings.scala:922)

The other, when running the serverTestProj:
[info] testpkg.ClientTest
[info] - exit success
[info] - exit failure
[info] - two commands
[info] - two commands with failing second
[info] - two commands with leading failure
[info] - three commands *** FAILED ***
[info]   assertion failed
[info]
[info]   assert(client("compile;clean;willSucceed") == 0)
[info]          |                                   |
[info]          1                                   false
[info]     verify.asserts.PowerAssert$AssertListener.expressionRecorded(PowerAssert.scala:37)
[info]     verify.asserts.RecorderRuntime.recordExpression(RecorderRuntime.scala:41)
[info]     testpkg.ClientTest$.$anonfun$new$11(ClientTest.scala:105)
[info]     verify.TestSuite.$anonfun$test$1(TestSuite.scala:29)
[info]     verify.TestSpec$.$anonfun$sync$1(TestSpec.scala:48)
[info]     verify.TestSpec.apply(TestSpec.scala:22)
[info]     verify.Properties.$anonfun$iterator$2(Properties.scala:34)
[info]     verify.TestSpec.apply(TestSpec.scala:22)
[info]     verify.runner.Task.loop$1(Task.scala:51)
[info]     verify.runner.Task.$anonfun$execute$1(Task.scala:58)
[info]     scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307)
[info]     scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:51)
[info]     scala.concurrent.impl.CallbackRunnable.run(Promise.scala:74)
[info]     java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
[info]     java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[info]     java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[info]     java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[info]     java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[info]     java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[info] - three commands with middle failure
[info] - compi completions
[info] - testOnly completions
[info] - quote with semi

I could not reproduce the second one frankly.
It happened after a clean compiler after updating my local build with the last 10 commits. Cleaning everything and trying again did not trigger it.
I did not investigate this further, so I can't really say what it could be but wanted to leave a note here in the hope that it will be helpful.

Thanks for the report!

I've just noticed that my description is a little bit wrong.
Only the second failed test happened after updating my local branch. (And as I could not reproduce that, maybe this was just some hiccup after the update / rebase?)
The first one happened already on some test runs before that (as I've looked into #7610). I took notes back than but reported only after coming back to the now solved issue again. So the second flaky test is quite sure not related to the last few commits.


Add check mode for yor tag command

This commit adds a "check" mode to the tag command, which causes yor to exit with a non-zero status (by calling log.Error()) if any changes were (or would have been, if in dry mode) made.
This is useful in CI pipelines, where one wants to confirm that everything is tagged appropriately.  Check mode is simpler to use in CI than parsing the CLI output.
The check for changes is made after the report is printed, as knowing what was/would-have-been changed is useful in debugging CI failures.
This commit:

adds a utility method to the report service which returns a boolean value if there were any additions or changes to the tags;
uses that utility method in the tag command; and
adds a single simple test for the utility function.

Quibbles:

It would be nice to be able to test the utility function in a scenario with no changes, but there does not seem to be a test helper to generate that scenario.
There is no test for the CLI option handling, I'm not clear on how the CLI is tested.
It might be useful to add a Quiet flag, which suppresses all output. This seems like an orthogonal addition, not part of this MR.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@tronxd and @gruebel -- Anything I can do to help keep this moving?
Thanks!

@hartzell sorry for the late response..
merged

NP, thanks for the support!


[api-minor] Change PDFFindController to use the "find"-event directly (issue 12731)

Looking at the code, I do have to agree with the point made in issue #12731 about it being unexpected/unhelpful that the PDFFindController.executeCommand-method isn't directly usable with the "find"-event.
The reason for it being this way is, as so often, for historical reasons: The executeCommand-method was added (just) prior to the introduction of the EventBus in the viewer.
Obviously we cannot simply change the existing PDFFindController.executeCommand-method, since that'd be a breaking change in code which has existed for over five years.
Initially I figured that we could simply add a new method in PDFFindController that'd accept the state from the "find"-event, however after thinking about this and looking through the use-cases in the default viewer I settled on a slightly different approach: Let the PDFFindController just listen for "find"-event (on the EventBus-instance) directly instead, which also removes one level of (unneeded) indirection during searching in the default viewer.
For GENERIC builds of the PDF.js library, the old PDFFindController.executeCommand-method is still available with a deprecation warning.
Fixes #12731

/botio unittest

/botio integrationtest


contacts_list does not work

Exception raises when i try to get list of contacts:
sender.contacts_list()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/vonabarak/tgsrv/lib/python3.4/site-packages/pytg-0.4.1rc0-py3.4.egg/pytg/sender.py", line 548, in command_alias
    return self.execute_function(command_name, *args, **kwargs)
  File "/home/vonabarak/tgsrv/lib/python3.4/site-packages/pytg-0.4.1rc0-py3.4.egg/pytg/sender.py", line 275, in execute_function
    return result_parser(message)
  File "/home/vonabarak/tgsrv/lib/python3.4/site-packages/pytg-0.4.1rc0-py3.4.egg/pytg/result_parser.py", line 30, in success_fail
    if json.result == u("SUCCESS"):
AttributeError: 'DictObjectList' object has no attribute 'result'

Probably it should have res.List() instead of res.success_fail in sender.py line 104

I get exactly the same error since yesteray.

Can you give me a log of that?
Just put that at the begin of your code:
import logging ; logging.basicConfig(level=logging.DEBUG)  # enable debug output

Sure. Here is log/
Python 3.4.1 (default, Jul  3 2015, 23:56:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pytg
from pytg.receiver import Receiver # get messages
from pytg.sender import Sender # send messages, and other querys.
from pytg.utils import coroutine
sender = Sender(host="localhost", port=4458)
import logging ; logging.basicConfig(level=logging.DEBUG)
sender.contacts_list()
DEBUG:pytg.sender:Sending command > [disable_preview] contact_list
<
DEBUG:pytg.sender:Socket Connected.
DEBUG:pytg.sender:All Sent.
Traceback (most recent call last):
File "", line 1, in
File "/home/vonabarak/pytg/lib/python3.4/site-packages/pytg-0.4.1rc0-py3.4.egg/pytg/sender.py", line 548, in command_alias
File "/home/vonabarak/pytg/lib/python3.4/site-packages/pytg-0.4.1rc0-py3.4.egg/pytg/sender.py", line 275, in execute_function
File "/home/vonabarak/pytg/lib/python3.4/site-packages/pytg-0.4.1rc0-py3.4.egg/pytg/result_parser.py", line 30, in success_fail
AttributeError: 'DictObjectList' object has no attribute 'result'

i had the same issue, i did fix it like this but i don't know if that's good.
not all the responses have a "result" attribute (as i've seen, not a lot of them do), so in pytg/result_parser.py, in function success_fail in the first line (before the two if's) i added:
if not hasattr(json, 'result'):
return json
also i added another change, for the contact_add function, when it gets to function something in the same file (result_parser.py) because the length is equal to one, an exception is thrown, i changed the line 22 as follows:

  if not (value and len(value) > 1):

  if not (value and len(value) >= 1):

#37 fixed that.


The description of the Contributor role is conflict

As for the section of Contributor:

Description: Lets you manage everything except access to resources
Actions: Create and manage resources of all types
So whether Contributor could create resources or not?

Duplicate of #21555


[WIP] Initial pass at refactoring storybook layout components

There is a lot going on here, but the main idea is that we do not know if page headers will be plain, need room for buttons, or even need to be on the page at all (in the case of lists). This is what makes it so difficult to abstract a layout, and can make abstracting layouts actually more cumbersome. Comments below.

If we do want to continue to abstract layouts, this particular block keeps getting repeated on model child pages:
return (
    <section>
      <PageHeader
        title={<ContributorDisplayName contributor={contributor} />}
      />
      <ContentSidebar sidebarLinks={manageRoutes}>
        {activeRoute && activeRoute.label && (
          <PageHeader
        {useRouteHeader && activeRoute && activeRoute.label && (
          <ContentHeader
            headerStyle="secondary"
            title={t(`navLabels.${activeRoute.label}`)}
          />
        )}
        {children}
      </ContentSidebar>
    </section>
  );

I could see this getting turned into it's own Page or ModelPage component, but I'm concerned that will further complicate our app. Some pages do not follow this structure (such as the dashboard).

RE: Redundant PageHeader / Sidebar / ContentHeader in the Model Layout components
I think if we try to remove the repetition now, we'd be doing it prematurely. There are a finite number of these layouts (only 5 currently), and I think it's entirely possible that with time we might seem some differences emerge in them as we get into real-world uses and need different headers, buttons, etc. I think your instinct that abstraction here would add complexity is right, and we shouldn't try to abstract these until it feels like a repeated PITA to deal with them. I'd feel differently if there was a bunch of markup or styles in these layouts, but they're just composing other components, so it doesn't worry me.
RE: Refactoring ContentHeader and PageHeader
What you say all makes sense to me — I haven't thought through dealing with the buttons and various states as deeply as you have, so I don't have any suggestions to offer on that. At first I thought maybe we should just remove the header from the ModelLists, but there are buttons in the header that are connected to the list and its selection state, for example, so those probably belong in the ModelLists. It's complicated, and when it's complicated, we should be wary of trying to abstract too much!
One other thought
The only thing that gave me pause in this PR really was changing the default behavior of the model layouts from "show the secondary header unless I tell you not to" to "only show it when I tell you to." That feels wrong to me, because the majority of the pages do show the secondary header—and the fact that you had to add the useRouteHeader prop to almost all of the pages suggests the default value for useRouteHeader should be true on the model layouts. I like the default behavior to be the most common behavior, while requiring extra configuration for deal with exceptional cases (like when there'e a list and we need to hide the header). That said, this isn't a hill I'd die on if you have a good reason for switching the default!
In short, looks good to me +1


hang on connecting - how to troubleshoot?

on OSX, can't seem to connect to any of various hosts, rtop just sits at the "-- connecting..." status. is there a log or any verbose/debugging options to see what's going on under the hood?

last commit showing is still 28 april. did you push to master?
its confusing. im able to successfully ssh using the same machine w/ no issues.
e.g. this works w/ passwordless
ssh -p 7307<EMAIL_ADDRESS>none of these do
rtop -u anthony -p 7307 <IP_ADDRESS>
rtop -u anthony -p 7307 <IP_ADDRESS> -k ~/.ssh/id_rsa
rtop -p 7307<EMAIL_ADDRESS>

Yikes, you're right. I published without pulling first the latest changes on Github (that address that issue). Try again using version 0.4.6.
(And sorry for the goofyness, haha)

i must be doing something really wrong as i am still getting 'all configured authentication methods failed' regardless of what hosts, keys, flags i use. i suspect a permissions problem somewhere but not sure where to look. sorry to bug you and thanks for the help

Are you able to ssh to the host(s) normally without any problems?

yes. its only rtop. i could probably figure this out on my own if i could get some diagnostics but there's nothing in the syslog as far as i can see and rtop isnt saying much. any ideas?


Fix FakeNavigationManager when navigating to Uri without absolute path.

Fix FakeNavigationManager when navigating to Uri without absolute path.
Pull request description
I run some unit tests of a component today that navigates without problem to a path without absolute path.
But in unit test it throws. I did some unit test of bUnit and found out that FakeNavigationManager could not handle that case.
So this is a PR, that seems to fix it.
PR meta checklist

[x] Pull request is targeted at main branch for code
or targeted at stable branch for documentation that is live on bunit.dev.
[x] Pull request is linked to all related issues, if any.
[x] I have read the CONTRIBUTING.md document.

Code PR specific checklist

[x] My code follows the code style of this project and AspNetCore coding guidelines.
[ ] My change requires a change to the documentation.

[ ] I have updated the documentation accordingly.

[x] I have updated the appropriate sub section in the CHANGELOG.md.
[x] I have added, updated or removed tests to according to my changes.

[x] All tests passed.

Hey @joelmandell,
thanks for reaching out to us and filing a PR for the issue you are encountering. Let me level here with you to find a common denominator.
The issue you are seeing is solely because of umlauts in the URL not because they are relative or whatnot. If you remove the  ä with a it works as expected. The reason lies in how IsWellFormedUriString and ToAbsoluteUri handles that situation (for some reason bad). Well, that and later the Uri = absoluteUri.OriginalString; which throws in an exception in the current state.
We just swallowed that exception which is why it gave the impression this behavior is more or less expected.
Anyway back on track. I do think your change looks good. There is a smaller nitpick with the test - but I'll put the comment directly at the appropriate place.

Thanks @linkdotnet for your comments and I made changes according to them 👍

Thanks @linkdotnet for your comments and I made changes according to them 👍

One small thing in the changelog.md and we are there! Great job so far!

Perfect. Looking good and ready for main.
Thanks again @joelmandell!


Add setting to choose display language

In theory it should be quite easy, just append the php variable hl=<language code> to the url and reload...
The language code syntax is:
<lang_code>[_<country_code>]
where lang_code can be one of these: http://www.w3schools.com/tags/ref_language_codes.asp
and the optional country_code one of these: http://www.w3schools.com/tags/ref_country_codes.asp
I'm really bad at ui stuff and don't feel like digging into the code right now so this is no pull request, sorry :/

Also don't forget about the hard-coded strings in the settings page, taskbar menu etc...

In a perfect world the app would have translations but it doesn't...
At some point I might implement some form of locale/translations but as @MightyPork that would involve replacing a lot of hard coded strings.
If you want to change the country/language of GPM it by default takes your google accounts language so you can change it there?

@MarshallOfSound personally I crave changing language as my default is Ukrainian so Google translates some artists names and it's is scrobbled to my last.fm
I can live with it, just informing there is such scenario.

@vladgolubev This has since been implemented.
#1414
I don't believe we have Ukrainian translations yet though

I have set my account main language to English. I've also set to English player itself. But anyway, some parts are in old language yet (Russian). What can i do to fix this? It's really bad, because scrobbling bands in russian translation is not good for last.fm statistic.

@Landen13 GPM will always display in your google accounts language, unfortunately nothing I can do about that.  You can change your account language in your settings somewhere though I believe.

@MarshallOfSound I use ?hl=en query string in my browser to override language. Is it possible in Electron?

@vladgolubev Copy the URL you use in your browser to get the english version into the "GoTo" dialog in GPMDP and see if it works 😄

@MarshallOfSound works like a charm!! Thanks! 💯


Update gradle and sdk version.

Thanks for the PR! I'm sorry I couldn't include your code with the merge conflicts, but it gave me the incentive to actually push the next release. Changes have now been incorporated.


Missing fixes for division operators relating to gcc 11 ICE

Commit 417f84258523d2e5f868cf080b7b837328edd501 fixes an internal compiler errors for operator * by modifying the constraints on the Value template argument. Corresponding modifications where not made for the division operators. Therefore, the following will throw an internal compilation error on the / operator, while the * operator still work as expected:
https://godbolt.org/z/s7hc6vnYs
I'm not sure whether or not this omission was deliberate. My own testing suggests that modifying the definition of the / operators in the same way works just as well.
Full code for completeness:
// Type your code here, or load an example.

#include <units/isq/si/length.h>

using namespace units::isq::si;
using namespace units::isq::si::references;

template <typename T>
class Box
{
	T val;
public:
	 Box(T val_p)
	    : val{val_p}
	{
	}

	operator T() const { return val; }
};

int main() {
    auto u = 1 * mm;
    auto pu = Box{u};

    auto mul1 = 2.0 * pu;
    auto mul2 = pu * 2.0;
    auto div1 = 2.0 / pu;  // causes ICE
    auto div2 = pu / 2.0;  // causes ICE

    return 0;

The reason for that is in the preceding sentence of the quote above:

I believe at some point I questioned why these where constrained with !Quantity rather than Representation.

In the linear algebra examples, there are several instances of commented code related to division, such as:
void vector_of_quantity_divide_by_scalar()
{
  std::cout << "\nvector_of_quantity_divide_by_scalar:\n";

  vector<length::m<>> v = {m<>(4), m<>(8), m<>(12)};

  std::cout << "v = " << v << "\n";

  // TODO Uncomment when bug in the LA is fixed
  // std::cout << "v / s<>(2) = " << v / s<>(2) << "\n";
  // std::cout << "v / 2 = " << v / 2 << "\n";
}

I understand that the assumption here is that there is a bug in the Linear Algebra (LA) library, but I believe my example seems to suggest something else.
Under the current trunk of mp-units, my understanding is that a line like:
v / 2

will not compile, but
v * 0.5

will.
This is certainly true in my godbolt Box example.
Regardless of the uses the Quantity concept might have, the fact that something like Box{1 * mm} / 2.0 will not compile but Box{1 * mm} * 0.5 will appears a bit bizarre.
What would I lose if I were to patch the operator/ functions with the same type of modification that were done for operator*?

I understand that the assumption here is that there is a bug in the Linear Algebra (LA) library, but I believe my example seems to suggest something else.

I think it's mp-units that's wrong. But since I don't know the reason for using !Quantity rather than Representation, I applied the minimal fix. IIRC.

What would I lose if I were to patch the operator/ functions with the same type of modification that were done for operator*?

That's why I questioned the use of !Quantity. If it can be done for operator* or all uses of !Quantity and nothing breaks, I think it's OK to patch them.

That sounds reasonable to me. Indeed, looking at Representation:
template<typename T>
concept Representation = (!Quantity<T>) && (!QuantityLike<T>) &&
                         (!wrapped_quantity_<T>) && std::regular<T> && scalable_<T>;

so that it's actually merely a stronger restriction that does not appear problematic. Patching sounds good to me.
Thanks for the rapid answers!

Well, the reason that the linear algebra code is commented out is slightly different: https://github.com/BobSteagall/wg21/issues/38 😉
Anyway, I agree that the rest of the operators should be fixed as well. Are you going to provide a PR?


Enumsource with $ref

Hi,
im using enumsource with $ref to load data from ajax call. but it is showing empty dropdown.
below is my code snippet.
"type": "object",
"required": ["value"],
"properties": {
"valuev": {
"type": "string",
"enumSource": [{
"source":  { "$ref": "ajaxcall"},
"title": "{{item.title}}",
"value": "{{item.id}}"
}]
}
}
$ref is returning below response.
[{"id":1,"title":"value1"},{"id":2,"title":"value2"}]
but empty dropdown is rendering. could you please help me to get rid of this

I have exactly the same problem.

I tried 2 different methods to get right dropdowns.

fetching json file of the schema with fetch API : does not work
set schema directly in editor declaration : does not work

I created gist with my attempts code.
But the problem, that is this schema working well in demo page
I really don't understand. And I really need this tool for my current project...
Help me please :)

I have found my problem. It was my declaration of selectize that could not work because of no integration of selectize resources in <head>.
My schema works well with $ref in schema declaration with select2 but not with selectize.
I done some tests and i confirm that enumSource does not work with selectize.

Managed to do so.
if(this.enumSource[i].source && typeof this.enumSource[i].source == "object") {
  var src = this.jsoneditor.expandRefs(this.enumSource[i].source);
  this.enumSource[i].source = [];
  for (var j in src)
  {
    this.enumSource[i].source.push(src[j]);
  }
}

Goes at the end of this for loop.
Unfortunately, $ref ignores three path in external links, so http://example.com/test.json#/nodename will still be evaluated as http://example.com/test.json's root.
And also the order is lost because of conversion to object.

Thanks @desertkun. To get this to work for properties where the value is "number" type (i.e. not "string") I had to also add a call to self.typecast here
// Rendered value
if (this.enumSource[i].value) {
    item_values[j] = self.typecast(this.enumSource[i].value({
        i: j,
        item: item
    }));
}


Provide lab walkthrough guidance

We should provide lab walkthrough guidance to explain better the possible 'paths' learners can take through the lab modules.
There should be a path for:

if you only have half a day to learn
if you have a full day to learn
if you want to learn how to securely set up Java applications on ACA
if you want to integrate AI in your Spring Boot application
...

@selvasingh anything additional or anything I am missing here?

#102


Alert when setData and merged cells

Hi,
I use Jexcel in a React application and use setData when the redux state is changing. However as soon as I use mergeCells it will pop up an alert dialog saying : Cell already merged. Yes they are already merged since I haven't changed the mergeCells definition since the last rendering. This peace of code here in setMerge seems to not check if the mergeCells definition is the same
        if (obj.options.mergeCells[cellName] && obj.options.mergeCells[cellName][2]) {
            test = obj.options.text.cellAlreadyMerged;
        } else if ((! colspan || colspan < 2) && (! rowspan || rowspan < 2)) {
            test = obj.options.text.invalidMergeProperties;
        } else {
            var cells = [];
            for (var j = cell[1]; j < cell[1] + rowspan; j++) {
                for (var i = cell[0]; i < cell[0] + colspan; i++) {
                    var columnName = jexcel.getColumnNameFromId([i, j]);
                    if (obj.options.mergeCells[columnName] && obj.options.mergeCells[columnName][2]) {
                        test = obj.options.text.thereIsAConflictWithAnotherMergedCell;
                    }
                }
            }
        }

If you change it to this then it works fine. It now checks also if the configured colspan/rowspan is the same as in mergeCells
        var cellMergedOptions = obj.options.mergeCells[cellName]
        if (cellMergedOptions && cellMergedOptions[2] && (
            cellMergedOptions[0] !== colspan || cellMergedOptions[1] !== rowspan
        )) {
            test = obj.options.text.cellAlreadyMerged;
        } else if ((! colspan || colspan < 2) && (! rowspan || rowspan < 2)) {
            test = obj.options.text.invalidMergeProperties;
        } else {
            var cells = [];
            for (var j = cell[1]; j < cell[1] + rowspan; j++) {
                for (var i = cell[0]; i < cell[0] + colspan; i++) {
                    var columnName = jexcel.getColumnNameFromId([i, j]);
                    cellMergedOptions = obj.options.mergeCells[columnName]
                    if (cellMergedOptions && cellMergedOptions[2] && (
                       cellMergedOptions[0] !== colspan || cellMergedOptions[1] !== rowspan
                    )) {
                        test = obj.options.text.thereIsAConflictWithAnotherMergedCell;
                    }
                }
            }
        }

I found one problem when initialization, it has been fixed. Hope fixes your problem.

I retested with the latest release and as far as I can see it has been fixed indeed. Thanks


Failure in ConvOclBwdWrW2<1>

A replicable failure has been observed in kernel ConvOclBwdWrW2<1>.
See:
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/139#issuecomment-678445039
Please evaluate it.

Thanks for opening the issue. But it works for me on Radeon VII, ROCm 3.5. How can I reproduce it? Should I use different ROCm or GPU?

Thanks for opening the issue. But it works for me on Radeon VII, ROCm 3.5. How can I reproduce it? Should I use different ROCm or GPU?

Sure. Details sent.

Moved to https://github.com/AMDComputeLibraries/MLOpen/issues/2534


Sample post production specifications

What
Define a sample set of representative specifications in the OpenAssetIO-MediaCreation repository to allow us to illustrate typical interactions between a DCC and AMS within the post-production workspace.
Why
The recent work group highlighted that the topics raise are a little abstract without any concrete examples. By producing a set of sample specifications, we can then illustrate typical workflows with real working code.
Acceptance Criteria

A Python module openassetio_mediacreation that provides example specifications under the specifications.<prefix> module namespace
EntitySpecifications for

Images, CG Renders, 3D scene caches
Editorial containers and shots
Document types for Nuke, Katana, Maya, Houdini, Blender

One of the following schema bases should be used:

entity:blob
entity:container

The specification hierarchy should not be partitioned by data format/encoding. ie. png and jpg images should not be addressed by their own specifications, instead a mimeType property on the blob spec would allow format filtering.
Specifications should make token suggestions as to potential properties defined for each schema.

Succeeded by #22


Migrate Space Agon Demo from using Open Match 1 to Open Match 2

This pull request changes the Space Agon's match making logic from using Open Match 1 to Open Match 2(https://github.com/googleforgames/open-match2/blob/main)
Key files to review:

director/director.go
frontend/frontend.go
mmf/mmf.go
install/helm/space-agon/templates && install/helm/space-agon/values.yaml
omclient/omclient.go - mostly copied from https://github.com/googleforgames/open-match-ecosystem/blob/v2.0/v2/internal/omclient/omclient.go, but added an initializer and assignment related APIs.
logging/logging.go - completely copied from https://github.com/googleforgames/open-match-ecosystem/blob/v2.0/v2/internal/logging/logging.go.

Key differences between OM1 and OM2:

Frontend and Director communicates with OM1 via gRPC, but use HTTP to communicate with OM2. Thus the omclient.go and logging.go was created.
OM1 was previously deployed in Kubernetes via helm, but OM2 is now deployed on Cloud Run (https://github.com/googleforgames/open-match2/blob/main/docs/DEVELOPMENT.md).
Redis was previously deployed in Kubernetes via helm, but is now deployed on Memorystore on Pantheon UI.
MMF is now an internal load balancer service because OM2 is not on Kubernetes.

Two tests are intentionally left out in the pull request:

Frontend/frontend_test.go was deleted because the OM2 repo doesn't provide a omtest tool anymore, and the test itself isn't originally covering a lot of the code logic either.
The integration test was skipped in the PR checks because the process of deploying the Space Agon demo has changed a lot, and since OM2 and Redis are no longer deployed on Kubernetes, it is more complicated to set up for the integration test to run. Also, once it's all set up, it's more reasonable to test the demo just by running it, rather than running the integration test.

To run the demo with this PR, first follow the README to until you installed Agones. Then instead of installing Open Match with make openmatch-install, follow the steps below to install OM2:

Find the region of your Kubernetes Cluster, and use this region for the steps below.
Create a Redis instance in Memorystore on Pantheon UI.
Deploy OM2 by cloning the https://github.com/googleforgames/open-match2/blob/main repo and following the docs/DEVELOPMENT.md file to install OM2. You need to replace the IP address of the OM_REDIS_WRITE_HOST and OM_REDIS_READ_HOST in the service.yaml file to be the IP address of the Redis instance you created.

Now to allow your frontend to talk to the OM2 you installed:

Create a Google Service Account in your project and give it the Cloud Run Invoker role
Replace the value of iam.gke.io/gcp-service-account field in frontend.yaml to be the Google Service Account you created.
Bind the Kubernetes Service Account in frontend.yaml to the Google Service Account(in the form of<EMAIL_ADDRESS>with

gcloud iam service-accounts add-iam-policy-binding   --role roles/iam.workloadIdentityUser   --member "serviceAccount:PROJECT_ID.svc.id.goog[default/frontend-sa]"   YOUR_GOOGLE_SERVICE_ACCOUNT

In install/helm/space-agon/values.yaml, change the omCoreAddress field of frontend to be the address of you OM2 service on Cloud Run.

Because the MMF server are now called from Cloud Run instead of Kubernetes Cluster, the MMF needs to have an IP that the director needs to know when the director is starting up. To do this,

Reserve an internal IP address for you project in Pantheon UI.
In install/helm/space-agon/values.yaml, replace the ipAddress field for mmf and the mmfAddress field for director to be the IP address that you just reserved.
In install/helm/space-agon/values.yaml, change the omCoreAddress field of director to be the address of you OM2 service on Cloud Run.

Now in the root directory of the demo and use make build && make install to start the Space Agon demo. NOTE: after you have the external IP address of the frontend service, open two chrome windows so you can see them AT THE SAME TIME, and click Find Game. If you can't see both tabs at the same time, the demo's client has a bug that will connect to a match several times.
Towards #50

Sorry for being late. I'll check the changes.

@peterzhongyi
Thank you for this excellent PR! I've deployed it locally and verified it worked with Cloud Run.
Open Match 2 seems to have increased dependencies on Google Cloud, such as Cloud Run, Memorystore for Redis, and Cloud IAM configuration.
To enable integration tests on GitHub Actions and make the deployment simple, I'm considering deploying Open Match 2 Core and Redis on Kubernetes.
If possible, could you merge the Kubernetes deployment version of Open Match 2 as the main code change and document the Cloud Run deployment as an optional method in such as DEPLOYMENT.md ?
Since your current PR steps works as is, simply documenting these steps would be sufficient.

@kemurayama Thanks so much for going through the steps, and I'm glad it worked!
And yes, currently Open Match 2 indeed has a much stronger reliance on Google Cloud. This is a decision made by people including @joeholly in an effort to justify Open Match's product value to Google. I'm clearly aware that this change would mean less portability between different Clouds, which is one of the original goals of such an open sourced project.
In fact, I've already had some discussions with my team, and have come to the conclusion that providing direct support for Kubernetes deployment is still vital to OM2. As a result, I'm planning to add the Kubernetes deployment version to in a coming PR. I decided to do this in a different PR because there will be some significant work involved to support Kubernetes.
However, since the original design of OM2 was mostly around deploying through Cloud Run, I think it's a good idea to merge this PR to the om2 branch, and I can update the README.me for this branch as well to document the deployment strategy. Meanwhile, I can start working on the other PR to support Kubernetes. As for the integration tests, I think we'll have to skip them for now, until I come up with the next PR.
What do you think?

Hi @peterzhongyi,
Thanks !! I'm glad to know that OM2 also support Kubernetes in coming PRs. I'll merge this request.


Anchor link does not scroll to the top of the browser

Describe the bug
context
When I click on an anchor link such as this
expectation
I expected to see the anchor rise to the top of page, or as top as it can go.

bug
But instead this happens

Reproduce the bug
Use the links described above.
Here is a link to the docs root folder: https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/docs
List your environment
Our requirements file:
git+https://github.com/executablebooks/sphinx-external-toc
sphinx
sphinx-autobuild
myst-parser
sphinxcontrib-mermaid
sphinx-book-theme
sphinx-copybutton

Side note that might be useful: I tried in two different browsers and noticed the following. Looks to be an issue where the page goes to the correct place, but then the images finish loading and the page scrolls down.
https://github.com/The-OpenROAD-Project/OpenROAD/pull/3640#issuecomment-1651538299

Turns out the issue is not related to sphinx-book-theme, it is related to mermaid diagrams rendering .
For future reference refer to link


fix: add BaseError and JobError classes to handle custom errors

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add heading and inline options to organisation logo

What
This adds an extra configuration option to set the wrapping element of the organisation logo to be a heading.
This also adds the option to make that element not fill up as wide as the parent element. Since this could break things, this option is off by default.

Why

Wrapping the organisation logo in a heading allows it to be part of the content of the page, as required by the Ministers page.
Making the component inline removes a large invisible area that users could mistakenly tap and trigger the link. It also makes the focus state more consistent.
Visual Changes

No visual changes when changing the wrapping element.
Inline before:

Inline after:

View Changes
https://govuk-publishing-compo-pr-1198.herokuapp.com/component-guide/organisation_logo

Good improvement! I left a non-blocking comment and don't forget the changelog entry. Have you got the chance to check it renders fine at the top of an organisation page?

The changes have to be explicitly turned on, so it'll render correctly wherever it's  currently being used - the default behaviour hasn't changed.


Is this compatible with TS 5 decorators?

Typescript 5.0 recently released. It changes decorators quite a bit.
Will this library work without the experimental decorators flag? I think that should be written in the Readme somewhere.

According to Typescript 5 announcement new decorators are not compatible with emitDecoratorMetadata. So no, the experimental decorators flag is still required.

Is there any plans by the team to update this package to support TS 5.0?

None of the maintainers seem to be working at microsoft. Not sure if they ever did, as I just started using this library recently.
So I guess the future of this project seem to be uncertain, as there hasn't been much activity either lately.

None of the maintainers seem to be working at microsoft. Not sure if they ever did, as I just started using this library recently.
So I guess the future of this project seem to be uncertain, as there hasn't been much activity either lately.

The library is stable, has all the features it needs implemented and has been in that state for ages.

None of the maintainers seem to be working at microsoft. Not sure if they ever did, as I just started using this library recently.
So I guess the future of this project seem to be uncertain, as there hasn't been much activity either lately.

The library is stable, has all the features it needs implemented and has been in that state for ages.

Technically yes, but I think we should expect TS to cease supporting experimental decorators eventually. But its more likely that users of tsyringe may eventually encounter a package they want to use that requires the new decorators but can't until it becomes compatible.
But even then, that compatibility is not trivial, the new decorator spec does not support parameter injection at all and probably won't for a long time. In my own case its not a ton of work to remove instances of parameter injection from my projects but for others it might be more difficult.
Its an unfortunate situation all around.

Does anyone have experience using another stable, lightweight DI framework that is more actively maintained?

I ended up going for Inversify.

None of the maintainers seem to be working at microsoft. Not sure if they ever did, as I just started using this library recently.
So I guess the future of this project seem to be uncertain, as there hasn't been much activity either lately.

The library is stable, has all the features it needs implemented and has been in that state for ages.

Technically yes, but I think we should expect TS to cease supporting experimental decorators eventually. But its more likely that users of tsyringe may eventually encounter a package they want to use that requires the new decorators but can't until it becomes compatible. But even then, that compatibility is not trivial, the new decorator spec does not support parameter injection at all and probably won't for a long time. In my own case its not a ton of work to remove instances of parameter injection from my projects but for others it might be more difficult. Its an unfortunate situation all around.

I agree - I want to see this package support TS 5 decorators as well or a fork that does and works with TS 5 so we aren't locked out of other newer decorator packages.
However let's not forget that we were all using a flag that does actually say it is experimental on it's doc page and as such we knew this could or would happen eventually when decorator support got closer to being finalised 😄
On my reply, it was only to the comment of "future of this project seem to be uncertain, as there hasn't been much activity either lately". Just because a project doesn't have recent activity, doesn't mean its broken or out of date. Some libraries you have in your dependency trees haven't had updates for years and remain stable, secure and reliable despite this fact.
But let's try avoid getting into that whole topic, instead let's just focus on what we do with this package and TS 5 👍

In looking through the code it seems like this may have already been resolved via https://github.com/microsoft/tsyringe/pull/226 but it simply hasn't been published yet.
Hopefully once that becomes published it should work without issue in TS 5.x environments.

Are there any plans to release the code changes that would publish the TS5 compatibility any time soon? PR looks like it was merged some time ago.

I ended up going for Inversify.

inversify also uses Reflect.metadata so it won't work with TS 5 decorators.

I ended up going for Inversify.

inversify also uses Reflect.metadata so it won't work with TS 5 decorators.

Just tested, inversify is not affected by this with version 6.0.1

@MeltingMosaic had merge capability, but sometimes it's different people who can publish new versions to NPM. I guess they'd also have to evaluate whether the other changes in master since the last published version are okay to publish.

Any updates for these releases?

Any updates for these releases?

https://github.com/microsoft/tsyringe/pull/226

Upgraded TS to v5 and now I am facing this 😢

I don't really understand what is happening with the repo. The PR that would allow moving to the latest TS version was merged and the action ran for the release, its green and everything, but NPM still shows 4.7.0 which is over a year old now.
https://github.com/microsoft/tsyringe/actions/runs/4716091295

I don't really understand what is happening with the repo. The PR that would allow moving to the latest TS version was merged and the action ran for the release, its green and everything, but NPM still shows 4.7.0 which is over a year old now. https://github.com/microsoft/tsyringe/actions/runs/4716091295

In looking at that job you mentioned, the steps required to publish the package never ran, so the workflow didn't actually end up doing anything.

This means that someone from the team needs to push a publishing commit so that these changes can go live.

I am unfamiliar with github actions so I wasn't sure if that meant they were disabled or if I just didn't have access to see more detail about the steps. In any case hopefully a maintainer can just get it shipped; I really don't want to have to fork anything or look for other options if it can be avoided.

I am unfamiliar with github actions so I wasn't sure if that meant they were disabled or if I just didn't have access to see more detail about the steps. In any case hopefully a maintainer can just get it shipped; I really don't want to have to fork anything or look for other options if it can be avoided.

yeah me too. i have a project built using tsyringe that id rather not have to move to inversify.

may be we should ping them on twitter I guess..

Just forked and published to npm while waiting for the real package to update. @triptyk/tsyringe .

@Xapphire13 Hoping to get some traction on getting the changes for TS5 support published.

To avoid type error just place .d.ts file in root of your project, like tsyringe.types.d.ts with following contents:
import * as tsyringe from 'tsyringe';

// Overwrite wrong declaration from tryringe, support typescript 5.x
// Remove this when library will update
declare module 'tsyringe' {
  declare function inject(
    token: tsyringe.InjectionToken<any>
  ): (target: any, propertyKey: string | symbol | undefined, parameterIndex: number) => any;
}

It's a little hackish but at least it will work until package will be updated

To avoid type error just place .d.ts file in root of your project, like tsyringe.types.d.ts with following contents:
import * as tsyringe from 'tsyringe';

// Overwrite wrong declaration from tryringe, support typescript 5.x
// Remove this when library will update
declare module 'tsyringe' {
  declare function inject(
    token: tsyringe.InjectionToken<any>
  ): (target: any, propertyKey: string | symbol | undefined, parameterIndex: number) => any;
}

It's a little hackish but at least it will work until package will be updated

@wielski It works fine if you are just using tsc. Even VS code has no problems. But ts-node or ts-node-dev are giving the same error like it can't find our custom file. Any workaround that?

got it working with --files flag that checks with the typeRoots option in tsconfig

Any comment about when this is going to be released? At this rate i might as well move myself to Inversify.

I'm wondering what other DI frameworks are being used in other popular microsoft projects because this is not actively maintained. tsc itself is from ms. Many projects moved to tsc5 (eg vscode). So these tsc5 moved projects' di lib could be not tsyringe, something else. Not sure if we are missing something.

There was a new release published today to npm, in 4.8.0 this change is now included.

Sorry folks - I thought I published a new version when I merged the change. Turns out, I did not.

I think this issue can be closed now.

@MeltingMosaic So, will the new version be published?

@Frikki
It was published; npm shows v4.8.0 now (published on 6/20) but here on github the releases page hasn't been updated since v4.4.0.

I'm using typescript 5 and tried to use this library, but VSCode complains with:

Unable to resolve signature of class decorator when called as an expression

Decorators are not valid here
tsconfig.json
"compilerOptions": {
      "experimentalDecorators": true,
      "emitDecoratorMetadata": true,
      "baseUrl": "src/",
      "declaration": true,
      "declarationDir": "build/",
      "emitDeclarationOnly": true,
      "esModuleInterop": true,
      "target": "ESNext",
      "useDefineForClassFields": true,
      "module": "ESNext",
      "lib": [
         "ESNext",
         "DOM",
         "DOM.Iterable",
         "ES2021.String"
      ],
      "moduleResolution": "Node",
      "strict": true,
      "resolveJsonModule": true,
      "isolatedModules": true,
      "noUnusedLocals": false,
      "noUnusedParameters": false,
      "noImplicitReturns": true,
      "skipLibCheck": true,
      "typeRoots": [
         "node_modules/@types"
      ]

Not sure how to move forward :(

I'm using typescript 5 and tried to use this library, but VSCode complains with:
 Unable to resolve signature of class decorator when called as an expression
 Decorators are not valid here
tsconfig.json
"compilerOptions": {
      "experimentalDecorators": true,
      "emitDecoratorMetadata": true,
      "baseUrl": "src/",
      "declaration": true,
      "declarationDir": "build/",
      "emitDeclarationOnly": true,
      "esModuleInterop": true,
      "target": "ESNext",
      "useDefineForClassFields": true,
      "module": "ESNext",
      "lib": [
         "ESNext",
         "DOM",
         "DOM.Iterable",
         "ES2021.String"
      ],
      "moduleResolution": "Node",
      "strict": true,
      "resolveJsonModule": true,
      "isolatedModules": true,
      "noUnusedLocals": false,
      "noUnusedParameters": false,
      "noImplicitReturns": true,
      "skipLibCheck": true,
      "typeRoots": [
         "node_modules/@types"
      ]

Not sure how to move forward :(

I am facing same error

Any update on this working with TS5?

Hey everyone, I have been working on a library called di-wise. It has a similar but more powerful API that uses ECMAScript Stage 3 decorators introduced in TS 5. Welcome to try it out.


Implement 'POST /connect-all?wait=...&iface=...'

Implement 'POST /connect-all?wait=...&iface=...'
Added autoconnect option.

Cannot edit the description, but wanted to say there:
It's a common use-case to connect to all available chromecasts when you have local server.

Sorry ignore my comments, misread the code.


Remove slider from image widget

Let's use react-slick to make the images scroll across all epochs and get rid of the slider.  As we scroll to a new epoch, let's display the epoch number as happens now.  On page load we should always start the scroll on the most recent epoch instead of epoch 0.

@vanpelt here is the update on image widget. Let me know what do you think about UX and how the images are listed in slick slider.


Set title attribute

Is there a way to set the title attribute of the iframe?

Why would you want to do this?

For accessibility purposes.

What stops you just doing this in the HTML?


Fix jQuery UI after upgrading the Rails version

https://trello.com/c/cDOjXWjP/231-editor-view-for-adding-items-to-collection-has-bad-formatting-post-rails-5-upgrade
Previously, the 'jquery.ui.all' module loaded
these modules recursively. This doesn't seem to
work anymore so require them explicitly.
Longer term, we shouild try upgrading jQuery UI
to the latest version:
https://trello.com/c/je5OJmaY/1113-upgrade-jquery-ui-in-whitehall-admin
Before:

After:

jQuery UI 😞


Keep value between mode change

Switching between modes (standard, scientific, programmer, ...) resets the value to 0. It's annoying if you started the calculation and see you are on the wrong calc type.
We could just transport that value from one type to another. Like copy (CTRL + C), then change calc type and paste (CTRL + V). Maybe the value is not compatible or just don't work. Therefore this is just a try to use the value. Set zero on error.

This suggestion is a duplicate of #1807. The idea can be discussed further in that issue. Thanks!


Adding a greedy packing transform dialect op.

This PR adds a transform.iree.pack_greedily operation that exercises the mechanics of packing for 2-D contractions.
A normalization step guarantees that we get the innermost op dimensions in the (m, n, k) order after which we simply brute force the packing.
The current implementation takes an arbitrary packing size of 8x16x32 and an arbitrary ordering of outer and inner dimensions.
Followups will generalize to n-D contracitons, convolutions and reductions.

Abandoning in favor of #11971.
This PR still has useful code that we may want to reuse later but #11971 is significantly simpler and more general.


fix the table set focus issue

Closes IBM/carbon-components-angular#
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

https://github.com/IBM/carbon-components-angular/issues/1681


Improved Responsiveness

Fixes: #66
The following changes were made:

Cleaned the code
Improved responsiveness of Add new Task and Sort the Tasks
Other minor changes

hey @SaraswatGit please review this PR and do let me know if any further changes are required.

@Shruti025  Please attach screenshots of your works when you make a PR in this repo.

@Shruti025 Please attach screenshots of your works when you make a PR in this repo.

Oh my bad, will keep that in mind.


Update the project model to account for multiple Contacts, multiple Publications

Context
There are some changes that we want to make to the Project model. We want to be able to support multiple publications/citations per project and multiple contacts per project.
Solution or next step
We will create two new models, Publication and Contact. Publication will be a many_to_one with project and the contact will be many_to_many with project.
Publication:
  - doi (ex. 10.1016/j.devcel.2022.04.003)
  - doi_url (generated from doi `https://doi.org/10.1016/j.devcel.2022.04.003`)
  - citation
  - submitter_id

Contact:
  - name
  - email
  - submitter_id

We should also update any tests that are affected by these changes.
Update: lists will be delimited by ;  (semicolon space)

After this is merged along with the changes that include the new _processed.rds file would @arkid15r  also re-load the data on staging.


More JSON use case output needed

We need more use case scenarios from the swap CLI JSON output.
Tested Scenarios:

deserialization error and handled it appropriately by providing a Withdraw interface and logging to the interface
not enough funds in provider's wallet. Withdraw interface handles this with logging to the interface
successful swaps.

Untested Scenarios:

resume
refund
list-sellers
cancel
interrupted swaps for whatever reason

list sellers has been implemented with https://github.com/xmrswapme/swapfe/commit/4845a53a41379373cc925a679083046342388168


Fixup for Use kebab case for template names

Contributor Checklist

[ ] Did you add Scaladoc to every public function/method?
[ ] Did you add at least one test demonstrating the PR?
[ ] Did you delete any extraneous printlns/debugging code?
[ ] Did you specify the type of improvement?
[ ] Did you add appropriate documentation in docs/src?
[ ] Did you state the API impact?
[ ] Did you specify the code generation impact?
[ ] Did you request a desired merge strategy?
[ ] Did you add text to be included in the Release Notes for this change?

Type of Improvement

bug fix

documentation

API Impact

No impact
Backend Code Generation Impact
No impact

Desired Merge Strategy

Squash: The PR will be squashed and merged (choose this if you have no preference.

Release Notes

Follow up from #2237 to get the ISSUE_TEMPLATES working properly
Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (Bug fix: 3.4.x, [small] API extension: 3.5.x, API modification or big change: 3.6.0)?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you do one of the following when ready to merge:

[ ] Squash: You/ the contributor Enable auto-merge (squash), clean up the commit message, and label with Please Merge.
[ ] Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

@Burnleydev1 if you would like to review


Cant download quest helper

I try to download rune quest helper but there is no link that leads to download,i done erything and still wasnt able to download it

Hi, details on how to get Plugin Hub plugins is in https://github.com/runelite/runelite/wiki/Information-about-the-Plugin-Hub


Disconnect without reload

Must close all streamfile, object and member schema tabs

https://code.visualstudio.com/api/references/vscode-api#workspace !!!!