callbacks for signal_start and signal_start_oneshot should receive a number

Unless there is a strong reason for the current behavior, I propose that the callback which is given as the third argument to signal_start and signal_start_oneshot should receive/propagate the signal as a number. Currently, the signal is propagated as a lowercase string. This is confusing for several reasons:

In libuv, those callbacks propagate the argument as an int, see here
the variable is named signum, implying a numeric representation
for neovim users, this presents a confusing switch in representations, see below
the value of uv.constants.SIGINT, and other signals, is an integer

This example demonstrates the confusion for a NeoVim user. Sure, the outputs of vim.system have no obligation to be consistent with luv, and vice versa, but it would make things simpler for us. Requires NeoVim 0.10 for the vim.uv namespace. Note also that vim.system doesn't allow SIGINT hooks (only a timeout one) so this use case is more than hypothetical.
-- Run with nvim -u NORC -l <this_file>.
-- Interrupt with C-c before 5 seconds.
local uv = vim.uv
local sigint = uv.new_signal()

sigint:start(2, function(signal)
    vim.print(string.format("in handler: %s (type: %s)\n", signal, type(signal)))
end)

local job = vim.system({ "sleep", "5" }):wait()
vim.print(string.format("\nafter job exit: %s (type: %s)", job.signal, type(job.signal)))

Numbers were used when signals were added to an old luvit version. After luv was split into its own project, signals were reintroduced using uppercase strings. This implementation was eventually changed to using lowercase strings and moved to a dedicated constants file where it remains, along with other constants that are handled as lowercase strings.
This was all 10+ years ago and before I joined, so I can't speak for those who made the change, but luv generally uses strings instead of numbers where possible. I assume that this is for consistency with Lua's recommendation to use strings for options.

The usual convention in Lua libraries is to use strings instead of numbers to select options.

In any case, the return type is documented as a string, so we could not easily change this if we wanted. I think that we can do better to document string constants that are accepted and expected, though.
I do agree that the existence of numbers in the constants table is confusing. Perhaps we could also expose the strings in a constants table, or expose the string_to_num and/or num_to_string converters.

A simple backwards compatible solution would be to pass a second parameter to the callback that contains the integer representation.

Lua's recommendation to use strings for options

OK, this makes sense in a way. The change to lowercase is still strange considering what kill -l and such usually output, but what's done is done.
There seem to be three representations in the current API:

signum: string for the callback functions already mentioned
signal: integer for the on_exit handler in spawn
signum: integer or string or nil for process_kill and kill

It seems like relaxing them all to accept either an integer or a string could be done in a backwards-compatible way. My opinion is that this is preferable to defining a second constants table + converters, but it doesn't exclude doing that as well. I suggest that the parameter be called signal across the whole API, not signum, and that this should accept either a numeric value or the lowercase string (from a list of possible values that could be listed somewhere in the docs). To avoid breaking changes, process_kill and kill can also accept nil (i.e. the signal arg is optional). If that sounds reasonable I can work on a PR over the weekend.

It seems like relaxing them all to accept either an integer or a string could be done in a backwards-compatible way

I'm not sure I understand what you're proposing. There's no way to infer what type the callback is expecting, and process_kill and kill already accept the same types, so I'm not sure what you mean by 'relaxing them all'.

To give you an idea of the change I had in mind, for the callbacks, the backwards compatible approach would be something like:
For uv.spawn's on_exit callback, the parameters would now be:

code: integer
signum: integer (renamed parameter)
signame: string (new parameter)

For uv.signal_start and uv.signal_start_oneshot's callbacks, the parameters would now be:

signame: string (renamed parameter)
signum: integer (new parameter)

It's a bit unfortunate that these new parameters would have to be in a different order between spawn/signal_start, but not sure what alternative we have.

Changing to signame is good, though I would recommend sigstr or sigstring if either of those provide any extra assurance that the value is e.g. "sigint" instead of "SIGINT".
We probably should document that the value can technically be nil for unknown signals as supported by lua_pushstring.
We can document the list of supported strings similarly to how we document FS modes. Since signals appear in multiple places, we can add a new section dedicated to constants to avoid duplication, and we can point the FS modes and other constants to there.

Adding the new parameters is also fine, if that helps things. The order difference is indeed unfortunate, though.

With #713, we now have documented the behavior encountered in this issue. As you can see by this change, there are places other than signals where the library optionally accepts lowercase strings or integer constants, but only returns lowercase strings. You may also find other places that only accept lowercase strings, or integer constants, but not both. When I get a chance, I'll make a list of all of these encounters, then we can think about how we can maximize UX without complicating library behavior. After documenting things, my belief at this point is that accepting multiple input types is already complicated enough, and providing multiple output types would be impractical in certain cases, but I'm open minded.

Thanks, the list should help quite a lot and I think the simple examples are nice too. I'll do my best to keep an eye on the constants -> strings mapping in that file in case I notice any changes that update the constants table but miss the docs. These changes should propagate to :h luvref in NeoVim and that should help users like me to notice the difference in signal representations between luv and e.g. vim.system.

accepting multiple input types is already complicated enough, and providing multiple output types would be impractical in certain cases

I'm sympathetic to this concern, I wasn't aware of the lua string recommendation when creating the issue and that has softened my opinion. I'm happy for this to be closed in favour of more targeted future UX proposals.


Array of paths that should not be proxied

Sometimes, a given path is expected to point exclusively to local files.
If a file is not found, there is no point in proxying the request to a remote API.
There should be an option to enable that behaviour.
For example:
GET /admin/checkout/notthere.js should not be proxied because /admin/checkout is the path to local, development files. Instead, the middleware should return a 404.

Deprecated in favor of serve-static and proxy-middleware.


Missing Libraries - MQ v<IP_ADDRESS>

After the MQ container is up in a Running/Ready status, we see this in the MQ error logs
AMQ6175E: The system could not dynamically load the shared library
'/opt/mqm/lib64/libedit.so'. The system returned error message
'libncurses.so.5: cannot open shared object file: No such file or directory'.

Duplicate of #390.  This is a known MQ bug, and only affects the use of things like the "up arrow" when running runmqsc interactively.

So, it sounds like it will not affect us?  Our application support folks (who actually deploy the MQ containers) are worried by any errors, that show up.  "Known bugs" are considered liabilities.

Furthermore, will this "known bug" be addressed in MQ v<IP_ADDRESS>?

This bug in MQ has been resolved in the latest version.


[spring-boot] Missing Chapter

A concept chapter should follow the Spring Boot Preface chapter
Concepts

The design of a modern application designed around Spring Boot [1], embedding the Apache Tomcat Web container [2],
allows to develop Web or Websocket applications using either a HTTP Connector or non-blocking HTTP connector to reduce threads consumption.

While such application can be packaged and deployed without specific modifications on the OpenShift platform, we invite you to look to the following Cloud - native features that we propose such as Circuit Breaker, Health Check, Server Discovery and Load Balancing, failover in order to transform your application as Cloud Microservices and take full advantage the platform capabilities.

The different features presented hereafter are also available as a collection of Mission/Quickstart that you can use from the “Launch” Web site.

Feature | Problem addressed | Native | Framework
-- | -- | -- | --
Circuit Breaker (link to pattern) | Switch between services and continue to operate incoming request without interruption | No | Spring Cloud Kubernetes - Hystrix
Health Check | Check readiness and liveness of the service based on info exposed by spring Boot Actuator. Service will be automatically restarted if probing fails | Yes | Spring Boot Actuator
Service Discovery | Discover Service/Endpoint deployed on OpenShift and exposed behind a service or route using the service name matching a DNS entry | Yes using Kubernetes Api | -
Server Side Load balancing | Multiple instances of a service deployed will be managed by the Kubernetes Load balancer according to round-robin fashion | Yes using internal Kubernetes Load Balancer | -
Client Side Load balancing | Discover services at the client side using the Server Side Load Balancing feature | No | Spring Cloud Kubernetes - Ribbon
Externalize Parameters | Externalize application parameters to make the application independent of the environment where it runs | Yes - Kubernetes Config Map or Secret | Spring cloud Kubernetes - ConfigMap

[1] Link to spring Boot Doc
[2] Specifications table

Feature | Version
-- | --
Servlet | 3.1
JSP | 2.3
EL | 3.0
Websocket | 1.1
HTTP/2 protocol |

@cmoulliard The frameworks table and its introductory statement(s).  has already been added to the SB guide.  We use a standard section for runtime details for all the RT guides and dont have a preface section. I've summarized the information on the runtime details for this section and  provided updates in the related JIRA ticket.  Typically most version related information is kept in release notes.

Closed via #856.


Source Request : doctruyen3q

Source name
DocTruyen3q
Source link
https://doctruyen3q.pro/
Source language
Vietnamese
Other details
Source Request : doctruyen3q
Acknowledgements

[X] I have checked that the extension does not already exist by searching the extension listing and verified it does not appear there.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a meaningful title with the source name.
[X] I will fill out all of the requested information in this form.

Theme looks like WPComics, but unsure

domain changed to: https://doctruyen3qvn.com/


Add max width and truncation to pill

Description
Dependency of #2541
Tasks
### Checklist
- [ ] Density (HD, MD, LD, TD)
- [ ] Mode (Light, Dark)
- [ ] Fill (Primary, Secondary, Tertiary)
- [ ] State (Default, Hover, Selected/Active, Disabled, Read-only, Other)
- [ ] Controlled API
- [ ] UITK accessibility parity (screen reader + keyboard interactions)

### Deliverables
- [ ] Characteristics spec
- [ ] Interactions spec, where necessary
- [ ] In Code & Figma (Component + Guide)
- [ ] Supporting site documentation

3 Nov - Have PR on examples,  truncation and tooltip


Alert continues to notify after being Acked and resolved

Occasionally(at least once a day) after Acknowledging and Closing an Alert, we will continue to receive notifications for the alert. These notifications are not viewable via the bosun web interface, however  purging the alert via the API stops the notifications.
I am running bosun-0.5.0rc2 with a redis backend, and I am using graphite as the TSDB.

Seems like dup of https://github.com/bosun-monitor/bosun/issues/1690 ?

Yes just seen this.  Will upgrade and test.  If I am wrong will reopen


Documentation example enchancement request: API Management revision handling

Is your feature request related to a problem? Please describe.
I have a problem understanding how to deal with API Management revisions using bicep. There is a great example about API Management deployment in examples, but it doesn't really address revision handling in anyway.
When I try it using for example the following block:
resource api 'Microsoft.ApiManagement/service/apis@2020-12-01' = {
   ...
  properties: {
    ...
    apiRevision: 'revisionName' // <------ Revision specific property
    apiRevisionDescription: 'This is revision text' // <------ Revision specific property
    isCurrent: false // <----- Revision specific property
    ...
  }
}

properties apiRevision and isCurrent seem to be ignored, and I'll always end up with no revision (= default revision "1" is created).
Describe the solution you'd like
I would like to see how bicep can be used to handle creation of new revisions.

@brwilkinson -- do you happen to have any context on this one?

Sure, I'll take a look.

Hi @stutommi
A few recommendations before we get started.

the APIM extension for vscode is really useful for managing/testing api's
I would also take a look at the git feature to get familar with pulling down the code from APIM as well.

https://docs.microsoft.com/en-us/azure/api-management/api-management-configuration-repository-git

Now based on your request, here is a proof of concept.
The idea is that you just pass in this info, that include the API Name, then the version you want to clone and the new version that you want to clone it to. This represents the same functionality that you get in the portal.

I update the description Etc. based on those versions clonefrom/cloneto

I do a GET on the current version and copy the properties, you may want to add more properties in that clone bicep.

  {
    name: 'echo-api'
    clonefrom: '4'
    cloneto: '5'
    addrevisiondescriptionprefix: 'test new revision'
  }

APIM-API.bicep
Sample link: https://github.com/brwilkinson/AzureDeploymentFramework/blob/main/ADF/bicep/APIM-API.bicep
param apim object = {
  name: 'ACU1-BRW-AOA-T5-apim01'
}
param apis array = [
  {
    name: 'echo-api'
    clonefrom: '4'
    cloneto: '5'
    addrevisiondescriptionprefix: 'test new revision'
  }
]

module getApiCurrent 'APIM-API-Get.bicep' = [for (api, index) in apis: {
  name: 'dpGetAPI-CurrentRev-${api.name}'
  params: {
    apim: apim
    api: api
  }
}]

resource APIM 'Microsoft.ApiManagement/service@2021-04-01-preview' existing = {
  name: apim.name
}

module setNewRevision 'APIM-API-Clone.bicep' = [for (api, index) in apis: {
  name: 'dpCreateClone-${api.name}-rev${api.cloneto}'
  params: {
    apim: apim
    api: getApiCurrent[index].outputs.currentapi.properties
    apinew: api
  }
}]

output current array = [for (api, index) in apis: getApiCurrent[index]]
output newrevision array = [for (api, index) in apis: setNewRevision[index]]

APIM-API-Get.bicep
Sample link: https://github.com/brwilkinson/AzureDeploymentFramework/blob/main/ADF/bicep/APIM-API-Get.bicep
param api object
param apim object

var revisionName = '${api.name};rev=${api.clonefrom}'

resource APIM 'Microsoft.ApiManagement/service@2021-04-01-preview' existing = {
  name: apim.name
}

resource API 'Microsoft.ApiManagement/service/apis@2021-04-01-preview' existing = {
  name: revisionName
  parent: APIM
}

output currentapi object = API

APIM-API-Clone.bicep
Sample link: https://github.com/brwilkinson/AzureDeploymentFramework/blob/main/ADF/bicep/APIM-API-Clone.bicep
param apinew object
param api object
param apim object

resource APIM 'Microsoft.ApiManagement/service@2021-04-01-preview' existing = {
  name: apim.name
}

resource API 'Microsoft.ApiManagement/service/apis@2021-04-01-preview' = {
  name: '${apinew.name};rev=${apinew.cloneto}'
  parent: APIM
  properties: {
    displayName: api.displayName
    apiRevision: apinew.cloneto
    subscriptionRequired: api.subscriptionrequired
    serviceUrl: api.serviceUrl
    path: api.path
    protocols: api.protocols
    apiRevisionDescription: '${apinew.addrevisiondescriptionprefix} ${apinew.cloneto} from: rev=${apinew.clonefrom}'
    // you can add as many properties as you like here, you have ALL properties from the original in the api parameter
  }
}

output currentapi object = API

This should work fine; however I am skeptical about how practical this is based on other tools such as the VSCode extension or even the the Developer Portal for managing/Testing the API's, plus like I said I recommend using the Git feature. I guess it just depends on your use case.

given I posted the response, I figured I would add back in these comments, until I can provide an update.
Hi @stutommi
A few recommendations before we get started.

the APIM extension for vscode is really useful for managing/testing api's
I would also take a look at the git feature to get familar with pulling down the code from APIM as well.

https://docs.microsoft.com/en-us/azure/api-management/api-management-configuration-repository-git

I think we can make it work in Bicep, however I am skeptical about how practical this is based on other tools such as the VSCode extension or even the the Developer Portal for managing/Testing the API's, plus like I said I recommend using the Git feature. I guess it just depends on your use case.
So I was able to clone these to new revisions (as seen below), however I realized that I had not cloned all of the related Operations. that go along with them.

Let me take another look at that part. I can definitely clone them all individually by name, however I think this process only make sense if I can list them all for a given API and then clone them that way. Without having to maintain a list of each operation e.g. GET/SET etc etc. for each api operation.

Okay I made the update.... I figured I would just start with passing in the operation names, since that is enough to get a feel if this would even be useful for you to test.
This is what you pass in...

the revision that you want to clone
the revision that you want to clone it to, it can be a new or existing revision.
The operation-id list that the api supports.

APIM-API.bicep
Sample link: https://github.com/brwilkinson/AzureDeploymentFramework/blob/main/ADF/bicep/APIM-API.bicep
param apim object = {
  name: 'ACU1-BRW-AOA-T5-apim01'
}
param apis array = [
  {
    name: 'echo-api'
    clonefrom: '1'
    cloneto: '5'
    addrevisiondescriptionprefix: 'test new revision'
    Operations: [
      'create-resource'
      'modify-resource'
      'remove-resource'
      'retrieve-header-only'
      'retrieve-resource'
      'retrieve-resource-cached'
    ]
  }
]

module getApiCurrent 'APIM-API-Get.bicep' = [for (api, index) in apis: {
  name: 'dpGetAPI-CurrentRev-${api.name}'
  params: {
    apim: apim
    api: api
  }
}]

resource APIM 'Microsoft.ApiManagement/service@2021-04-01-preview' existing = {
  name: apim.name
}

module setNewRevision 'APIM-API-Clone.bicep' = [for (api, index) in apis: {
  name: 'dpCreateClone-${api.name}-rev${api.cloneto}'
  params: {
    apim: apim
    api: getApiCurrent[index].outputs.currentapi.properties
    operations: getApiCurrent[index].outputs.currentapioperations
    apinew: api
    operationNames: api.Operations
  }
}]

output current array = [for (api, index) in apis: getApiCurrent[index]]
output newrevision array = [for (api, index) in apis: setNewRevision[index]]

APIM-API-Get.bicep
Sample link: https://github.com/brwilkinson/AzureDeploymentFramework/blob/main/ADF/bicep/APIM-API-Get.bicep
This now gets:

The current revision
The current operations

param api object
param apim object

var revisionName = api.clonefrom == '1' ? api.name : '${api.name};rev=${api.clonefrom}'

resource APIM 'Microsoft.ApiManagement/service@2021-04-01-preview' existing = {
  name: apim.name
}

resource API 'Microsoft.ApiManagement/service/apis@2021-04-01-preview' existing = {
  name: revisionName
  parent: APIM
}

resource APIOperations 'Microsoft.ApiManagement/service/apis/operations@2021-04-01-preview' existing = [for (op, index) in api.Operations : {
  name: op
  parent: API
}]

output currentapi object = API
output currentapioperations array = [for (item, index) in api.Operations : APIOperations[index]]

APIM-API-Clone.bicep
Sample link: https://github.com/brwilkinson/AzureDeploymentFramework/blob/main/ADF/bicep/APIM-API-Clone.bicep
This now clones both of the:

The new revision
The operations

param apinew object
param api object
param apim object
param operations array
param operationNames array

resource APIM 'Microsoft.ApiManagement/service@2021-04-01-preview' existing = {
  name: apim.name
}

resource API 'Microsoft.ApiManagement/service/apis@2021-04-01-preview' = {
  name: '${apinew.name};rev=${apinew.cloneto}'
  parent: APIM
  properties: {
    displayName: api.displayName
    apiRevision: apinew.cloneto
    subscriptionRequired: api.subscriptionrequired
    serviceUrl: api.serviceUrl
    path: api.path
    protocols: api.protocols
    apiRevisionDescription: '${apinew.addrevisiondescriptionprefix} ${apinew.cloneto} from: rev=${apinew.clonefrom}'
  }
}

resource APIOperations 'Microsoft.ApiManagement/service/apis/operations@2021-04-01-preview' = [for (op, index) in operations : {
  name: operationNames[index]
  parent: API
  properties: op.properties
}]

output currentapi object = API

It would be nice if I could just use the API Name and revision to lookup the Operations, then clone them, without having to manage that list of operations. I will have a look into that.
I am happy with this solution, I clone down ALL of the APIM configuration locally via the source control option and I have tested with diffs on the clone from and clone to and I am happy this should work well. However, let me know how it goes for you.

Hi @brwilkinson!
Thanks for the great effort on making the example, there a lot new stuff for me to digest. For the practical application, I think it would be good for me to describe the kind of revision handling I'm most interested in.
Let's take a following scenario:

APIM configuration doesn't need to be managed. We can assume that the APIM is always going to be present.
APIM API related bicep is being run only Azure devops pipeline as part of CI/CD.
APIM API Policy (xml-file) and openapi definition (YAML-file) live in git version control.
APIM API infra files live together in the same repository as the API itself. The openapi spec gets generated by the API endpoints (or might be manually created/edited).

I would want the APIM API deployment happen, whenever either API policy, openapi or any files regarding API deployment (=bicep files) change. Whenever this happens, I would like a new revision to be generated for API in Api management, and most preferable be instantly promoted to current revision. The older revision would stick around, allowing possible manual rollback (handled from Azure portal).
The main thing would be, There would always be new revision, and it would reference existing openapi spec (that might have changed), policy XML (that might have changed).
Can you figure out any way of making this happen easily with Bicep? I know this can be handled with Powershell scripting, but I'm trying to find a way of implementing it with bicep. Would you think this kind of flow that I'm describing would be better handled with some other way than bicep?

okay, that all sounds good.
One clarification, are you pushing/pulling any changes via the APIM integrated source control? Or was that in a different/external repo?

No APIM integrated source control in use! I haven't stumbled upon it before, look interesting (and a totally different flow). The note on the docs looks a bit scary though:

This feature is designed to work with API Management services that have a small/medium configuration. Services with large number of configuration elements (APIs, Operations, Schemas etc.) may experience unexpected failures when processing Git commands. If you encounter such failures, please reduce the size of your service configuration and try again. Contact support if you need assistance.

okay, thanks for confirming... in that case everything is push and you don't need to pull any changes from APIM back out to keep them in sync.
So I think the above solution may work for you, however instead of reading and cloning the previous revision and operations via the APIM-API-Get.bicep, you should already have enough information to populate those values in the new revision.

Thanks for the help, great stuff! :)
Just a follow up: It's not possible to set newly created revision as current at the time of deployment, so I changed my flow a bit, seems to be working:
On every new deployment, update always present revision called "latest" (which is always set as current revision), and create a rollback revision that is not current. This enables rollback versions while having the newest deployment revision also as current one (in the latest-revision). Only problem I find with this is pollution of revisions if new api specs are deployed often. I have no idea how consuming it is for APIM-instance if every API gets filled with rollback revisions. You can of course always delete them manually, but that's one manual process one would like to avoid.
I'll leave this still open if you have any comments @brwilkinson, but I'm very happy with things you showed and found an answer to my own implementation.
Thanks alot!

I'll move this over to the 'discussions' page for now, instead of just closing out the issue.

Thanks @stutommi I will mark as resolved, glad you found a working solution for your needs.


pull request for e2e test at 11/15/2016 22:15:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


HMC5883L driver + example

HMC5883L is most common 3-axis digital compass IC.

Please review

Looks really good to me. Thanks @UncleRus


I have some questions about setParams in my work，please help me

when i login, setParms work, but it not work when i logout, i very need your help！3Q! by the way I poor in English

My app router：

const HomeNavigator = TabNavigator(
  {
    Home: { screen: Home },
     /***********************************************
     * here  setParams
     ***************************************/
    Cart: { screen: Cart },
  },
  {
    tabBarComponent: TabBarBottom,
    tabBarPosition: 'bottom',
    swipeEnabled: false,
    animationEnabled: true,
    lazyLoad: true,
    tabBarOptions: {
        showLabel:false,
        activeTintColor: '#B11F24',
        style:{
          backgroundColor:'#fff',
        },
    },
  }
)
const MainNavigator = StackNavigator(
  {
    HomeNavigator: { screen: HomeNavigator },
    /***********************************************
     * set shoppingList to []
     ***************************************/
    Logout: { screen: Logout},
  },
  {
    headerMode: 'none',
  }
)
const AppNavigator = StackNavigator(
  {
    Main: { screen: MainNavigator },
    /***********************************************
     * search shoppingList
     ***************************************/
    Login: { screen: Login },
  },
  {
    headerMode: 'none',
    mode: 'modal',
    navigationOptions: {
      gesturesEnabled: false,
    },
    transitionConfig: () => ({
      transitionSpec: {
        duration: 300,
        easing: Easing.out(Easing.poly(4)),
        timing: Animated.timing,
      },
    }),
  }
)

Cart：

class Cart extends Component {
  static navigationOptions = ({ navigation, screenProps })=> ({
    title: 'Cart',
    tabBarIcon: ({focused, tintColor}) =>{
      const {params} = navigation.state;
      // console.log(params)
      return (
        <View style={barStyle.barStyle}>
          <Badge size="sm" text={params?params.num : 0}>
            <Image
              style={[barStyle.icon, {tintColor: focused ? tintColor : 'gray'}]}
              source={require('../../images/cart.png')}
            />
          </Badge>
          <Text style={[barStyle.barLabelStyle, {color: focused ? tintColor : 'gray'}]}>购物车</Text>
        </View>
      )}
  })
 .....
/*******************  here  to setParams  ****************************/
componentWillReceiveProps(nextProps){
    const {shoppingList} = nextProps;
    if(this.props.shoppingList.length !== nextProps.shoppingList.length){

     /***********************************************
      *when i login or logout, i  got here, but when i logout setParams did't work
      *******************************************/
     console.log(  "i got  here!"  );
      this.props.navigation.setParams({
        num: shoppingList.length
      });
    }
  }
.....
}

**Login： search my goodsList **

**Logout： reset my goodsList to [] **

Current Behavior
setParams did't work  when i logout
Expected Behavior
when my goodsList change, setParams work
Your Environment

software
version

react-navigation
^1.0.0-beta.11

react-native
^0.47.2

node
latest

npm or yarn
latest

Hi @singingBoy ! It looks like this is not a bug of the library nor a feature request, so I'll close it: I suggest next time you use Stack Overflow which is better suited for answering these types of questions. I also encourage you to join the Reactiflux community on Discord. There are React Native and React Navigation channels with helpful people who might be able to answer your question. I would also like to mention that there is a collection of helpful links and tutorials for React Navigation in the README which might be helpful for you.
If you believe that you are experiencing a bug or have a feature request, please open a new Issue following the dedicated template or submit a PR.

@kelset Thanks a lot!


Support TFS shelve command

Hello,
Is it possible through the TFVC plugin to create a shelve on the local TFS server as you would do with Visual Studio?
The "Shelve Changes" option in PyCharm with TFVC integrated only creates a local shelve from what I can tell.
Thank you.

Bump.
Looks like this is not supported?
BTW by "local TFS server" I think the OP means "remote TFS server".

I don't think it's supported at the moment. I'll reclassify this as a feature request.

Is this feature available now?

I hope I'm not breaking any of the community standards by doing this, I'd just like to add that I'd like for this to be implemented as well.


Medicine Reader capitalisation (or not) issue

The medicine reader class (https://github.com/maxwelld90/medicine-for-ukraine/blob/main/api/api_app/items/medicine_reader.py) and associated code are using a mix of upper case and lower case for country code matching. This is causing issues!
Ideally, I think all column names and country codes should be normalised to lower case for comparison.
If someone wants to take this on, please do!

This seems to be related to the back-end, and the included file can't be find anymore.
@maxwelld90 is it the problem still actual?

Yes it is now solved.


what's the different between Poses_D3_Positions_mono_universal and Poses_D3_Positions_mono_universal?

it seems that they stores the same value

You just wrote the same thing twice.

I guess he meant between Poses_D3_Positions_mono and Poses_D3_Positions_mono_universal. And also what the difference among those two and Poses_D3_Positions?

From their README:

The parametrizations we provide are 3D positions in the original coordinate space
(D3_Positions) and transformed for monocular prediction using the camera
parameters (D3_Positions_mono). We also provide 3D Angles for monocular
prediction (D3_Angles_mono) and projections of the skeleton onto the image
plane (D2_Positions). Lastly we provide 3D positions using the same limb
lengths for all subjects (D3_Positions_mono_universal) as a 3D position
parametrization that is invariant to subject size. The skeleton information is
provided in the metadata.xml file that is delivered with our code.

So D3_Positions is in world space, D3_Positions_mono is in camera space (origin == camera position), D3_Positions_mono_universal has poses scaled to a universal size.

@anibali I guess they may be in different coordinate systems. D3_Positions is the world coordinate system, and D3_Positions_mono is in  the camera coordinate system?

@EveningLin Yes

@anibali
I still donnot understand D3_Positions_mono_universal.  Can you kindly explain "using the same limb
lengths for all subjects" ?  And in what situation it will be used?

It means that the skeletons are "normalised" to a common scale (e.g., a tall person and short person will have similar limb lengths). It's up to you whether this is something you want to use.

Thanks a lot for your quick reply.
"a tall person and short person will have similar limb lengths"  wouldn't  this cause something wrong?  Does this mean the tall person is normalized to the common scale and other body parts also normalized propotionally?  Can I take it as "clip" a person into a common range?
I still can't figure out a situation in which it can be used.
I am confused about it because I saw some pose estimation model used Poses_D3_Positions_mono_universal instead of using Poses_D3_Positions or Poese_D3_Positions_mono.

It depends on what you are trying to achieve. If you are just trying to recover the configuration of joints to e.g. recognise an action, then you might not care about scale differences and could therefore use Poses_D3_Positions_mono_universal to simplify the problem. The scale/depth ambiguity problem is tricky, and not everyone is interested in solving it when doing pose estimation.

emm, you are right, it does make sense to ignore scale when considering pose estimation.  I think I get a better understanding about it.  Thanks.
One more question,  Poses_D3_Positions_mono_universal is also in camera coordinate system like  Poses_D3_Positions_mono or in world coordinate system?

"mono" in the name means camera coordinate system (i.e., monocular pose estimation).


(Desktop) WebView2Page throws exception during initialization

Opening WebView2 throws exception:
Exception thrown at 0x7743A8B2 in XamlControlsGallery.Desktop.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x0317AB70.

@adambarlow and @codendone

Also mentioned here: https://github.com/microsoft/microsoft-ui-xaml/issues/4206, and on the WebView2 issues list (There's a link above, I think)

If you can F5 past this exception, then this is a dup of #4206, which was just fixed internally. Please reactivate if you're seeing a non-ignorable exception.


Noetic Compatibility: Gazebo 11 & python3

Minor changes to be able to run demos in Noetic.

use c++17 if running on Focal (since Gazebo11 requires c++17). The same fix was merged here: https://github.com/Field-Robotics-Lab/dave/pull/75
add python scripts used in demo launch files to catkin_install_python so their shebang lines will be properly overwritten

NB: This is NOT a complete port, I'm just fixing issues as I stumble across them.

I just noticed #27, which may be a better way of handling c++17. I'll resubmit the python3 parts of this as a separate PR.


Adds HostFunctionBuilder to enable high performance host functions

This PR follows @hafeidejiangyou advice to not only enable end users to
avoid reflection when calling host functions, but also use that approach
ourselves internally. The performance results are staggering and will be
noticable in high performance applications.
Before
BenchmarkHostCall/Call
BenchmarkHostCall/Call-16            	 1000000	      1050 ns/op
Benchmark_EnvironGet/environGet
Benchmark_EnvironGet/environGet-16         	  525492	      2224 ns/op

Now
BenchmarkHostCall/Call
BenchmarkHostCall/Call-16            	14807203	        83.22 ns/op
Benchmark_EnvironGet/environGet
Benchmark_EnvironGet/environGet-16         	  951690	      1054 ns/op

To accomplish this, this PR consolidates code around host function
definition and enables a fast path for functions where the user takes
responsibility for defining its WebAssembly mappings. Existing users
will need to change their code a bit, as signatures have changed.
For example, we are now more strict that all host functions require a
context parameter zero. Also, we've replaced
HostModuleBuilder.ExportFunction and ExportFunctions with a new type
HostFunctionBuilder that consolidates the responsibility and the
documentation.
 ctx := context.Background()
-hello := func() {
+hello := func(context.Context) {
         fmt.Fprintln(stdout, "hello!")
 }
-_, err := r.NewHostModuleBuilder("env").ExportFunction("hello", hello).Instantiate(ctx, r)
+_, err := r.NewHostModuleBuilder("env").
+        NewFunctionBuilder().WithFunc(hello).Export("hello").
+        Instantiate(ctx, r)

Power users can now use HostFunctionBuilder to define functions that
won't use reflection. There are two choices of interfaces to use
depending on if that function needs access to the calling module or not:
api.GoFunction and api.GoModuleFunction. Here's an example defining
one.
builder.WithGoFunction(api.GoFunc(func(ctx context.Context, params []uint64) []uint64 {
	x, y := uint32(params[0]), uint32(params[1])
	sum := x + y
	return []uint64{sum}
}, []api.ValueType{api.ValueTypeI32, api.ValueTypeI32}, []api.ValueType{api.ValueTypeI32})

As you'll notice and as documented, this approach is more verbose and
not for everyone. If you aren't making a low-level library, you are
likely able to afford the 1us penalty for the convenience of reflection.
However, we are happy to enable this option for foundational libraries
and those with high performance requirements (like ourselves)!
Fixes https://github.com/tetratelabs/wazero/pull/825

the integrated performance results are phenominally better for fine-grained ABI:
ex. https://github.com/http-wasm/http-wasm-host-go/pull/38 run via https://github.com/http-wasm/http-wasm-guest-tinygo benchmarks, TinyGo req/response logging went down from 43.5us/op to 14.5us/op
Before
Benchmark/example_router_host_response/TinyGo-16     	  352765	      3334 ns/op
Benchmark/example_router_host_response/wat-16        	  363664	      3171 ns/op
Benchmark/example_router_wasm_response/wat-16        	  232335	      4712 ns/op
Benchmark/example_router_wasm_response/TinyGo-16     	  225828	      4966 ns/op
Benchmark/example_wasi/TinyGo-16                     	   27218	     43631 ns/op
Benchmark/example_wasi/wat-16                        	   36333	     31908 ns/op

After
Benchmark/example_router_host_response/TinyGo-16  	 1148056	       979.8 ns/op
Benchmark/example_router_host_response/wat-16     	 1269897	       886.1 ns/op
Benchmark/example_router_wasm_response/wat-16     	 1098566	      1014 ns/op
Benchmark/example_router_wasm_response/TinyGo-16  	  802510	      1416 ns/op
Benchmark/example_wasi/TinyGo-16                  	   77762	     14477 ns/op
Benchmark/example_wasi/wat-16                     	  176056	      5794 ns/op

I'm going to merge this as we have a release in the next few days. I want to raise some tentative PRs meanwhile to ensure things work as well as they are so far. I'm happy to re-adjust and deal with drift on those PR if needed.

removed enforcement of context param when using reflection later per #832


Chrome not reachable with Selenium Python

I'm using serverless-chrome with Python in Lambda, following this repo's instructions.
It works great locally in a Docker container, but not when deployed to Lambda. This error comes up. It seems the webdriver starts up fine but the binary is unreachable when asked to parse the DOM with Selenium.
(Session info: headless chrome=65.0.3325.146)
(Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Linux 4.9.85-38.58.amzn1.x86_64 x86_64)
: WebDriverException
Traceback (most recent call last):
File "/var/task/src/lambda_function.py", line 284, in lambda_handler
driver.find_element_by_xpath('//*[@id="searchForm"]/div[4]/ul/li[1]/input').click()
File "/var/task/lib/selenium/webdriver/remote/webdriver.py", line 385, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "/var/task/lib/selenium/webdriver/remote/webdriver.py", line 955, in find_element
'value': value})['value']
File "/var/task/lib/selenium/webdriver/remote/webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "/var/task/lib/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: chrome not reachable
(Session info: headless chrome=65.0.3325.146)
(Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Linux 4.9.85-38.58.amzn1.x86_64 x86_64)

This is the code leading up to the line that fails:
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--window-size=1280x1696')
chrome_options.add_argument('--user-data-dir=/tmp/user-data')
chrome_options.add_argument('--hide-scrollbars')
chrome_options.add_argument('--enable-logging')
chrome_options.add_argument('--log-level=0')
chrome_options.add_argument('--v=99')
chrome_options.add_argument('--single-process')
chrome_options.add_argument('--data-path=/tmp/data-path')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--homedir=/tmp')
chrome_options.add_argument('--disk-cache-dir=/tmp/cache-dir')
chrome_options.add_argument('user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36')
chrome_options.binary_location = '/var/task/bin/headless-chromium'

driver = webdriver.Chrome(chrome_options=chrome_options)
driver.implicitly_wait(3)
driver.get(URL)

Any advice would be fantastic.

I'm experiencing the same issue but using node 6.10. Using the chrome binary given with this project : https://github.com/blackboard/lambda-selenium
it works perfectly.
I'm using the same parameters as @robroc

After a lot of tooling around, I got it to work on Lambda. The problem was with incompatible versions of  serverless-chrome, chromedriver, and Selenium. These are the versions that play well together in Lambda. Why is beyond me:
chromedriver v.2.37
severless-chrome v.0.0-37
selenium 2.53.6 (for Python)

Thanks for the quick feeback @robroc . I'm going to update the chromedriver to 2.37 and check if it works.

@robroc it works 💃
Is there any document where we have the correlation between chromedriver and chrome itself?

@robroc
You saved my day mate!!!

Added a note to the docs.

Did anyone look into investigating why we can't use newer versions of Chromium? Seems like pinning on such old versions works up until you want a new feature!

This is related to the chromedriver itself

Just for an additional data point, leaving chromedriver at 2.37 (which claims to support Chrome v64-66), and switching to v1.0.0-41 (Chromium 65.0.3282) of this project triggers the error. The version of selenium itself seems to have no impact (as suggested earlier).

Found some time to do a little more digging. The only error in the chromedriver log that jumps out at me is
[1532377838.274][SEVERE]: CreatePlatformSocket() returned an error, errno=1: Operation not permitted (1)
[1532377838.274][INFO]: listen on IPv6 failed with error ERR_ACCESS_DENIED

Anyone smarter than I? Thanks!

Can we now use newer versions of headless-chromium? Or still use the old version combination?

@NikolaiT versions of chromium/chromedriver are tied in term of compatibility look here : http://chromedriver.chromium.org/downloads
And check for the SUPPORT section of each chrome driver version to know which one fits your setup.

Thank you @zekth for the reference. This combination of versions worked out:
chromedriver 2.43
severless-chrome 1.0.0-55
selenium 3.14 (Python package)

@marioavs It looks like chromedriver versions below 2.46 are no longer offered. Do you know if those versions of serverless-chrome and Selenium work with the offered versions?

chromedriver versions below 2.46 are still available, for example chromedriver version 2.43 that I mentioned.
Version 2.44 did not work for me, that is why I wanted to share the specific versions that did work in my tests. serverless-chrome 1.0.0-55 is built with chromium 69.0.3497.81 (stable channel) for amazonlinux:2017.03, that means it "should" work with chromedriver versions 2.41, 2.42, 2.43 and 2.44.

After a lot of tooling around, I got it to work on Lambda. The problem was with incompatible versions of serverless-chrome, chromedriver, and Selenium. These are the versions that play well together in Lambda. Why is beyond me:
chromedriver v.2.37
severless-chrome v.0.0-37
selenium 2.53.6 (for Python)

I still

receive errorMessage": "Message: unknown error: unable to discover open window in chrome\n  (Session info: headless chrome=64.0.3282.167)\n  (Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Linux 4.14.123-95.109.amzn2.x86_64 x86_64)\n",

This Combination works for me
chromedriver v.2.37
severless-chrome v.0.0-37
selenium 3.14 (for Python)

Which combination is working atm? I've tried driver v2.43 + serverless v1.0.0-55 and driver v2.37 + serverless v1.0.0-37,
I keep getting an error: 'Chromedriver unexpectedly existed. status code was: 127'

@ramisvik I'm still with this error, using headless chrome=69.0.3497.81, chromedriver=2.43.600233, selenium=3.14.0, did you manage to make it work?

An error occurred during JSON serialization of response: WebDriverException('unknown error: unable to discover open window in chrome\n  (Session info: headless chrome=69.0.3497.81)\n  (Driver info: chromedriver=2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d),platform=Linux 4.14.138-99.102.amzn2.x86_64 x86_64)', None, None) is not JSON serializable

Really difficult to get the combinations working. I switched to Scrapy + Splash which is much better.

@AboveTheHeavens Have you found out the solution for this issue? I lost any hope to make it working.

@marioavs could you please clarify, what exact version of "severless-chrome 1.0.0-55" worked out for you? Did you use chromium 69.0.3497.81 (stable channel)?
I am using:
selenium==3.14.0
chromedriver==2.43 (2.43.600233 to be precise)
severless-chrome==everything from v1.0.0-55 and v1.0.0-54

Maybe the reason is the chromedriver? Is it possible that your 2.43 is not 2.43.600233? If so, can you please share your chromedriver somewhere in case if it's different?
I am desperately need this and can not make this work :(

I have finally set it up! The combination is:
selenium==3.14.0
chromedriver==2.43 (2.43.600233)
severless-chrome==serverless-chrome 1.0.0-55 (69.0.3497.81 stable channel)

I've been getting the error "Chrome unreachable" because of
chrome_options.add_argument('--single-process')

Its removal solved my problem.

Did anyone got this to work with recent versions? D:

Hi guys, just dropping a quick update from my side. I tried multiple versions but didn't find this sustainable.
I went ahead and wrote the spiders in scrapy and use splash to emulate selenium actions.

Hey guys, spend last night fiddling with different versions and finally made it work. These version setup works for me:
selenium==3.14.0
chromedriver==2.43
severless-chrome==1.0.0-55
AND
python=3.6
Initially I was using python 3.8 (both locally and on AWS) and it did not work.
Following @syunkevichdemandbase recommendation, switching to python 3.6 did the job!

Hi @dmitrykvochkin could you perhaps copy-paste the contents of your requirements.txt? I'm still having issues getting the versioning right (Error: Could not find a version that satisfies the requirement chromedriver==2.43 when installing from the requirements file). This repository seems to specify chromedriver-binary==2.43 while this tutorial doesn't specify it at all. Cheers.

Hey @Denijar
I am building my project using serverless, so it is slightly different. I don't have selenium or
chromedriver-installer in my requirenments.txt .
Instead, it is packaged it into Lambda Layers.  This tutorial is very close to my setup.
Make sure that you are building yours with python=3.6 on your machine and that the same python version is used on AWS Lambda. (this was giving me issues before)
I hope this helps!

My script worked well with

serverless-chrome v1.0.0-37
chromedriver 2.37
latest selenium
Python 3.7 (also confirmed not working with 3.8)

These binaries could be one lambda layer with this script. The test code is here.
Please remove unnecessary arguments such as region in the script.

@mcharbonnier
Did you extend lambda timeout? The default value is 3 seconds which is not enough.
If you still get the same  error,

It's blocked at "get function"

I need more detail about this.

Hello,
Finally the bug came from "https://google.com".
I tried with another site and it worked fine ;)
Thank you
Le jeu. 11 juin 2020 à 02:14, umihico<EMAIL_ADDRESS>a écrit :

@mcharbonnier https://github.com/mcharbonnier
Did you extend lambda timeout? The default value is 3 seconds which is not
enough.
If you still get the same error,
It's blocked at "get function"
I need more detail about this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/adieuadieu/serverless-chrome/issues/133#issuecomment-642331151,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APFRB6K7YZE7ZA5ZSXLDAA3RWAOVPANCNFSM4E25JUDA
.

--
Maxence Charbonnier

My script worked well with

serverless-chrome v1.0.0-37
chromedriver 2.37
latest selenium
Python 3.7 (also confirmed not working with 3.8)

These binaries could be one lambda layer with this script. The test code is here.
Please remove unnecessary arguments such as region in the script.

@umihico thanks for sharing your result. it works fine.
but i am trying to work with ECR, container.
i located your files on /var/task/bin. but it did not worked.
what is differences between container and layer?
i really don't get it.

@xoxwgys56
Thanks for visiting my repository and try it out.
ECR is also possible. I am also trying to deploy with ECR in my project and could make it at least.
I haven't pushed the changes yet (I'll do it soon.) but I'll paste my Dockerfile and modification here.
RUN pip install -r requirements.txt

COPY server.py ./
COPY chromeless/picklelib.py ./
COPY fonts.conf /opt/fonts/
RUN mkdir -p ./versions
COPY versions/*.py ./versions/
CMD ["server.handler"]

Due to the Dockerfile above, I need to locate binary files like this.
options.binary_location = "/opt/bin/headless-chromium"
return webdriver.Chrome("/opt/bin/chromedriver", options=options)

@umihico thanks so much your reply it will really helpful for me.
and i love your repo what you trying to.
This is another question but did you tried higher version of chrome? (like 70 or 80?)
I tried almost 2 weeks but not succeed.

@xoxwgys56
I have no idea yet, instead of direct troubleshooting, I'm gonna try the latest chrome with a virtual display inside docker without headless-chrome.

@umihico
Yeah, i agree with virtual display without headless-chrome is could be possible.

@xoxwgys56
I created a demo repository which works with image container. It uses these versions.

Python 3.7
serverless-chrome v1.0.0-37
chromedriver 2.37
selenium 3.141.0 (latest)

Please check out https://github.com/umihico/docker-selenium-lambda/
I am trying to upgrade any of these versions but can't make it yet.

Did anyone manage to get this running on Python 3.8?

@milanzivic
I did. I updated the above repository.  https://github.com/umihico/docker-selenium-lambda/

Thanks! Will check it out

https://github.com/adieuadieu/serverless-chrome/releases/download/v1.0.0-55/stable-headless-chromium-amazonlinux-2017-03.zip
https://chromedriver.storage.googleapis.com/index.html?path=2.43/
thank
chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--window-size=1366x768')
    chrome_options.add_argument('--user-data-dir=/tmp/user-data')
    chrome_options.add_argument('--hide-scrollbars')
    chrome_options.add_argument('--enable-logging')
    chrome_options.add_argument('--log-level=0')
    chrome_options.add_argument('--single-process')
    chrome_options.add_argument('--data-path=/tmp/data-path')
    chrome_options.add_argument('--ignore-certificate-errors')
    chrome_options.add_argument('--homedir=/tmp')
    chrome_options.add_argument('--disk-cache-dir=/tmp/cache-dir')
    chrome_options.add_argument(
        'user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36')

    chrome_options.binary_location = './headless-chromium'

    chrome = webdriver.Chrome("./chromedriver",
                              options=chrome_options)
    print(chrome)

    data = chrome.get("https://www.baidu.com")

    print(chrome.find_element_by_xpath("//html").text)

@duolabmeng6 posted version works fine but like what you said it takes more time.
In this case, I wonder what is differences between each versions.
I can not find which version take more memory and which version is not.
Is higher version of chrome is always best choice?  or lower version is good? I can not specified that.
I notice built image sizes are different but not sure it makes chrome more slower or heavier.

@duolabmeng6 posted version works fine but like what you said it takes more time.
In this case, I wonder what is differences between each versions.
I can not find which version take more memory and which version is not.
Is higher version of chrome is always best choice? or lower version is good? I can not specified that.
I notice built image sizes are different but not sure it makes chrome more slower or heavier.

I chose chrome 69  v1.0.0-55 because Aliyun 函数计算 Greater than is not allowed 100m And use less memory and time
But I like to use the latest version
If only he could use less memory and be faster
For the time being, v1.0.0-55 is appropriate in the case of no bugs
Build the latest version if chrome can be released
The current chrome version is 91
I'd like to try the latest version. I'm in aliyun test

@duolabmeng6 Thanks for replying. Yes I agree with that.
If you succeed with more latest version of chrome. I hope you share with that.
P.S I don't know what aliyun test is. I just guess meaning of like alpha test or pre test

@duolabmeng6 Thanks for replying. Yes I agree with that.
If you succeed with more latest version of chrome. I hope you share with that.
P.S I don't know what aliyun test is. I just guess meaning of like alpha test or pre test

https://www.alibabacloud.com/product/function-compute
The results were tested on Alibaba cloud
I don't know how to build the latest version of chrome 91. I still need to learn. Now I see the latest version is 88 v1.0.0-57
Because Alibaba cloud needs special processing for more than 100m, I chose version 69 v1.0.0-57 This makes it easier to deploy functions
In function compute, memory requirements are obvious. It is easier to choose files with smaller speed and faster deployment
If you choose a small memory without major problems
If you use docker deployment, can use the latest version of chrome 91
https://github.com/duolabmeng6/heroku_selenium
The latest version of chrome built in heroku can also be tested

https://github.com/adieuadieu/serverless-chrome/releases/download/v1.0.0-57/stable-headless-chromium-amazonlinux-2.zip
https://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/

https://github.com/adieuadieu/serverless-chrome/releases/download/v1.0.0-57/stable-headless-chromium-amazonlinux-2.zip
https://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/
This isn't working for me, while i add the layers

Current requirements working for me:
selenium==3.14
chromedriver-py==100.0.4896.20


Update powerbi.md to align with tech editor comments

🗣 Description
PowerBI baseline document has been updated based on tech editor feedback. The main changes are all grammatical and stylistic edits throughout the document.
💭 Motivation and context

The tech-editor feedback is to make the baseline document consistent with other baselines and make any suggestions/edits for grammar and style. Most the feedback has been accepted with a few exceptions. The tech editor provided word document has more details.
🧪 Testing

N/A
✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All future TODOs are captured in issues, which are referenced
in code comments.
[x] All relevant type-of-change labels have been added.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[ ] Tests have been added and/or modified to cover the changes in this PR.

✅ Pre-merge checklist

[ ] Revert dependencies to default branches.
[ ] Finalize version.

✅ Post-merge checklist

[ ] Create a release.

@ahuynhMITRE rgbrow might be out for a few days. Suggest adding another reviewer.

gotcha, thanks for the heads up!

Looks good (changes are related to writing style/grammar). Approved.

thanks for the quick review nanda, good to merge!

The unit test failure is not related to PR - merging.


"Călui" is listed in the drop-down menu

Description:
When user writes "Călui" the location appears in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Călui"
Expected results
The location appears in the drop-down menu as "Comuna Călui, OLT"


[Spotify-Controls] Add step setting for volume commands

Description
Added a configuration to change step for volume controls instead of having it fixed to 10%.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @amureki 👋
I made a few improvements to ensure the input can be used, do you mind giving it a go 😊

Hi @amureki 👋
I made a few improvements to ensure the input can be used, do you mind giving it a go 😊

Oh, sure, thank you for great additions!

Can't figure out if it would be good to show a HUD when performing the actions?

Can't figure out if it would be good to show a HUD when performing the actions?

Interesting idea.
I, personally, do not need a visual confirmation, as I instantly hear the difference with my setup.
But can't speak for the others. However, I think this might go beyond the scope of this PR and can be introduced for more commands that were not touched here (like setting volume to certain level, changing the track etc.).

Awesome, thank you @pernielsentikaer for finishing this up! ✨


About the function of setup_host.sh.

Hi,
I try to figure out the function of the setup_host.sh script but still not so clear.
Any hints will be highly appreciated.
Best regards,
HY

The comment has been explained very clearly. Generally speaking, it's do some configurations.

Setup core dump format. when the program crash, there will be a coredump file used to record the error and debug the problem.
Setup ntpdate to run once per minute. Log at /var/log/syslog. For time synchronization
Add udev rules. udev allows for rules that specify what name is given to a device, regardless of which port it is plugged into
Add uvcvideo clock config. Set usb camera clock config

The comment has been explained very clearly. Generally speaking, it's do some configurations.

Setup core dump format. when the program crash, there will be a coredump file used to record the error and debug the problem.
Setup ntpdate to run once per minute. Log at /var/log/syslog. For time synchronization
Add udev rules. udev allows for rules that specify what name is given to a device, regardless of which port it is plugged into
Add uvcvideo clock config. Set usb camera clock config

One question about "Enable Core Dump on Host":
Since apollo was run inside docker, why do we need to enable coredump on the host machine where docker is running on?
I was wondering the reason why the original author wrote it, but still got no clue ...

Seems modify the config in dockerfile will have some problem, and It is best to modify outside docker.  ref link link
First make sure the container will write the cores to an existing location in the container filesystem. The core generation settings are set in the host, not in the container. Example:
echo '/cores/core.%e.%p' | sudo tee /proc/sys/kernel/core_pattern

2. Setup ntpdate to run once per minute. Log at /var/log/syslog. For time synchronization

For the real car running on the load, say, the Apollo D-Kit system, IMO, the time is obtained and synced from and among the GPS/GNSS/RTK/Lidar systems, etc..
So, I still not so clear why should we use ntpdate for this job and do it so frequently.
Best regards,
HY

Because Apollo modules need precise time stamps to collaborate and perform especially in complex environments, and system time may have accumulated error and differ from GPS time. You would find this frequent time sync essential after initial hundreds of hours road tests.

@Capri2014 OK, thanks a lot for your explanations. It seems the job in this script only need to be run once immediately after the system has been started or the user has logged into. So, if I understand correct, we should add the invoking for this script in the /etc/profile or ~/.profile. Am I right?
Best regards,
HY
$

Especially, do we need to run it as a very beginning step each time when I want to start apollo?

@hongyi-zhao I don't think setup_host.sh need to be run each time you started Apollo. You only need to run it once on the host.

Thanks. Got it.


Start the tutorial with non-input-sim mouse-based interaction module

MRTK3 ships with the CanvasProxyInteractor which allows users to interact with buttons, bounds controls etc. in the scene without using a simulated hand/controller. I think demonstrating that would be a great starting point. We can order the existing input sim tutorial as the second one in the list. Or we can add this to the existing input sim tutorial.

May want to mention adding the UGUIInputAdapterDraggable to the objects (and in the objmanip tutorial).

@Zee2 for clarification, does CanvasProxyInteractor need to be added as a component to interactable objects in order to interact w/ a mouse? In addition, what does UGUIInputAdapaterDraggable do? Our API reference links are broken at the moment and I'm unable to look it up.

Got my answered resolved via Teams :)

Created a new module dedicated to previewing scenes that starts w/ mouse-based interactions.


How to truncate backpropagation in LSTM?

I want to use LSTM to implement a classification task on 20 news group dataset
as described in the paper Semi-Supervised Sequence Learning
the authors truncated backpropagation up to 400 timesteps from the end of the sequence and clipped the cell outputs and gradient (see section 4)
How can I implement this feature using MXNet?

try sym.BlockGard

currently, the rnn network implemented in mxnet does not support clipping operation, will this feature added in future?
how to clip gradient of cell? it seems that after computing the gradient of cell c_t, they apply clipping immediately, instead of computing the whole gradient (through the end of a sequence to the begining) and then apply clipping

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Upping jtwig-spring version

Coverage remained the same at 90.909% when pulling 34dbd490a049e1f6d2e5439f86e7cdfdddf841b8 on lyncodev:master into c98213cc9a4f7e7e4f5b30b038e83f90e83261a4 on jtwig:master.


Fix if statement in publications/single.html

It was using the wrong syntax which tripped up Hugo 71.1

Thanks, @thomwiggers !


Minor performance improvements and some docblocks

Thanks for your package!
I was also planning to do a package for er diagram generation.

thanks for the PR


Feature: Way to ignore some amazon devices completely

Not much to say. Right now I have two Amazon Echo and these are what I need to see.
"This Device" always should be ignored in my opinion.
And a way to remove a few others would be nice too. In my case I had a FireTV Stick in the past which died and it's still in the list. Then all registered Alexa apps on phones sit in there too without much use.
Till a few weeks ago all was sorta fine with ignoring these media players, but now it bombs my switch category, too. ^^
Maybe some kinda config file generated with the detected devices and a way to disable them would be nice.

Sorry, didn't realize this is already added by now ^^
      exclude_devices:
        - "This Device"
        - "Daniel's Echo Connect"
        - "Daniel's Fire TV stick"
        - "Daniel's Alexa Apps"
        - "Daniel's Alexa App for PC"


Add version to lambda function name

Is there any way I can dynamically change the lambda name (specified in project.clj) to include version/ build number?

There isn't a cljs-lambda specific solution, but as far as Leiningen goes, I think you could do something like:
{...
  :functions
  [{:name   ~(str "topic-to-queue-" (System/getenv "TOPIC_TO_QUEUE_VERSION"))
    :invoke  chemtrack.lambda/topic-to-queue
    :timeout 20}]}

Or similar.  You can obviously evaluate whatever expression you like, to derive the version.  Is that helpful?

Yeah, I realized that after I posted the question. Thanks for the quick response! So far, this is working out well for our project. :+1:

Great! Let me know if you run until anything else.
On 4 Feb 2016 22:55, "Kumar Vora"<EMAIL_ADDRESS>wrote:

Yeah, I realized that after I posted the question. Thanks for the quick
response! So far, this is working out well for our project. [image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/nervous-systems/cljs-lambda/issues/11#issuecomment-180091217
.


bugfix: virtual slides parameter diff from Swiper docs

according to http://idangero.us/swiper/api/#virtual

Thanks.


Coding productivity decreased since last build

Coding productivity has decreased enormously since the removal of the Santa hat.
Please make it your top priority to bring Santa hat back.

I also can't focus on my work since then, please let me be productive again

:santa: will be back!


Nothing change for me

I follow all the instructions and my telegram donest change.
Try to quit and restart and still nothing.
My telegram app version

wal-telegram-git from AUR = Version r25.4d0b690-1

What is the content of the zip archive generated in ~/.cache/wal-telegram ? And what are the options you're using ?

Reopen this issue if you have more information to share.

Im having the sae issue, i have the 4.0.2 version, i update the wal theme and restar telegram but no new colors or anything


Floats print with extra trailing zeros. Kinda ugly.

Floats print as such, "1.000000" with six digits following the point. Look into ways to truncate the trailing zeros if possible through llvm.

Not going to fix this. Its a "feature" ;)


Linux support

This brings Linux support running as a single app with each node running as a thread. Builds on Linux and NuttX.
@davids5 Could you have a look?
@dagar Any comments?

@mcharleb The CI systems already hint there is some work needed. I also looked at the diff, and I see massive diffs in some places I didn't expect them in - did you run some sort of auto-formatting tool on some files? Tools/fix_code_style.sh maybe? In general we avoid running it unless needed. I think I need to reduce the diff a bit before I can really review this ;-).

There shouldn't be any formatting differences. What is the best way to
stage this then?
On Mon, Apr 20, 2015 at 1:55 PM, Lorenz Meier<EMAIL_ADDRESS>wrote:

@mcharleb https://github.com/mcharleb The CI systems already hint there
is some work needed. I also looked at the diff, and I see massive diffs in
some places I didn't expect them in - did you run some sort of
auto-formatting tool on some files? Tools/fix_code_style.sh maybe? In
general we avoid running it unless needed. I think I need to reduce the
diff a bit before I can really review this ;-).
—
Reply to this email directly or view it on GitHub
https://github.com/PX4/Firmware/pull/2057#issuecomment-94566114.

I replaced isfinite() with PX4_ISFINITE() in a later commit. There are  issues with scope and isfinite depending on which OS you build from.

In order to build for each OS you have to use:
make PX4_TARGET_OS=
where target is nuttx, or linux

This branch builds for Linux and includes Linux system headers if not building for NuttX. Could we change this so it builds for POSIX and compiles Linux headers conditionally? A lot of our developers run on Mac OS and would want to do SITL there as well (including me).

Yes, I can make a __PX4_POSIX define and change linux to posix for the PX4_TARGET_OS setting.

@mcharleb Thanks for this massive contribution! We flight tested it today successfully on Pixhawk!

@mcharleb I still need to resolve the CI test failure. @AndreasDanielAntener could you have a look a the SITL CI fail and let me know what failed there?

@LorenzMeier ATM, it cannot compile (http://sitl01.dronetest.io/job/PX4 Firmware SITL PRs/577/console):
actuator_controls_3.h: unchanged
mc_att_ctrl_status.h: unchanged
vehicle_attitude_setpoint.h: unchanged
[ 47%] Built target multiplatform_message_headers
Scanning dependencies of target px4
[ 47%] Building CXX object Firmware/CMakeFiles/px4.dir/src/platforms/ros/px4_ros_impl.cpp.o
In file included from /sitl/catkin_ws/src/Firmware/src/include/../platforms/px4_nodehandle.h:45:0,
                 from /sitl/catkin_ws/src/Firmware/src/include/px4.h:46,
                 from /sitl/catkin_ws/src/Firmware/src/platforms/ros/px4_ros_impl.cpp:40:
/sitl/catkin_ws/src/Firmware/src/include/../platforms/px4_posix.h:102:2: error: #error "No TARGET OS Provided"
 #error "No TARGET OS Provided"
  ^
make[2]: *** [Firmware/CMakeFiles/px4.dir/src/platforms/ros/px4_ros_impl.cpp.o] Error 1
make[1]: *** [Firmware/CMakeFiles/px4.dir/all] Error 2
make: *** [all] Error 2
Base path: /sitl/catkin_ws

I haven't been testing the ROS builds. I'll do that and fix the errors.

ROS, POSIX and QuRT all build successfully now

Awesome!

I merged master. If this build goes through I'll go ahead with the master merge.

I had to fixup one poll to px4_poll after your merge

@mcharleb To prevent this in the future, could you please add a test target here, similar to what's already there?
https://github.com/PX4/Firmware/blob/master/.travis.yml#L64
At least the compilation should be covered. Of course running it would be even better.
How can we resolve the need to create a few magic files in the root directory of the host computer?

@mcharleb Travis didn't like the last merge I did, checking..

Weird - failed again here: Ideas?
[ 12%] Building CXX object CMakeFiles/mixer_test.dir/mixer_test.cpp.o
In file included from /home/travis/build/PX4/Firmware/unittests/../src/drivers/drv_mixer.h:56:0,
                 from /home/travis/build/PX4/Firmware/unittests/../src/modules/systemlib/mixer/mixer.h:132,
                 from /home/travis/build/PX4/Firmware/unittests/mixer_test.cpp:1:
/home/travis/build/PX4/Firmware/unittests/../src/platforms/px4_defines.h:87:2: error: #error "No target OS defined"
 #error "No target OS defined"

I just did a successful ROS build so I'm not sure what's going on

The unit tests work now.

@mcharleb Its failing now here:
[0mIn file included from /home/travis/build/PX4/Firmware/unittests/../src/platforms/px4_defines.h:75:0,
                 from /home/travis/build/PX4/Firmware/unittests/../src/platforms/px4_posix.h:42,
                 from /home/travis/build/PX4/Firmware/unittests/../src/drivers/drv_hrt.h:42,
                 from /home/travis/build/PX4/Firmware/unittests/hrt.cpp:3:
/home/travis/build/PX4/Firmware/unittests/../src/platforms/px4_includes.h:113:58: fatal error: platforms/posix/px4_messages/px4_rc_channels.h: No such file or directory
 #include <platforms/posix/px4_messages/px4_rc_channels.h>

This is because the unit tests rely on the POSIX headers to be generated. I have now worked around this in the Travis CI config, but we probably need to make the POSIX header generation a dependency of the unit test run.

Ok, this did it - prime time!

Awesome!! Thanks for your help with the integration.


[BUG]  - image / container border pushes image instead of it resizing automaticly

Fix - https://wix.monday.com/boards/4776391986/pulses/5238889014
Removing const image size and settings box-sizing:border-box  attribute at the image container so it can be responsive to border changes
before -

after -

Hey,
I understand the request here.
But, how does this work with the overlay? Why didnt you show it on the after image?
We use the layout's image size to make text layouting calculations in the overlay. if those are shortened by pure css, the calculations will go wrong.
We can make product decisions, but only after knowing that.
Again, not a bug, product decisions are needed - but you must present all the implications of this change. (also, only in v5, maybe in a minor)

This issue needs to be solve be either changing CSS on Wix side or adding border to settings on native


Added Bootstrap

👷 Deploy Preview for cerulean-genie-aac825 processing.

Name
Link

🔨 Latest commit
a355b44db1cdfe2091b1d0a9814df642d40b4623

🔍 Latest deploy log
https://app.netlify.com/sites/cerulean-genie-aac825/deploys/661d6dd13d7add00087eb28f


Fix duplicate code in "Other permissions" section of "Organization Permissions".

@timabbott can you confirm this is the duplication you were thinking of, changes in this commit https://github.com/zulip/zulip/commit/90c0ce9af053a6067b7b02886d371c4b08cd8c88
This doesn't make any change in UI.
Will add "Fixes" in the last commit for this issue, https://github.com/zulip/zulip/issues/13625, as if these changes look good I'll make a few more commits similar to above-mentioned commit.

Yeah, I have both of them on my radar too! Working on them!

Opened, https://github.com/zulip/zulip/pull/13808 as a quick-PR for these refactors, I have a few other refactorings in mind (e.g. for real logo widget, upload widgets, realm domain table, etc.), but for now, I'm focusing on stream settings changes.


Relative URL replacement breaks links to directories

Environment
n/a
Reproduction
See https://unjs.io/packages/magicast, specifically the links to the source code and test cases near the bottom highlighted here. Navigating to these links (https://raw.githubusercontent.com/unjs/magicast/main/src/helpers or https://raw.githubusercontent.com/unjs/magicast/main/test/helpers) will result in a 404 page.
Describe the bug
The original issue was that relative links did not work outside Github, see https://github.com/unjs/ungh/issues/24 which was resolved by https://github.com/unjs/ungh/pull/52.
The solution was to replace the relative URLs with absolute ones, essentially prefixing with 'https://raw.githubusercontent.com', this works fine for images/assets but does not work for directories. As seen on magicast docs, ./src/helpers is replaced with https://raw.githubusercontent.com/unjs/magicast/main/src/helpers.
Not sure how this can be resolved 🤔 I'm assuming checking each URL for a 404 would be a bit too much. Maybe checking for file extensions? But some file links have no extension like LICENSE.
Additional context
No response
Logs
No response

Hey thanks for the detailed issue. I'm little bit occupied to check this more in details, but just a quick idea, maybe wen limit rewrite of #52 to assets(images) which have different markdown?
(also /cc @cpreston321 he might have some idea too)


Add explicit permissions

Addresses https://github.com/google/osv-scanner/security/code-scanning/161

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 66.34%. Comparing base (ae2bd10) to head (40a413b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1171      +/-   ##
==========================================
+ Coverage   65.83%   66.34%   +0.50%
==========================================
  Files         165      165
  Lines       13890    10764    -3126
==========================================
- Hits         9144     7141    -2003
+ Misses       4245     3120    -1125
- Partials      501      503       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Bug]: Containers have no colour in tab menu

What happened?
Containers have no colour, they look grey with the default setup. While the tab context menu > Open tab in New container preserves the colours.
Steps to reproduce the problem

Install Multi account container extension
Click the tab menu
See that they have no colour, only the icon is preserved.

Additional info (Optional)
Firefox version: 119
Operating system: Fedora 39

Looks like on Nightly that tab menu is now placed on the left corner with the theme instead of right like in 119.

Added fixes, can you test again please. Also the difference between Firefox 119 and 120 is quite serious, I separated it in another branch if you want to use in older versions.

Thanks! It works now


TypeError: no implicit conversion of nil into String (TypeError)

With Rails <IP_ADDRESS>, Ruby 3.3.5, running
RAILS_ENV=production bundle exec rake assets:precompile --trace
TypeError: no implicit conversion of nil into String (TypeError)

      filename = File.join(Rails.application.config.assets.prefix, prefix, "#{name}-#{digest(data)}.#{extension}")
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets_terser_with_source_maps-2.1.0/lib/sprockets_terser_with_source_maps/compressor.rb:56:in `join'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets_terser_with_source_maps-2.1.0/lib/sprockets_terser_with_source_maps/compressor.rb:56:in `generate_asset_file'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets_terser_with_source_maps-2.1.0/lib/sprockets_terser_with_source_maps/compressor.rb:33:in `call'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/terser-1.2.4/lib/terser/compressor.rb:23:in `call'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:84:in `call_processor'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in `call_processors'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:184:in `load_from_unloaded'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:59:in `block in load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:339:in `fetch_asset_from_dependency_cache'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:43:in `load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in `block in load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/map.rb:207:in `block in fetch_or_store'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/map.rb:187:in `fetch'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/map.rb:206:in `fetch_or_store'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in `load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/bundle.rb:32:in `block in call'
/.rbenv/versions/3.3.5/lib/ruby/3.3.0/set.rb:501:in `each_key'
/.rbenv/versions/3.3.5/lib/ruby/3.3.0/set.rb:501:in `each'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/bundle.rb:31:in `call'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:84:in `call_processor'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/processor_utils.rb:65:in `call_processors'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:184:in `load_from_unloaded'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:59:in `block in load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:339:in `fetch_asset_from_dependency_cache'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/loader.rb:43:in `load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in `block in load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/map.rb:207:in `block in fetch_or_store'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/map.rb:187:in `fetch'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/map.rb:206:in `fetch_or_store'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/cached_environment.rb:44:in `load'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/base.rb:81:in `find_asset'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/base.rb:88:in `find_all_linked_assets'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in `each'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in `to_a'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/sprockets-4.2.1/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `block in synchronize'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `synchronize'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in `synchronize'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in `execute'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/promise.rb:564:in `block in realize'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359:in `run_task'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350:in `block (3 levels) in create_worker'
<internal:kernel>:187:in `loop'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:in `block (2 levels) in create_worker'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `catch'
/.rbenv/versions/3.3.5/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `block in create_worker'
Tasks: TOP => assets:precompile

Could you provide the settings that you are using? seems like some of the prefix values are nil. I can't reproduce the problem with default values

No settings, just config.assets.js_compressor = :terser_with_source_maps

@Faq with rails you don't need the require, and the correct require should be:
require "sprockets_terser_with_source_maps"
With new rails <IP_ADDRESS> generated app I can't reproduce it, can you provide some sample code, and the asset on which is failing?

Sorry, as this did not worked out, in production.rb went with terser:
Sprockets.register_compressor("application/javascript", :terser, Terser::Compressor)
config.assets.js_compressor = :terser


chore: bump harvester-seeder to v0.1.2

This PR bumps the harvester-seeder image tag from v0.1.2; the chart is untouched.

Need to backport to v1.2/v1.3 after merged.

@mergify backport v1.2

@mergify backport v1.3


[WIP] coprocessor: add selection executor for DAG

Hi,
This PR adds executors for DAG request.

deprecated by #1914 :)


Workaround bug BZ#2124239 on RHEL 8.9 for edge-installer for http boot

Found same bug https://bugzilla.redhat.com/show_bug.cgi?id=2124239 on RHEL 8.9 for edge-installer for http boot. This PR includes workaround for RHEL 8.9.

/test-rhel-8-9-ng

/test-rhel-8-8-ng

/test-rhel-8-7-ng

/test-rhel-9-3-ng


feat(positioned_note): add reference note for equalTemperamentFrequency

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
541

Relevant Lines:
541

💛  - Coveralls


[CL]: Tick Spacing Default

Background
For now, we are setting the parameter to the following: AuthorizedTickSpacing: []uint64{1, 10, 60, 200}
Suggested Design
We should run benchmarks to see which tick spacings we should allow. If tick spacing of 1 has very low overhead, it should be the only option for all pools.
Acceptance Criteria
TBD

@czarcas7ic  Is there anything that needs to be done here still?

I am going to close this for now, but we may want to look into how we simply to the pool creator the optimal creation strategy (i.e. creating the pool with default tick spacing of 10 and make their exponenetAtPriceOne one less than intended)


changing timesteps should maintain current viewpoint

It's also distracting that the old data disappears before the new data is shown.
Relevant for both 2d and 3d.

In the 3D viewer the viewpoint is maintained over time (try borg here https://goo.gl/B9kwVn)
In the 2D viewer probably it is an issue with OpenSeaDragon.

Rather than fight with OSD, can we simply use 3d viewer for 2d datasets?

Not sure when it was fixed, but this seems to work now (unless the viewpoint is hard-coded in the url).


Pop-up window open in a new tab

Hi great plugin!
I am  using it in the Edge Version 102.0.1227.0 and when I am using it, it opens pop-up in new tab instead opening over my current tab.

Looks like Chrome changes the name policy name from URLWhitelist to URLAllowlist. Executing this command in the terminal fixed it for me. You need to reload the Chrome policy or restart Chrome afterwards. So the instructions in the readme of this projects need to be updated.
defaults write com.google.Chrome URLWhitelist -array-add 'omnifocus://*'

I don't know if the setting changed names. This is what works in Chrome 109.0.5414.87
defaults write com.google.Chrome URLAllowlist -array-add 'omnifocus://*'

Hi all @cfeddersen @danieltomasz @danieltomasz @andersbetner
It would be appreciated to know what the defaults write would be for this to work on the Brave browser Version v1.62.156 Chromium
Thank you.
Much appreciated


Merge Request

Can you kindly acceptt the pull request from sharmista that contains the unitest??
@AhmedCode99
Thank you

done


Custom matchers does not wait for promise in result.pass to be resolved

Node Version: 4.2.3 && 4.2.2
Protractor Version: 3.1.1 , jasminewd 0.8
Browser(s): Chrome, Firefox
Operating System and Version MacOS and Windows
Your protractor configuration file

exports.config = {
  directConnect: true,

  framework: 'jasmine2',
    specs: ['script.js'],
  capabilities: {
    'browserName': 'chrome'
  },

  onPrepare: function() {
  }
};

A relevant example test

    describe('Protractor Experiments', function () {
    beforeEach(function () {
        var customMatchers = {
            toDisappear: function () {
                return {
                    compare: function (actual, expected) {
                        var result = {};
//i have to deal with 2 browsers same time, so to not pass aditional parameter i use ptor_
                        result.pass = actual.ptor_.wait(protractor.ExpectedConditions.invisibilityOf(actual), 2000)
                            .then(() => {
                                    result.message = 'invisible!';
                                    return true
                                }, err => {
                                    result.message = 'visible!';
                                    return false
                                }
                            );
                        return result;
                    }
                };
            },

        };

        jasmine.addMatchers(customMatchers);

    });
    it('creating custom jasmine matcher function with wait', function () {
        browser.get('http://www.protractortest.org/testapp/ng1/#/form');
        let nonexist = $('nonexist');
        let exist = $('body');
        expect(nonexist).toDisappear();
        expect(exist).toDisappear(); //this passes without failure.
    });

Output from running the test:

><EMAIL_ADDRESS>test D:\protractor_experiment
> node ./node_modules/protractor/bin/protractor config.js

Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Started
.

Ran 1 of 4 specs
1 spec, 0 failures
Finished in 4.153 seconds
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 passed

Process finished with exit code 0

URL: http://www.protractortest.org/testapp/ng1/#/form

Problem:
Hi guys! I really apreciate what you are doing! I was trying to extend jasminewd matchers a little, but got a problem that my matchers does not fail if condition does not meet - i think that because jasminewd does not wait for promise to resolve, and use result in result.pass as it is, so it always True.
Please see my test code in example.
Also i see when i pass promise instead ElementFinder to expect() function it works fine with my matcher, but i would be happy to avoid that wrapping to promise.
let nonexist = $('nonexist');
let exist = $('body');
expect(protractor.promise.fulfilled(nonexist)).toDisappear();
expect(protractor.promise.fulfilled(exist)).toDisappear(); //correctly fails.

It is waiting on the promise, but it seems like the return value of the callbacks is dropped. We'll investigate, but in the meantime you can work around the issue like this:
result.pass = actual.ptor_.wait(protractor.ExpectedConditions.invisibilityOf(actual), 2000)
    .then(() => {
         return true;
    }, err => {
        throw new Error("Element is still visible!");
    });

So far:
in jasminewd/index.js, we have this code (lines 170 onwards):
    if (!webdriver.promise.isPromise(expectation.actual) &&
        !webdriver.promise.isPromise(expected)) {
      originalWrapCompare(name, matcherFactory).apply(this, arguments);
    } else {
      webdriver.promise.when(expectation.actual).then(function(actual) {
        return webdriver.promise.all(expected).then(function(expected) {
          return compare(actual, expected);
        });
      });
    }

It has a problem that it doesn't take into account the fact that while actual and expected may not be promises, the result of comparison may well be a promise resolving into a boolean.
It's also of note that around protractor 1.8.0, jasminewd2 that shipped with it worked as expected.

Fixed in https://github.com/angular/jasminewd/pull/58/files


Moved internal.rb to be under the ruby_lsp directory

Motivation
PaymentService has an engine thats named Internal. With the latest version of ruby-lsp, PaymentService fails to load the Internal component. Related Buildkite.
https://github.com/Shopify/ruby-lsp/pull/119/commits/586eccfa5f6de1640a58b9c5f4d364db6a314aca was the only change that seemed like it could have caused this. Renaming the internal.rb file resolves the issue, as does moving the file to not be in the top-level /lib folder.
Implementation
Moved internal.rb to be under the ruby_lsp directory.

I think maybe the problem is that there shouldn't be any non-ruby-lsp.rb file located at the top-level /lib. Even if we changed it to requires.rb, it can still be loaded with require "requires", which may be some other gems' name. So the better solution to me is to place the internal.rb under the ruby-lsp namespace.

Yeah 100% agreed with what @st0012 wrote above. We should be moving the require to inside the ruby-lsp folder.

Thanks and sorry that this broke your workflow!

No problem, thanks for the quick review! ❤


Remove the Renderers and Aggregators dropdown.

Hi Nic,
I have a design issue.
In my requirement I only need Renderer as Table and Aggregators as Count always. So I would like to remove the dropdown renderer and aggregator.
I tried adding this script on my page to remove renderers.
$('table.pvtUi > tbody > tr').eq(0).children('td').eq(0).children('select.pvtRenderer').remove();
But its not working.How can I achieve this.
I am also planning a Clear All Filter button. So would like to introduce this button on the above space.

You're best off hiding the dropdowns in CSS.