Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge browser in k6 #4056

Open
wants to merge 3,059 commits into
base: master
Choose a base branch
from
Open

Merge browser in k6 #4056

wants to merge 3,059 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 30, 2024

  1. Configuration menu
    Copy the full SHA
    4fca4e6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d33f23b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3acf0ff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    61857d2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    38ac33f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    40e3cea View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    aaf32e9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    83496af View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a6e8f78 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    cc34feb View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Bump (deps): Bump go.k6.io/k6

    Bumps [go.k6.io/k6](https://github.com/grafana/k6) from 0.53.1-0.20240925100229-86ab6e3ceee8 to 0.54.0.
    - [Release notes](https://github.com/grafana/k6/releases)
    - [Commits](https://github.com/grafana/k6/commits/v0.54.0)
    
    ---
    updated-dependencies:
    - dependency-name: go.k6.io/k6
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and inancgumus committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    577e169 View commit details
    Browse the repository at this point in the history
  2. Fix k6 process hang when using page.on

    This fix ensures that the taskqueue is closed when the iteration ends.
    If the taskqueue isn't closed when the iteration ends the k6 process
    will hang indefinitely. We used to rely on page.close, but now that the
    life cycle of the iteration is controlled by the VU we can safely rely
    on the VU context to ensure that the taskqueue is closed (if it isn't
    already closed).
    ankur22 committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    8fce16a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c71bdb1 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. Fix the team issue template

    `Description` should be `description`
    inancgumus committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    61d4228 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. Add ControlOrMeta helper key

    This will allow us to write the test for all platforms that either work
    with Control or Meta when performing keyboard actions. E.g.
    Control+click on windows, and meta+click on mac to open a link in a new
    window.
    ankur22 committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    e429a04 View commit details
    Browse the repository at this point in the history
  2. Update test to work with dblClick

    The test now doesn't test with combo keys which doesn't work yet.
    Instead we're using dblClick.
    ankur22 committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    b04af2b View commit details
    Browse the repository at this point in the history
  3. Add missing test pages

    ankur22 committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    50be4e4 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Configuration menu
    Copy the full SHA
    a3a36a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6049bed View commit details
    Browse the repository at this point in the history
  3. Remove sobek from keyboard.press

    The sobek code has been moved to the mapping layer, leaving the main
    business logic sobek free for keyboard.press.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    8206006 View commit details
    Browse the repository at this point in the history
  4. Remove Sobek from keyboard.Press

    The sobek code has been moved to the mapping layer, leaving the main
    business logic sobek free for keyboard.type.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    89df807 View commit details
    Browse the repository at this point in the history
  5. Add syncMapKeyboard

    This is to enable us to still work with the sync keyboard APIs with the
    Sobek changes removed from the business logic side of keyboard.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    e992fbd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    09815eb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6d3fb2c View commit details
    Browse the repository at this point in the history
  8. Enhance waitForSelector js error message

    waitForSelector may result in a confusing error message:
    
            selector did not resolve to any element
    
    We're now explaining which selector didn't resolve to an element.
    inancgumus committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    b364519 View commit details
    Browse the repository at this point in the history
  9. Refactor page.on to work with any

    page.on only worked with console message, but we will need it to work
    for metric messages too. This change allows us to send any type and
    perform the type check in the handler.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    0c207e1 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c4ce0b8 View commit details
    Browse the repository at this point in the history
  11. Refactor event so that it is exported

    It will need to be used in the page mapping.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    370c156 View commit details
    Browse the repository at this point in the history
  12. Refactor page mapping to work with switch

    Using switch to allow for multiple events.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    1c30981 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2bb8a8f View commit details
    Browse the repository at this point in the history
  14. Add metric event

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    fe9e211 View commit details
    Browse the repository at this point in the history
  15. Add exportedMetric

    This is what the user will receive in the page.on callback for the
    metric event. It's just a skeleton for now.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    5892800 View commit details
    Browse the repository at this point in the history
  16. Add URLGroups type

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    60f7817 View commit details
    Browse the repository at this point in the history
  17. Add metric mapping

    We can now map and return the metric back to the user so that they can
    work with it in the handle.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    f186a27 View commit details
    Browse the repository at this point in the history
  18. Add a grouping func to sobek runtime

    We want to use the regex engine in the sobek runtime which should be
    the same or similar to other JS regex engines. This function will be
    used to work with the user defined regex to group metrics with url
    tags.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    fcd1ea3 View commit details
    Browse the repository at this point in the history
  19. Add a callback to GroupURLTag

    The callback is what will be used to work with the sobek runtime. We
    want to avoid using sobek outside the mapping layer.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    4bc8de3 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    e012605 View commit details
    Browse the repository at this point in the history
  21. Add synchronization and name propagation

    The name needs to be sent back to the caller that needs it. It is done
    via a channel.
    
    When running things on the taskqueue, they are done async. We need to
    make this process synchronous. We're relying on the nameCh (the same
    channel that the name is sent to the caller on) to notify the called
    when the handler has complete.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    49cd0ce View commit details
    Browse the repository at this point in the history
  22. Add function to call the handlers

    This function will call the handlers one by one, allowing each handler
    to check the url matches and return the name. Each handler will
    overwrite the name if multiple handlers match with the given url. This
    function needs to wait for the handler to complete before proceeding to
    the next handler.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    d3110fe View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    d667f02 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    9b6cf06 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    b3c14f5 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    101da13 View commit details
    Browse the repository at this point in the history
  27. Fix lint issue

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    ed26cd9 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    fa20705 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    51197b4 View commit details
    Browse the repository at this point in the history
  30. Update URL and use any instead of interface{}

    Co-authored-by: İnanç Gümüş <inanc.gumus@grafana.com>
    ankur22 and inancgumus committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    745a551 View commit details
    Browse the repository at this point in the history
  31. Refactor to use atomic in TestPageOnMetric

    This makes working with an atomic int more maintainable.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    9974a5b View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    d8c2638 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    431f59e View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    947c4e1 View commit details
    Browse the repository at this point in the history
  35. Refactor how the name is returned back to caller

    Instead of working with goroutines and channels to propagate the name
    back from GroupURLTag, a name field is updated in ExportedMetric. The
    call to the taskqueue is synchronised so when the handler is called we
    can safely wait for it to complete instead of relying on channels and
    contexts to wait for it to complete.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    ec7856f View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    042527b View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    92bf084 View commit details
    Browse the repository at this point in the history
  38. Add comments on test

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    001e8c1 View commit details
    Browse the repository at this point in the history
  39. Rename groups to urls

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    20502bd View commit details
    Browse the repository at this point in the history
  40. Add regexCallback

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    5a25939 View commit details
    Browse the repository at this point in the history
  41. Rename groupURLTag to Tag

    This better represents what is happening. When a match is found, the
    metric is tagged. It is not grouping anything, the grouping is a wanted
    side effect.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    6b91b79 View commit details
    Browse the repository at this point in the history
  42. Rename msg to metric

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    2e9eff5 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    d444108 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    180f911 View commit details
    Browse the repository at this point in the history
  45. Refactor MetricEvent out of loop

    We're now only creating a single MetricEvent for all handlers.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    536ebee View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    0ba709b View commit details
    Browse the repository at this point in the history
  47. Rename type and fields

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    13abc6c View commit details
    Browse the repository at this point in the history
  48. Rename name and nameChanged

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    2ccf482 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    70ccdea View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    fe0f161 View commit details
    Browse the repository at this point in the history
  51. Rename to url from urlTag

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    6fd0811 View commit details
    Browse the repository at this point in the history
  52. Rename val to matched

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    55e61a3 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    67214db View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    1ff7789 View commit details
    Browse the repository at this point in the history
  55. Update args onto new lines

    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    7cbe1b0 View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    94e6971 View commit details
    Browse the repository at this point in the history
  57. Rename the JS fields back to url and name

    Leaving the names as in the go code.
    ankur22 committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    f6dd73c View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Configuration menu
    Copy the full SHA
    40f60ca View commit details
    Browse the repository at this point in the history
  2. Update PostData to work with PostDataEntries

    From some of my testing it would seem that PostDataEntries doesn't
    contain more than a single entry. I've tried with various types of
    request data such as:
    - application/json
    - multipart/related
    - application/x-www-form-urlencoded
    - application/form-data
    
    and so far none of them exhibits a change in behaviour where more than
    one element in PostDataEntries is occupied.
    
    We can work with the 0th entry of PostDataEntries for now until a need
    arises for needing to work with the rest of the slice (i.e. we have a
    better idea of when that happens).
    ankur22 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    4e1fba5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7ed4b00 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. Configuration menu
    Copy the full SHA
    7a4e6e9 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. Fix metric event tag method name

    Mapped methods are lowercase so that we can test them. They're also used
    in JavaScript like so.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    a30af07 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5257878 View commit details
    Browse the repository at this point in the history
  3. Export k6BrowserCheckRegEx

    So that we can use it the mapping test.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    a342f7d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ca24744 View commit details
    Browse the repository at this point in the history
  5. Add mapMetricEvent test

    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    667efa0 View commit details
    Browse the repository at this point in the history
  6. Fix pageon metric example

    JavaScript functions are conventionally lowercase, and since we changed
    Tag to tag from the Go side, we should also rename this script.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    8bf713f View commit details
    Browse the repository at this point in the history
  7. Move k6BrowserRegEx checker to page on mapping

    So that we can get rid of the non-conforming metric mapper. This way, we
    don't have to deal with error handling in other mappers in the test.
    This provides a uniform way.
    
    Also, this is a prior step for the generalization of the page on API.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    ab1c556 View commit details
    Browse the repository at this point in the history
  8. Improve page.on metric namings

    Co-authored-by: Ankur <ankur.agarwal@grafana.com>
    inancgumus and ankur22 committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    ebb1391 View commit details
    Browse the repository at this point in the history
  9. Fix MetricEvent.Tag input

    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    f9d9252 View commit details
    Browse the repository at this point in the history
  10. Add PageOnEvent

    This type contains `page.on` events. Rather than using `any` to describe
    any event, we use a named type to make it explicit what we're using.
    Also, this will eliminate type assertions from the code, making it type
    safe.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    d6fefd3 View commit details
    Browse the repository at this point in the history
  11. Refactor any to PageOnEvent

    We now use a type-safe way to describe and pass events throughout the
    code. We get rid of type assertions. This provides a way to extend the
    type later on with new page on event types.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    ad484b0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    57e1db0 View commit details
    Browse the repository at this point in the history
  13. Rename page.on mapping

    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    b680e2c View commit details
    Browse the repository at this point in the history
  14. Add PageOnEventName for type safety

    This will be used by all page on event names. With this, we won't
    require whether a provided event is valid. The compiler will enforce it
    for us.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    206c2a8 View commit details
    Browse the repository at this point in the history
  15. Use PageOnEvent name

    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    c0042e6 View commit details
    Browse the repository at this point in the history
  16. Remove page on event name check

    This is safe to do so as we will no longer pass a rogue string to this
    method. Only the page on event names can be passed to this function.
    
    Unless, of course, somebody converts a string with an incorrect name to
    PageOnEventName to call this function. This will easily be catched in
    reviews, and nobody would do such a thing. We follow the Go idiom of
    being pragmatic instead of being highly defensive. Also, this method is
    used by the mapping layer, and there is already an event name check.
    inancgumus committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    dab04d6 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    16a650a View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Configuration menu
    Copy the full SHA
    68cff64 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    75647e9 View commit details
    Browse the repository at this point in the history
  3. Move pageOn mapping to a function

    The page on mapping is large and hard to work with while making the
    changes. Putting it into a new function is subjetively more readable and
    makes it easier to work with the function.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    6ddebf9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5489038 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cafed06 View commit details
    Browse the repository at this point in the history
  6. Rename runInTaskQueue to mapHandler

    No need to specify the implementation details that can change. Our main
    goal here is to map the page on event handler to sobek.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    f2528ab View commit details
    Browse the repository at this point in the history
  7. Inline console API mapping closure

    We're uniforming the events.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    5a89562 View commit details
    Browse the repository at this point in the history
  8. Extract page on console

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    be5f3ea View commit details
    Browse the repository at this point in the history
  9. Extract page on metric

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    b5d4c63 View commit details
    Browse the repository at this point in the history
  10. Refactor mapConsoleMessage to PageOnEvent

    This is to uniform all the page on event mappers.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    24e2a25 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8357a7d View commit details
    Browse the repository at this point in the history
  12. Refactor mapConsoleMessage out of sobek

    No need to wrap the return values into sobek ones.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    f08046b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    a786310 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7f99d54 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8833a2f View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    705086c View commit details
    Browse the repository at this point in the history
  17. Rename channel c to done

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    0dee7bc View commit details
    Browse the repository at this point in the history
  18. Rename event to eventName

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    305ec95 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    91ff150 View commit details
    Browse the repository at this point in the history
  20. Add queueHandler to mapPageOn

    This will run any page on event mapper.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    4ffe550 View commit details
    Browse the repository at this point in the history
  21. Refactor page on console

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    46ccf03 View commit details
    Browse the repository at this point in the history
  22. Refactor page on metric

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    17092c4 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    f006807 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    4bafc79 View commit details
    Browse the repository at this point in the history
  25. Move _k6BrowserCheckRegEx

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    76b6cda View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    366f14d View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    c060516 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    0099139 View commit details
    Browse the repository at this point in the history
  29. Use mapPageOn queueHandler

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    7ad8ade View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    06a411f View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    4d254ab View commit details
    Browse the repository at this point in the history
  32. Add prep to pageOnEvents

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    a34d1a2 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    92bf427 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    3ee9039 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    725f825 View commit details
    Browse the repository at this point in the history
  36. Explain mapPageOn behavior

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    5daf078 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    c98da11 View commit details
    Browse the repository at this point in the history
  38. Improve mapPageOn naming

    Co-authored-by: Ankur <ankur.agarwal@grafana.com>
    inancgumus and ankur22 committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    096afd8 View commit details
    Browse the repository at this point in the history
  39. Use pattern directly in k6BrowserCheckRegEx

    Co-authored-by: Ankur <ankur.agarwal@grafana.com>
    inancgumus and ankur22 committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    f757283 View commit details
    Browse the repository at this point in the history
  40. Move page on events closer

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    235fc72 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    427cbbf View commit details
    Browse the repository at this point in the history
  42. Add hasPageOnHandler

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    b6b5921 View commit details
    Browse the repository at this point in the history
  43. Rearrange urlTagName locks

    We need to read lock first to prevent race conditions while looping over
    the handlers. Then, we allow each handler to add a nested handler by
    read unlocking it.
    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    8d83a89 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    346cf13 View commit details
    Browse the repository at this point in the history
  45. Remove unnecessary copying

    inancgumus committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    5bdb2de View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    2cff454 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. Fix memory leak in queue

    When we read off the read queue, we alias the slice. What has been
    forgotten though is to remove the reference to the entry in the slice
    after it has been read. This fixes that by overwriting the entry with a
    new Event. This now allows the GC to pick up the buffered data that the
    event was holding onto.
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    58f9bc3 View commit details
    Browse the repository at this point in the history
  2. Update the name field on page.on metric API

    This moves the name field into the level above. This makes the API less
    confusing and allows us to extend the API to add other fields apart
    from just urls.
    
    We can now read the API as:
    
    * metric.tag
    * with name
    * when urls match
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    e0be11d View commit details
    Browse the repository at this point in the history
  3. Rename urls to matches

    This is a better representation of what we're doing with the fields.
    They are being used to find matches in the existing metric tags that
    are about to be emitted.
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    64bd4cd View commit details
    Browse the repository at this point in the history
  4. Update comment on urlTagName

    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    5e37210 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    280656f View commit details
    Browse the repository at this point in the history
  6. Move the name error check outside for loop

    Since the name field is now one level above, it doesn't need to be in
    the for loop.
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    8eb5683 View commit details
    Browse the repository at this point in the history
  7. Rename userProvidedTagName

    Renaming userProvidedTagName to userProvidedURLTagName since it's
    important to know that the name tag will be used on the url tag.
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    bb53cc6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2700524 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    07055b8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    a509cf1 View commit details
    Browse the repository at this point in the history
  11. Add method on Match type

    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    d14812a View commit details
    Browse the repository at this point in the history
  12. Add method validation

    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    844224c View commit details
    Browse the repository at this point in the history
  13. Add method comparison

    Compares the method from the user vs what the metric was tagged with.
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    9b2c00e View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    def41a9 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    aa5a9c4 View commit details
    Browse the repository at this point in the history
  16. Add a test to showcase incorrect method

    When the incorrect method is used in a Match, the expectation is for
    the test to continue but not match and therefore the urls aren't tagged
    with the name and so aren't grouped.
    ankur22 committed Oct 17, 2024
    Configuration menu
    Copy the full SHA
    b90b48f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    59138b2 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    4802639 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    aedd78e View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. Add context done case

    If the context is done before all the tasks are read from the queue,
    the remaining tasks on the queue will not be read and so the done
    channel will not be closed causing the goroutine to wait forever.
    
    This is solved by adding a context.Done() check so that when the
    context is closed we can carry on with shutting down of the iteration.
    ankur22 committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    67d6dc8 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. Add context done case to waitForEvent

    If the context is done before all the tasks are read from the queue,
    the remaining tasks on the queue will not be read and so the done
    channel will not be closed causing the goroutine to wait forever.
    
    This is solved by adding a context.Done() check so that when the
    context is closed we can carry on with shutting down of the iteration.
    ankur22 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    135e886 View commit details
    Browse the repository at this point in the history
  2. Add a PageOnHandler type

    This will make it simpler to read and maintain the page.on handler
    code.
    ankur22 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    90b8cf7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f332592 View commit details
    Browse the repository at this point in the history
  4. Update page.on handler to return error

    When the context is closed, we should return an error to notify the
    user that not all handlers completed execution.
    ankur22 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    dce4487 View commit details
    Browse the repository at this point in the history
  5. Add error handling on page.on(metric) handler

    The most important thing to do is to handle the error and ensure that
    the page.on metric returns false so that the metric tag isn't update.
    This is being defensive, since the context has already closed and the
    metric emitter will not emit a metric when the context has closed.
    
    We're logging a debug log here since this information will not benefit
    the end user and when this error occurs they can't action on it. It
    could be useful for debugging though.
    ankur22 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    2a04643 View commit details
    Browse the repository at this point in the history
  6. Add err handling to page.on(console)

    Mainly useful for debugging purposes, but otherwise this isn't really
    needed except to ensure we exit asap from the for loop when the
    context has ended and therefore the iteration has ended.
    ankur22 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    18cbe37 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a0fa724 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    37ff724 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    bd99620 View commit details
    Browse the repository at this point in the history
  10. Add BrowserContext.DownloadsPath field

    NewBrowserContext will set this field to the download directory.
    
    Then, we can get it from tests.
    inancgumus committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    b6fb3b0 View commit details
    Browse the repository at this point in the history
  11. Add artifactsDirectory path

    This represents the directory where we will store artifacts like
    downloaded files.
    inancgumus committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    565f70a View commit details
    Browse the repository at this point in the history
  12. Add BrowserContext.setDownloadsPath

    This will be called from NewBrowserContext and the tests.
    
    We use the given path. Otherwise, we're creating a temporary directory
    with the artifactsDirectory prefix.
    inancgumus committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    0b2e27e View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4001f38 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ac0281b View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    b86a59f View commit details
    Browse the repository at this point in the history
  16. Fix setDownloadsPath doc

    inancgumus committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    943c568 View commit details
    Browse the repository at this point in the history
  17. Refactor promise helpers to fix Interrupt with async code

    This changes the promise helpers so after #4017 async code and
    Interrupt will work.
    
    AbortingPromises seems to have not been used at all and just adds
    complexity. And `promises.New()` already does the remaining things
    needed to happen, so this can be merged even without #4017.
    mstoykov authored and ankur22 committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    56449e9 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. Configuration menu
    Copy the full SHA
    a979027 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a1d4bc0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f77f185 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a94dd45 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    53db24d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    44fa0c0 View commit details
    Browse the repository at this point in the history
  7. Fix Geolocation.Accuracy

    Fix the typo in the JSON tag.
    inancgumus committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    173e100 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2303d9c View commit details
    Browse the repository at this point in the history
  9. Desobekify BrowserContextOptionParsing

    Moves the Sobek-dependent option parsing part out of the business logic.
    
    Once we finish, we can entirely remove the Sobek dependency.
    inancgumus committed Nov 5, 2024
    Configuration menu
    Copy the full SHA
    946e4cb View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2024

  1. Add exportTo helper

    inancgumus committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    4773396 View commit details
    Browse the repository at this point in the history
  2. Refactor GrantPermissionOptions parsing to mapping

    - Turns GrantPermissionsOptions to a value type from a pointer as this
      type is not need to be used to be mutated.
    - Moves Sobek transformation to the mapping layer.
    inancgumus committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    ea41b9e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fe02411 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d7bd994 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    25b0fba View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9fddcd9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d39abde View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5836d19 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4634741 View commit details
    Browse the repository at this point in the history
  10. Move SetGeolocation validation into business logic

    Separating the transformation of a Sobek value from the validation of
    it.
    inancgumus committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    17dfb7f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    879dbbb View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    ed1488e View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2a7b64b View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2024

  1. Add CODEOWNERS (#1528)

    Define codeowners for this project to automate the process of assigning code reviewers.
    andrewslotin authored Nov 7, 2024
    Configuration menu
    Copy the full SHA
    c4b86d3 View commit details
    Browse the repository at this point in the history
  2. Migrate to k6 roadmap (#1529)

    * Refer to the public k6 roadmap in the README
    
    * Delete the outdated roadmap
    
    * Update release badge URL
    andrewslotin authored Nov 7, 2024
    Configuration menu
    Copy the full SHA
    7a8ee0c View commit details
    Browse the repository at this point in the history
  3. Fix Sobek.Object.Get(key) *[]any issue

    This was causing the CI tests to fail after an update made to Sobek.
    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    740dac8 View commit details
    Browse the repository at this point in the history
  4. Fix TestKeyboardPress panic

    This only fixes the panic, but not the underlying error with
    WaitForEvent. There is clearly an issue with WaitForEvent as we can
    also see in #1506.
    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    151b982 View commit details
    Browse the repository at this point in the history
  5. Rename to HTTPCredentials

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    3479f77 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    045a6ee View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a3c6f49 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e85e2a8 View commit details
    Browse the repository at this point in the history
  9. Use Credentials as a value type

    No need for this type to be a pointer.
    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    51fe2db View commit details
    Browse the repository at this point in the history
  10. Add Credentials.Empty

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    d745970 View commit details
    Browse the repository at this point in the history
  11. Use Credentials.IsEmpty

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    b58904b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3d4690f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b4edff5 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    598e786 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    306c535 View commit details
    Browse the repository at this point in the history
  16. Rename calculateInset to recalculateInset

    This pattern we use is similar to https://pkg.go.dev/time#Time.Add.
    
    Instead of using a pointer and updating a simple value in place, we
    return a new one.
    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    a987705 View commit details
    Browse the repository at this point in the history
  17. Add Viewport.IsEmpty

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    e990565 View commit details
    Browse the repository at this point in the history
  18. Use Viewport.IsEmpty

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    3726b49 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    74057e0 View commit details
    Browse the repository at this point in the history
  20. Remove Viewport.parse

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    7c9f9c1 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    5100b4a View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    b675030 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    a0a0e05 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    30850f2 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    4b09c5f View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    c11fbad View commit details
    Browse the repository at this point in the history
  27. Refactor keyboard tests

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    be2a913 View commit details
    Browse the repository at this point in the history
  28. Remove NewKeyboardOptions

    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    daace5f View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    147ec11 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    7abe780 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    25ddf95 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    f793eb6 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    2448493 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    287d7a5 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    dbd050f View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    7390743 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    2b3df76 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    a87da04 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    26a9eff View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    7ee71c5 View commit details
    Browse the repository at this point in the history
  41. Rename to DefaultBrowserContextOptions

    NewBrowserContextOptions no longer makes sense.
    DefaultBrowserContextOptions also reads better when we look at the code.
    We can easily tell we're working with the default options, not just a
    new BrowserContextOptions value.
    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    6e8c206 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    5d6121e View commit details
    Browse the repository at this point in the history
  43. Move Geolocation below

    The main type here should BrowserContextOptions.
    inancgumus committed Nov 7, 2024
    Configuration menu
    Copy the full SHA
    a5ba0c4 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2024

  1. Configuration menu
    Copy the full SHA
    946cb18 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2024

  1. Bump (deps): Bump go.k6.io/k6 from 0.54.0 to 0.55.0

    Bumps [go.k6.io/k6](https://github.com/grafana/k6) from 0.54.0 to 0.55.0.
    - [Release notes](https://github.com/grafana/k6/releases)
    - [Commits](v0.54.0...v0.55.0)
    
    ---
    updated-dependencies:
    - dependency-name: go.k6.io/k6
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    dependabot[bot] authored and ankur22 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    e75e6f3 View commit details
    Browse the repository at this point in the history
  2. Refactor waitFor so that it returns a handle

    The fix requires the reuse of waitFor, but it also requires the handle
    value to be returned. This refactors waitFor to return Handle.
    ankur22 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    f381bee View commit details
    Browse the repository at this point in the history
  3. Fix waitForSelector by calling waitFor

    The fix is in waitFor, and waitForSelector just needs to call waitFor
    to enable the fix.
    
    It basically will auto retry up to 20 times when certain errors are
    received from chrome. This can happens when the underlying DOM is
    changing due to a navigation, and the expected element that matches the
    selector is in the newly navigated DOM.
    ankur22 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    1974b8a View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2024

  1. Add 'js/modules/k6/browser/' from commit '1974b8a50abace6dabefd38b363…

    …152804da63b85'
    
    git-subtree-dir: js/modules/k6/browser
    git-subtree-mainline: 0411e28
    git-subtree-split: 1974b8a
    mstoykov committed Nov 13, 2024
    Configuration menu
    Copy the full SHA
    3c906c4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    05fb20e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2b587dd View commit details
    Browse the repository at this point in the history