ActivityLog for Multi Auth guard

In case you have Multi Auth (admin & web) with the 'web' guard as the default one.
ActivityLog cannot detect the logged user (causer) because the guard is different and it cannot detect changes.
Any idea to change the 'default_auth_driver' by the current guard of logged user

Could you PR a fix and a tests to demonstrate and solve the issue?

Hey @freekmurze ,
Is this feature already supported?

For me, the real problem here is, how to decide which guard to choose for which request. I can be authenticated for frontend and backend simultaneously, so both guards (Auth::guard('web') as well as Auth::guard('admin')) are not null.
Therefore I've created a simple ReplaceLogGuard Middleware, which is applied to the admin routes only.
public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard('admin')->check()) {
        Config::set('activitylog.default_auth_driver', 'admin');
    }

    return $next($request);
}

I don't know if this workaround is "clean enough" and applicable to your use case, but I didn't find any shortcomings of this approach in my projects (yet).

@pavoltanuska Thanks for reformulating the problem.

@pavoltanuska Could be me but isn't it a general problem with your app that two guards (session based) could be active at the same time with different users!?
How do you get the current user in other places? Do you everytime hardcode the guard at the place where you need the user?
For me this sounds more like a problem with your auth process - yes it would be nice to change the guard on the fly but I think that it just should use the current active guard and you change your default/active one in the laravel auth/guard.

@Gummibeer you may be right, but is it really a problem to use two (or more) session based guards at the same time? Honest question, I really don't know and didn't come accross any problems with this approach yet (and I don't think of this specific issue as a problem, since I've found a solution).
Generally, I have two sets of "user" entities (separate DB tables, models, guards etc.) - User and Admin.

Do you everytime hardcode the guard at the place where you need the user?

Depends on what would you call "hardcoding". For frontend I use the default Laravel's guard (so no hardcoding here), for "backend" (admin panel, e.g. everything behind https://www.example.com/admin/* routes) I use a separate admins guard.
I've taken multiple approaches to this in the past:

making a specific AdminAuth class
creating a config value for the admin guard (therefore using it like Auth::guard(config('admin.guard'))) - I'm more inclined to use this approach in my projects currently.

If you would call these approaches as "hardcoding", then yes, I'm hardcoding the guard.
Would you prefer to implement an admin role (even if you don't use roles for anything else)? Or would you just add some kind of "is_admin" column to the users' DB table?
I'm using the same admin package in multiple projects, whether I have some kind of "normal" (session based) frontend or just an API for a SPA. And this approach allows me to change as little things as possible in each project's configuration etc.
What are your thoughts? (sorry for such a long comment, I'm honestly interested in a second opinion, whether my approach is correct or not)

My first problem would be that you just can have one session as a user at the same time. So I have no idea how you've managed to differ the two sessions and user-pools.
The next one: isn't an admin just a user with higher privileges!?
https://laravel.com/docs/5.5/authorization
My problems/thoughts:
two user bases/tables
put them in one table with a column is_admin or an extra roles or privilegs or whatever table.
https://laravel.com/docs/5.5/authorization
two session based guards
related to the two tables

Guards define how users are authenticated for each request. For example, Laravel ships with a session guard which maintains state using session storage and cookies.
https://laravel.com/docs/5.5/authentication

define the guard everytime you use it
it would be better to define the default guard in a middleware, route file or so to be able to use Auth::user() without a specific guard.
http://mattallan.org/2016/setting-the-guard-per-route-in-laravel/
For me it feels wrong/dirty in all. How to solve it depends a lot on your situation, used, packages, time, needs and so on. Some ideas in the list.
If you want to keep this database structure it would be an idea to use a subdomain or route group to define for all these another guard. If you keep two session guards in one app it should be save that they will never conflict each other - I never had this situation so these are just ideas:

what happens if the user logs out - does the admin also
do they have the same session-id
what happens if you set a session value for the user is it also available for the admin - flash messages for example

The cleanest solution, in my opinion, would be to have one user table with all users/admins and one session guard. After this you can add a middleware admin and add a method on the user model isAdmin() or whatever you want.
A second thing: in most cases it doesn't cost you much work but saves you a lot of time later to use Policies from the start and as modular as possible (create, update, list, show, delete for every model e.g.) and if you don't have a permission system atm just return hard true or $user-isAdmin() but if you want to implement a permission system later you just have to adjust the policies and don't touch all the controllers, form-requests and so on.

We're using the same multi-auth approach @pavoltanuska in our CMS at spatie: github.com/spatie/blender. 2 tables, 2 guards, 2 sessions and that works out alright. (You can use the auth middleware with a guard parameter: https://laravel.com/docs/5.5/authentication#protecting-routes)
To get back to the main issue; @pavoltanuska ReplaceLogGuard middleware is a nice solution for now. A better solution might be to add a causedBy to the event logging code here: https://github.com/spatie/laravel-activitylog/blob/bded09c8f6c15c611b53a3e4be2944b6194f1a36/src/Traits/LogsActivity.php#L34-L38
Feel free to open a tested PR for this :)

a continue to @pavoltanuska  solution, here is a one solution fits all
 public function handle(Request $request, Closure $next)
{
    $list = array_keys(config('auth.guards'));

    foreach ($list as $guard) {
        if (auth($guard)->check()) {
            config(['activitylog.default_auth_driver' => $guard]);
        }
    }

    return $next($request);
}

and append it to web group


name_sequence_multi not properly initialized when genpoly API is used.

When GenPoly ParseArgs is used referencing the "-sequence" file, name_sequence_multi is not initialized. This is probably due to the fact that ReadSequence is only executed in main() which is not used in API mode. I think it's something simple to fix, but I believe you have a proposal for a better solution.

Thanks again Reginaldo for catching this bug.
Although this is not what I want people to do, I should fix this bug.
I should probably move all of that code for reading files from main() into GenPoly.ParseArgs().
Meanwhile, I suggest setting the "name_sequence_multi" member manually.  That way, you can avoid having to use the file system.  Here is an example from the test_genpoly_lt.py file:
gp.name_sequence_multi =[['AT', 'CG', 'GC', 'TA', 'AT', 'CG', 'GC', 'TA',
                          'AT', 'CG', 'GC', 'TA', 'AT', 'CG', 'GC', 'TA',
                          'AT', 'CG', 'GC', 'TA', 'AT']]

(Note: The "name_sequence_multi" member is a list-of-lists-of-strings.  One list-of-strings per polymer.  In this example, there is only one polymer.)  This is a way to avoid this problem.
I hope this helps.
When I fix the bug and/or change the documentation, I will close this issue.
Thanks again
Andrew

I think this has been fixed now in commit fb8eeb5, but I admit that I haven't tested the resulting behavior very thoroughly.  Let me know if you run into any more difficulties with genpoly_lt.py.  Thanks again for reporting this.
-Andrew

I'll run tests with my usage and give you some feedback. Thank you so much!

Closing again.  Thanks again for your help today.


Error loading image at a specific width.

This URL with a width of 300 doesn't work.
https://images.weserv.nl/?url=www.islandviewpta.org/uploads/gratitude.jpeg&w=300
I get the following error message.
{"status":"error","code":404,"message":"The requested URL returned error: 404"}
If I change the width value to anything other than 300 it loads the image.  Seems the error only applies to that specific width value.

We experience the same issue with some links. By the way: Your url is working currently.

Sorry for the delay in response, but it looks like this was a temporary issue.

It's happened before on other images too, but I'll close this case for now.


[Bug] Page size select dropdown not disapper after select

Here is my code
const { userList, loading, sizePerPage } = this.state;

    const options = {
      paginationSize: 4,
      pageStartIndex: 0,
      // alwaysShowAllBtns: true, // Always show next and previous button
      // withFirstAndLast: false, // Hide the going to First and Last page button
      // hideSizePerPage: true, // Hide the sizePerPage dropdown always
      // hidePageListOnlyOnePage: true, // Hide the pagination list when only one page
      firstPageText: "First",
      prePageText: "Back",
      nextPageText: "Next",
      lastPageText: "Last",
      nextPageTitle: "First page",
      prePageTitle: "Pre page",
      firstPageTitle: "Next page",
      lastPageTitle: "Last page",
      sizePerPageList: [
        {
          text: "1",
          value: 1
        },
        {
          text: "2",
          value: 2
        },
        {
          text: "All",
          value: userList.length
        }
      ]
    };

    const columns = [
      {
        dataField: "userName",
        text: "UserName",
        sort: true
      },
      {
        dataField: "email",
        text: "Email",
        sort: true
      },
      {
        dataField: "emailConfirmed",
        text: "Email Confirmed",
        sort: true
      },
      {
        dataField: "roles",
        text: "Roles"
      }
    ];
    return (
      <BootstrapTable
        noDataIndication="Table is Empty"
        classes="table text-center table-sm table-hover table-bordered table-striped table-dark"
        keyField="userId"
        data={userList}
        loading={loading}
        totalSize={userList.length}
        sizePerPage={sizePerPage}
        columns={columns}
        pagination={paginationFactory(options)}
        overlay={overlayFactory({
          spinner: true,
          background: "rgba(192,192,192,0.3)"
        })}
      />

@AllenFang please take a look

Hi @ngohungphuc:
Did you select Bootstrap 4? If you do, we're really sorry that we haven't supported bootstrap4. We will implement ASAP.

if you want i can help to migrate bootstrap v4 for this issue. Not sure about you guys milestone

Hi @ngohungphuc:
Currently we has been working on it. Take the roadmap for reference, it's in the near future. We'll try our best to finish ASAP.

This is duplicated for #251. Let's close this and continue our conversation on #251. Thanks :)


bugfix for using multiple axes in region plots

Please confirm that this PR has done the following:

[ ] Tests Added
[ ] Documentation Added
[ ] Description in RELEASE_NOTES.md Added

Adding to RELEASE_NOTES.md
Please add a single line in the release notes similar to the following:
- (#XX)[http://link-to-pr.com] Added feature which does something

g2g @danielhuppmann

lgtm


scandir_windows.go should use faster code

HELP WANTED
If anyone has the knowledge and the cycles to figure out how to more quickly read a file system directory in Windows, I'd love to hear from you, whether it's a PR, or a link to some document I can read to learn more.

After merging #38, it's not readdir_windows.go that would need faster code, but rather scandir_windows.go.
Right now, scandir_windows.go reads a single directory entry from an open file system handle.
There may even be advantages from reading more than a single entry, and if there are, then reading a block of entries into a structure field slice, and enumerating them on each call to Scan might perform better. In such a case, when the structure field has no more items, the Scan code would attempt to read more entries, and eventually run out of entries.

First of all thank you for this project, the behaviour of filepath.Walk on Windows has been driving me up the wall.
I think you are spot on when you say

There may even be advantages from reading more than a single entry

You can potentially reduce the enumeration to a single system call in many cases, but it depends on how low level you are happy to go.
You could use the API NtQueryDirectoryFile which is exposed in ntdll.dll. You can use this API to enumerate a full directory in one go, even allowing for filtering with wildcards.
I am currently using this API as part of a project to enumerate the named pipes on Windows (since named pipes are exposed just like a normal filesystem with directories and files) and it works very well.
I should note, that although this API is only officially documented for Kernel mode (see ZwQueryDirectoryFile) the Nt version is just a User mode wrapper and has been available in Windows since XP. I have tested the use of this function on every version of Windows from XP to 10 (build 1909) and have found no issues whatsoever. As it has stayed the same for more than two decades now I would not expect Microsoft to make any breaking changes to it in the foreseeable future.
The prototype for the function I am using looks like this:
import (
	"syscall"
	"unsafe"

	"golang.org/x/sys/windows"
)

type (
	FILE_DIRECTORY_INFORMATION struct {
		NextEntryOffset uint32
		FileIndex       uint32
		CreationTime    uint64
		LastAccessTime  uint64
		LastWriteTime   uint64
		ChangeTime      uint64
		EndOfFile       uint64
		AllocationSize  uint64
		FileAttributes  uint32
		FileNameLength  uint32
		FileName        [1]uint16
	}

	FILE_NAMES_INFORMATION struct {
		NextEntryOffset uint32
		FileIndex       uint32
		FileNameLength  uint32
		FileName        [1]uint16
	}

	UNICODE_STRING struct {
		Length    uint16
		MaxLangth uint16
		Buffer    uintptr
	}

	IO_STATUS_BLOCK struct {
		StatusPointer uintptr
		Information   uintptr
	}
)

var (
	modntdll = windows.NewLazySystemDLL("ntdll.dll")
	procNtQueryDirectoryFile = modntdll.NewProc("NtQueryDirectoryFile")
)

const (
	STATUS_NO_MORE_FILES = syscall.Errno(0x80000006)

	FileDirectoryInformation = uint32(1)
	FileNamesInformation = uint32(12)
)

func NtQueryDirectoryFile(hFile syscall.Handle, hEvent syscall.Handle, apcRoutine uintptr,
	apcContext uintptr, ioStatusBlock *IO_STATUS_BLOCK, finfo uintptr, length uint32,
	fiClass uint32, singleEntry uint32, fname *UNICODE_STRING, restart uint32) error {
	r1, _, _ := syscall.Syscall12(
		procNtQueryDirectoryFile.Addr(),
		11,
		uintptr(hFile),
		uintptr(hEvent),
		apcRoutine,
		apcContext,
		uintptr(unsafe.Pointer(ioStatusBlock)),
		finfo,
		uintptr(length),
		uintptr(fiClass),
		uintptr(singleEntry),
		uintptr(unsafe.Pointer(fname)),
		uintptr(restart),
		0,
	)
	if r1 != 0 {
		return syscall.Errno(r1)
	}
	return nil
}

Note: You can remove the dependency on x/sys/windows by using syscall.NewLazyDll. The only reason to use windows.NewLazySystemDLL is because it restricts the paths the OS will load the DLL from, ensuring that the system copy is used and not a malicious DLL with the same name placed in the OS search path. This advantage is probably irrelevant to ntdll.dll since it is automatically loaded into every process and so there is no risk of loading an incorrect version here.
You can call it in a loop until you get an error code of STATUS_NO_MORE_FILES. If you provide it with a relatively large buffer then you have a good chance of getting all of the information in one go.
I think the loop would look something like this (pulled out from a test project):
var status IO_STATUS_BLOCK
buf := make([]byte, 1024*64)
for {
	err = NtQueryDirectoryFile(
		hFile,
		0,
		0,
		0,
		&status,
		uintptr(unsafe.Pointer(&buf[0])),
		1024*64,
		FileDirectoryInformation,
		0,
		nil,
		0,
	)
	if err != nil {
		if err.(syscall.Errno) == STATUS_NO_MORE_FILES {
			break
		} else {
			panic(err)
		}
	}
	if status.Information == 0 {
		panic("no data")
	}
	var offset uint32
	fdi := (*FILE_DIRECTORY_INFORMATION)(unsafe.Pointer(&buf[0]))
	for { //Walk the returned buffer
		var name []uint16
		var sname string
		var file FileInformation
		if fdi.FileNameLength > 0 {
			//Convert the variable length field FileName to a slice so it can be passed to UTF16ToString
			h := (*reflect.SliceHeader)(unsafe.Pointer(&name))
			h.Data = uintptr(unsafe.Pointer(&fdi.FileName[0]))
			h.Len = int(fdi.FileNameLength) / 2
			h.Cap = h.Len
			sname = syscall.UTF16ToString(name)
		}
		file.Name = sname
		file.Size = int32(fdi.AllocationSize)

		output = append(output, &file)

		offset += fdi.NextEntryOffset
		if fdi.NextEntryOffset == 0 || offset > uint32(status.Information) {
			break
		}
		fdi = (*FILE_DIRECTORY_INFORMATION)(unsafe.Pointer(&buf[offset]))
	}
}

Note: This example is using FileDirectoryInformation as the information type and so we recieve a buffer of FILE_DIRECTORY_INFORMATION structures. However, if the file name is the ONLY piece of information required the call to NtQueryDirectoryFile could be changed to use FileNamesInformation which returns an array of FILE_NAMES_INFORMATION structures and should be slightly quicker.
The output variable in this example would be a storage buffer for Scan to read the information from.
Scan could be implemented such that it reads from the storage buffer unless it is empty, in which case it makes a single call to NtQueryDirectoryFile. If the call returns STATUS_NO_MORE_FILES  then Scan would return false as there are no more items to be read, otherwise it would repopulate the storage buffer with the returned data and allow you to keep iterating.
In theory this should be the fastest possible way to enumerate a directory on Windows as it bypasses the overhead added by both the Go standard library and the FindFirstFile/FindNextFile APIs by going directly to the root data source in the Nt API.
If this is not going too low level I'd be happy to try putting together a PR using this approach, although time is a little tight right now so I probably won't be able to do it right away.


[REFACTOR] - Use relative positioning instead of absolute positioning in the extension UI

Summary
Many components in the extension UI currently uses absolute positioning. This means additions to the UI in the future will be difficult and more manual. I imagine one would need to use a "trial-and-error" approach on the pixel positioning of the new component.
This may not have been a problem in the past as the design has remained relatively constant. There also has been no need to support different screen sizes because the extension pop-up dimensions is fixed.
Benefits

Better control over padding/margin values
Improve modifiability, such as adding new UI components
Improve readability - it is easier to tell where things should appear in the pop-up just by looking at the code
Incorrect positioning (e.g. off-by-one pixel) may be discovered and fixed during the refactoring

Drawbacks

It will take some time to decide on which CSS properties to use (it is more straightforward/easier to just add top/left properties)
It is hard to write tests for this as we would need to test if the UI components are still in the same place when rendered. There is the option of snapshot testing, but this might be out of scope for this last assignment (we are only required to create tests for functional changes).

Approved


using the ground_truth augmentation with pytorch

Hey!
The new feature that allows using the same augmentations for the images and their corresponding ground-truth is great, I am trying to use it with the pytorch transform.
The problem is that the transform receives only one image as input, is there a way to use this feature with the pytorch transform?
Thank's

+1

+1


[GHSA-mc52-jpm2-cqh6] Deno is vulnerable to race condition via interactive permission prompt spoofing

Updates

Affected products

Comments
Make the affected product versions SemVer compliant and match the actual package version: https://crates.io/crates/deno/1.9.0

Hi there @bartlomieju! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory


Overflow handling?

Hello,
Just asking about the best way to handle passing a lot of files that can't fit a single sheet.
Thanks

sorry for late reply, I was on vacation.
yes I'll be adding this feature soon.

Thanks septag, I hope you enjoyed it.


Headings are too close to header

The h1 appears too close to the header.

This doesn't work…

Free price web hosting.

…but this does!?

Free price web hosting.

Yes I noticed the same bug.
I also noticed since the section updates, you do not need any style on the first h1 anymore.
Removing styles do fix the issue.
Thanks for your lecture.

Oh, you are right @fabienwang! This worked great for me. :+1:


OpenDevice give undefined result

The following code should work but it returns undefined for result. what would be a compatible es5 function since the example is uing es6 arrow functions?
cordova.plugins.SerialPortPlugin.openDevice([{dev:'/dev/ttyS8',baudrate:9600, flags:0, isHex:false}],
(function (result) {
return alert("result");
})(),
(function (error) {
return alert("error");
})()
);

Sorry, have you solved this problem?


(np) fix for empty "from" filed networkpolicy

while np contains multi rules, and some rules only has ports filed, this rule will be skipped.

#610 same bug exists in egress rules "to" field, can you fix it together

see new pr https://github.com/alauda/kube-ovn/pull/613


Security: Upgrade aiohttp to version 3.7.4 or later

See details from alert:
https://github.com/AD-SDL/adc-rdm-sdk/security/dependabot/requirements.txt/aiohttp/open

I marked the alert as "Risk is tolerable to this project".
The alert states that it is specifically related to maliciously crafted urls, but we are the ones defining the URLs used for this project so it should not affect us for now.


Deprecated library distutils

Hello @nickjj,
Thank you so much for sharing this repository with the community.
When cloning your repo locally, I noticed that distutils is not included in the latest versions of Python.

Do you have any alternatives in mind?
Thanks again for your work.

Docker recently removed this package from their Python image, that's how it was available previously.
I explicitly added it in this commit: https://github.com/nickjj/docker-flask-example/commit/ba0e05f3f91f71080fffba95a8880b9f22cce058


Update mei-board members for 2023

This is still a draft, especially as @annplaksin and @musicog still should review their affiliations, AND of course it should only be merged after 2022

@musicEnfanthen please merge if appropriate.


Add left sidebar to Works page where logged-in user manages their work(s)

Per https://github.com/projecthydra-labs/hyrax/issues/441

@ggeisler as this user is not an admin, should the breadcrumbs say "Administration" here?

@jcoyne I discussed a similar question with @ggeisler recently. The answer is yes: "Administration" in this context is about function, not meant to be used in the UI only for explicitly admin (or manager) roles. Logged-in users (eg Depositors) who are not Repository Administrators have tasks that are administrative and content management-y in nature, and this is the best overarching term we could come up with for the navigation. Note that #441 describes how "Administration" is the term used in the upper right menu for a user to navigate to this page. Do you have suggestions for a different term to use for this section of the site?


chore: update dependencies

chore: update dependencies

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

v1.0.8
GitHub release

Your semantic-release bot :package::rocket:


[WIP] First Draft of OPEA Triage Tool

Description
To help customers debug OPEA issues, we create a Triage Tool to test and gather needed information for debugging.
For the first draft, it is for ChatQnA.
How to Use:
python Triage.py ChatQnA_Xeon.json
only need to change json file for different architectures like Gaudi
The Triage Tools will run some simple tests including:

health_check
micorservice testings
statistics

Below information will be gather after above testings

system info
env variable info
all docker logs for microservices
(optional) profiling results like vllm pytorch profiling

Report:
plan to have a HTML report.
Right now we have

simple console output
simple html report with all docker logs embedded

console output
Below is the screenshot for console output.

html report with all docker logs embedded

Other info:

all input, output, port configurations are in data.json file. no need to change codes for configurations and data
each example will be implemented as a seperate python class

ToDo:

need to make html report better
make sure all microservices are tested on both Xeon and Gaudi
move files into right folder
apply to all examples

Issues
n/a.
Type of change
List the type of change like below. Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[ ] Others (enhancement, documentation, validation, etc.)

Dependencies
NA
Tests
Manual Testing

a sample report zip file
ChatQnA_Xeon.json_11-25_06-34.zip

[ToDo] : understand whether we need debug RESTful API request here or using Telemetery

@louie-tsai
This feature is useful!
Will you check the CI failure?
I will push development team to review it.


Refactored code with changing variable names and extracting methods to increase modularization and better understandability

Hi, I have made some refactoring related to a few of the files where I have changed some variable names and extracted a few methods for more modularization, and followed SOLID principles.
I have also raised an issue which I faced while maven clean installing this project, hence, I have commented a few things out to make the project build successfully.
Do check it out and let me know.

Hey, thanks. I like the changes. Question, though: why did you comment out those assertions and tests?

Hi,
I have rolled back on the assertions and tests.
Please have a review and let me know for further changes.


stop testing with httpx-0.12, as it doesn't use httpcore

this breaks distributed tracing, and it would be too much
work getting it to work on legacy libraries.

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1141 opened

Start Time: 2021-05-28T11:32:33.160+0000

Duration: 30 min 59 sec

Commit: 65da0cfdbade37d6a941e1be02fcaabea8e0fce9

Test stats :test_tube:

Test
Results

Failed
2

Passed
9420

Skipped
8443

Total
17865

Trends :test_tube:

Test errors
Expand to view the tests failures
Initializing / Test / Python-python-3.8-4 / test_publish_subscribe – tests.instrumentation.asyncio_tests.aioredis_tests

Expand to view the error details
 AssertionError: assert {'PUBLISH', '...sh_subscribe'} == {'PUBLISH', '...sh_subscribe'}
  Extra items in the right set:
  'SUBSCRIBE'
  Full diff:
  - {'PUBLISH', 'SUBSCRIBE', 'test_publish_subscribe'}
  ?            -------------
  + {'PUBLISH', 'test_publish_subscribe'}

Expand to view the stacktrace
 instrument = None
elasticapm_client = <tests.fixtures.TempStoreClient object at 0x7feef4b50880>
redis_conn = <Redis <ConnectionsPool [db:0, size:[1:10], free:0]>>

    @pytest.mark.integrationtest
    async def test_publish_subscribe(instrument, elasticapm_client, redis_conn):
        elasticapm_client.begin_transaction("transaction.test")
        with capture_span("test_publish_subscribe", "test"):
            # publish
            await redis_conn.publish("mykey", "a")

            #subscribe
            await redis_conn.subscribe("mykey")

        elasticapm_client.end_transaction("MyView")

        transactions = elasticapm_client.events[TRANSACTION]
        spans = elasticapm_client.spans_for_transaction(transactions[0])

        expected_signatures = {"test_publish_subscribe", "PUBLISH", "SUBSCRIBE"}

>       assert {t["name"] for t in spans} == expected_signatures
E       AssertionError: assert {'PUBLISH', '...sh_subscribe'} == {'PUBLISH', '...sh_subscribe'}
E         Extra items in the right set:
E         'SUBSCRIBE'
E         Full diff:
E         - {'PUBLISH', 'SUBSCRIBE', 'test_publish_subscribe'}
E         ?            -------------
E         + {'PUBLISH', 'test_publish_subscribe'}

tests/instrumentation/asyncio_tests/aioredis_tests.py:145: AssertionError

Initializing / Test / Python-python-3.7-4 / test_publish_subscribe – tests.instrumentation.asyncio_tests.aioredis_tests

Expand to view the error details
 AssertionError: assert {'PUBLISH', '...sh_subscribe'} == {'PUBLISH', '...sh_subscribe'}
  Extra items in the right set:
  'SUBSCRIBE'
  Full diff:
  - {'test_publish_subscribe', 'PUBLISH', 'SUBSCRIBE'}
  ?                                     -------------
  + {'test_publish_subscribe', 'PUBLISH'}

Expand to view the stacktrace
 instrument = None
elasticapm_client = <tests.fixtures.TempStoreClient object at 0x7ff8ba773a90>
redis_conn = <Redis <ConnectionsPool [db:0, size:[1:10], free:0]>>

    @pytest.mark.integrationtest
    async def test_publish_subscribe(instrument, elasticapm_client, redis_conn):
        elasticapm_client.begin_transaction("transaction.test")
        with capture_span("test_publish_subscribe", "test"):
            # publish
            await redis_conn.publish("mykey", "a")

            #subscribe
            await redis_conn.subscribe("mykey")

        elasticapm_client.end_transaction("MyView")

        transactions = elasticapm_client.events[TRANSACTION]
        spans = elasticapm_client.spans_for_transaction(transactions[0])

        expected_signatures = {"test_publish_subscribe", "PUBLISH", "SUBSCRIBE"}

>       assert {t["name"] for t in spans} == expected_signatures
E       AssertionError: assert {'PUBLISH', '...sh_subscribe'} == {'PUBLISH', '...sh_subscribe'}
E         Extra items in the right set:
E         'SUBSCRIBE'
E         Full diff:
E         - {'test_publish_subscribe', 'PUBLISH', 'SUBSCRIBE'}
E         ?                                     -------------
E         + {'test_publish_subscribe', 'PUBLISH'}

tests/instrumentation/asyncio_tests/aioredis_tests.py:145: AssertionError

Steps errors
Expand to view the steps failures

Show only the first 10 steps failures

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.7-elasticsearch-2

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.7-gevent-newest

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.7-aiopg-newest

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.7-graphene-2

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.8-elasticsearch-2

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.8-gevent-newest

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.8-aiopg-newest

Restore files previously stashed

Took 0 min 0 sec . View more details on here
Description: coverage-python-3.8-graphene-2

Archive the artifacts

Took 0 min 0 sec . View more details on here
Description: [2021-05-28T12:02:28.435Z] Archiving artifacts
Python-python-3.8-aioredis-newest tests failed : hud

Error signal

Took 0 min 0 sec . View more details on here
Description: Python-python-3.7-aioredis-newest tests failed : hudson.AbortException: script returned exit code 2

Log output
Expand to view the last 100 lines of log output

[2021-05-28T12:01:52.341Z] + python3 -m coverage combine
[2021-05-28T12:02:24.794Z] + python3 -m coverage xml
[2021-05-28T12:02:27.370Z] [Cobertura] Skipping Cobertura coverage report as build was not SUCCESS or better ...
[2021-05-28T12:02:27.370Z]
[2021-05-28T12:02:27.829Z] + curl -sLO https://code.jquery.com/jquery-3.3.1.slim.min.js
[2021-05-28T12:02:28.139Z] + curl -sLO<EMAIL_ADDRESS>[2021-05-28T12:02:28.435Z] Archiving artifacts
[2021-05-28T12:02:28.673Z] Stage "Building packages" skipped due to earlier failure(s)
[2021-05-28T12:02:28.802Z] Stage "Integration Tests" skipped due to earlier failure(s)
[2021-05-28T12:02:28.926Z] Stage "Benchmarks" skipped due to earlier failure(s)
[2021-05-28T12:02:29.188Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2021-05-28T12:02:29.237Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2021-05-28T12:02:29.354Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2021-05-28T12:02:29.466Z] Stage "Prepare Release" skipped due to earlier failure(s)
[2021-05-28T12:02:30.667Z] Running on Jenkins in /var/lib/jenkins/workspace/hon_apm-agent-python-mbp_PR-1141
[2021-05-28T12:02:30.994Z] [INFO] getVaultSecret: Getting secrets
[2021-05-28T12:02:31.069Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2021-05-28T12:02:32.197Z] + chmod 755 generate-build-data.sh
[2021-05-28T12:02:32.197Z] + ./generate-build-data.sh https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-1141/ https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-1141/runs/1 FAILURE 1798761
[2021-05-28T12:02:32.197Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-1141/runs/1/steps/?limit=10000 -o steps-info.json
[2021-05-28T12:02:37.392Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-1141/runs/1/tests/?status=FAILED -o tests-errors.json

:bug: Flaky test report
:grey_exclamation: There are test failures but not known flaky tests.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
2

Passed
9420

Skipped
8443

Total
17865

Genuine test errors
:broken_heart: There are test failures but not known flaky tests, most likely a genuine test failure.

Name: Initializing / Test / Python-python-3.8-4 / test_publish_subscribe – tests.instrumentation.asyncio_tests.aioredis_tests
Name: Initializing / Test / Python-python-3.7-4 / test_publish_subscribe – tests.instrumentation.asyncio_tests.aioredis_tests


⚠ Bofrost.de has degraded performance

In 2b2a453, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 912 ms

Resolved: Bofrost.de performance has improved in ff124f5.


[AutoRelease] t2-graphservices-2023-05-26-38595(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4199
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=6041

issue link:https://github.com/Azure/sdk-release-request/issues/4199


Pin sphinx version (fix for current docs build errors)

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

What does this PR do?
Fixes docs build error currently seen on master and in #1379, #1377
Was also suggested by @jeremyjordan
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@Borda looks like github action is running sphinx 2.2, so 2.4 is too high?


Unable to create a branch for pull request

Following your instructions I found there is no way to create a branch in order to do a Pull Request.  Here are a couple of changes that would allow the user to load a webmap from servers other than arcgis.com.  Also, it handles passing in a token for access to secure content.
WebMapLoader.zip

Thank you for your report :smile:
I will add a section to create a topic branch for changes into our instructions later!

Fork and clone L.esri.WebMap
cd into the L.esri.WebMap folder
Install the dependencies with npm install
Run npm start from the command line. This will compile minified source in a brand new dist directory, launch a tiny webserver and begin watching the raw source for changes
Run npm lint to improve the code that you have added or updated
Make your changes in its own topic branch and create a pull request


[GoRouter] GoError (GoError: The parent route must be a page route to have a GoRouterState)

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
I am trying to get the page location in a dialog but after upgrading from 8.0.1 to 10.0.0 that doesn't work.
  await showDialog(
    context: context,
    builder: (context) => MyDialog( ),
  );

before:
class MyDialog extends StatelessWidget {
  const MyDialog({super.key});

  @override
  Widget build(BuildContext context) {
    final isTemplatesScreen = GoRouter.of(context).location == '/templates'; <- worked
    return ...
  }
}

after :
class MyDialog extends StatelessWidget {
  const MyDialog({super.key});

  @override
  Widget build(BuildContext context) {
    final isTemplatesScreen = GoRouterState.of(context).uri.toString() == '/templates'; <- does not work, throws the above error
    return const Placeholder();
  }
}

Expected results
I was expecting to be able to get the location from the dialog context like before or at least have a migration guide for that.
Actual results
GoError (GoError: The parent route must be a page route to have a GoRouterState)
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.10.6, on Microsoft Windows [Version 10.0.19045.3208], locale de-DE)
    • Flutter version 3.10.6 on channel stable at C:\Users\Wizzel\fvm\versions\3.10.6
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (11 days ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at C:\Users\Wizzel\AppData\Local\Android\sdk
    • Platform android-32, build-tools 32.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31911.196
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2020.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] VS Code (version 1.80.1)
    • VS Code at C:\Users\Wizzel\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.68.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.3208]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 114.0.5735.248
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 114.0.1823.79

[√] Network resources
    • All expected network resources are available.

• No issues found!

Thanks for the report. Reproduced this issue on the latest package version go_router: ^10.0.0.

Complete sample code
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

/// This sample app shows an app with two screens.
///
/// The first route '/' is mapped to [HomeScreen], and the second route
/// '/details' is mapped to [DetailsScreen].
///
/// The buttons use context.go() to navigate to each destination. On mobile
/// devices, each destination is deep-linkable and on the web, can be navigated
/// to using the address bar.
void main() => runApp(const MyApp());

/// The route configuration.
final GoRouter _router = GoRouter(
  routes: <RouteBase>[
    GoRoute(
      path: '/',
      builder: (BuildContext context, GoRouterState state) {
        return const HomeScreen();
      },
    ),
  ],
);

/// The main app.
class MyApp extends StatelessWidget {
  /// Constructs a [MyApp]
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: _router,
    );
  }
}

/// The home screen
class HomeScreen extends StatelessWidget {
  /// Constructs a [HomeScreen]
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Home Screen')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              onPressed: () async {
                await showDialog(
                  context: context,
                  builder: (context) => MyDialog(),
                );
              },
              child: const Text('Go to the Details screen'),
            ),
          ],
        ),
      ),
    );
  }
}

class MyDialog extends StatelessWidget {
  const MyDialog({super.key});

  @override
  Widget build(BuildContext context) {
    final loc = GoRouterState.of(context).uri.toString();
    print('loc: $loc');
    return const Placeholder();
  }
}

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.10.6 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (5 hours ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.80.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.68.0

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.13.0-8.0.pre.61, on macOS 13.4.1 22F770820d darwin-x64, locale en-VN)
    • Flutter version 3.13.0-8.0.pre.61 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2b9ec67e8c (29 minutes ago), 2023-07-23 22:55:23 -0400
    • Engine revision 35eab1bcf3
    • Dart version 3.1.0 (build 3.1.0-333.0.dev)
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.80.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.68.0

[✓] Connected device (3 available)
    • iPhone (mobile) • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop) • macos                                    • darwin-x64     • macOS 13.4.1 22F770820d darwin-x64
    • Chrome (web)    • chrome                                   • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

This should be solved by https://github.com/flutter/flutter/issues/129833
also you can work around this by passing the location to MyDialog instead.


[Addressbook]Update description for import csv dialog with chainID colummn

Title/Description
The csv file contains 3 columns but the info on the import window describes only 2
Environment

Browser: Chrome
Safe: 0x1230B3d59858296A31053C1b8562Ecf89A2f888b
Wallet: MM
App Version: 3.7.0
Environment:

PR # https://pr2280--safereact.review.gnosisdev.com/rinkeby/app/#/safes/0x1230B3d59858296A31053C1b8562Ecf89A2f888b/address-book

Steps to reproduce

Go to 'Addressbooks
Click on Import
Current result: the csv description contains only "Address" and "Name" , but the actual file ( exported csv) contains also chainid

Expected result
Add info about chainid to the csv description
Screenshots

closed, as no actual. the text about csv file was replaced by the general text


SendCommandEvent has no CommandSource reference

As the title states, in SendCommandEvent there is no reference to the CommandSource

Because the CommandSource is in the Cause under NamedCause.SOURCE.


cmd/go: deprecate installing binaries using 'go get' in Go 1.17 and make 'go get -d' the default behavior

Proposal #40276 added a versioned go install variant that works outside of a module.
As part of the changes approved in that proposal, we plan to deprecate the use of the go get to install binaries, and make go get -d (which downloads source code for but does not build the requested packages) the default behavior.
We had planned to warn about the use of go get to install binaries in Go 1.16 and make it the default in Go 1.17. However, in #42885 we decided to also delay the warning until Go 1.17, so that third-party projects that support the most recent two major Go releases (as the Go project itself does) can give users a single non-deprecated install command, rather than a confusing menu of commands that vary by Go version.
I don't see an issue filed yet to track that change in Go 1.17, so this is that tracking issue. (CC @jayconrod @matloob)

It is not clear to me whether we should print a deprecation notice in Go 1.17 and change the default behavior in Go 1.18, or change the default behavior in 1.17 and merely print a notice informing the user of the change if their go get pattern happens to match a package main.

It is not clear to me whether we should print a deprecation notice in Go 1.17 and change the default behavior in Go 1.18, or change the default behavior in 1.17 and merely print a notice informing the user of the change if their go get pattern happens to match a package main.

As part of the changes approved in that proposal, we plan to deprecate the use of the go get to install binaries, and make go get -d (which downloads source code for but does not build the requested packages).

Sorry, I don't understand this sentence.  Make go get -d what?  Make it the default?

As part of the changes approved in that proposal, we plan to deprecate the use of the go get to install binaries, and make go get -d (which downloads source code for but does not build the requested packages).

Sorry, I don't understand this sentence.  Make go get -d what?  Make it the default?

Yep, make it a default. (Typo'd the original; fixed now.)

Yep, make it a default. (Typo'd the original; fixed now.)

As part of the changes approved in that proposal, we plan to deprecate the use of the go get to install binaries, and make go get -d (which downloads source code for but does not build the requested packages) the default behavior.

I‘m all for this. Its a regular source of confusion that go get fails when I pull the sources for later cross-compile and the go get fails with architecture-specific error messages.

As part of the changes approved in that proposal, we plan to deprecate the use of the go get to install binaries, and make go get -d (which downloads source code for but does not build the requested packages) the default behavior.

I‘m all for this. Its a regular source of confusion that go get fails when I pull the sources for later cross-compile and the go get fails with architecture-specific error messages.

This will break many projects (in a sense that the installation instructions get outdated), I don't think this is worth it because go get -d is already there if you want this behaviour.

This will break many projects (in a sense that the installation instructions get outdated), I don't think this is worth it because go get -d is already there if you want this behaviour.

@lu4p, note that this issue is not a proposal. It is an implementation task for a previous proposal (#40276) that was already approved, and that tradeoff was discussed as part of that proposal.

@lu4p, note that this issue is not a proposal. It is an implementation task for a previous proposal (#40276) that was already approved, and that tradeoff was discussed as part of that proposal.

change the default behavior in 1.17 and merely print a notice informing the user of the change if their go get pattern happens to match a package main.

The sooner the better. Just add a short instruction for the non-Go user stumbling upon older source that "Since Go 1.17 to install an app from the source you need to use go install instead of go get". I'd also suggest adding the -u flag to the install - silent or with a compact message that "-u is not needed with install".

Friendly ping @bcmills, @jayconrod, @matloob since this is a release blocking issue and has an early in cycle label.

If installing binaries using 'go get' is deprecated, the Go documentation should lead by example and use the recommended 'go install' command.  I believe we're planning to actually change the default behavior in 1.18, so I think we're done with the 1.17 parts of this.)
(I'd like to confirm that understanding with Jay after he gets back, though. Leaving as release-blocker and marking okay-after-beta1 to make sure we do that.)

@bcmills comment is correct.
I still need to add a release note and update documentation for 1.17. After that, we can re-milestone to 1.18 for the default behavior change.

Is not the go get approach safer? Does it not validate the modules against go.sum? For sure it is bypassed when using go install.
If what I suspect is true then usage of go install is more vulnerable to supply chain attacks.

@pellared There shouldn't be any security difference. We're mainly trying to decouple two logical operations into two separate commands.
go get, like go install without an @version suffix on arguments, will verify module's using the go.sum file for the main module (the module in the current directory or a parent directory, not necessarily the module containing the package being installed). If the command being installed is a dependency of the main module and should be tracked in go.mod, running go get -d first to adjust dependencies, then go install is equivalent to go get before this change with respect to go.sum.
When go get is run outside a module, it behaves similarly to go install with an @version suffix. In both cases, there is no go.sum file to check against.
Regardless of whether a go.sum file is present, the go command uses the checksum database (https://sum.golang.org) to verify publicly accessible downloaded files. For privacy and for private modules, this may be controlled with GOPRIVATE, GONOSUMDB, and other variables.

@jayconrod You are correct. I realized now that I am using go install without @version suffix... Sorry for wasting your time. I agree that it would be best to separate these to avoid confusion 👍
Feel free to hide my comments to reduce noise.

@pellared No worries at all. Security is very important for modules and for Go in general, so we definitely appreciate questions and scrutiny. It's always possible we've missed something.

Checking in again as the RC1 date is fast approaching.

This only needs documentation and a release note. CL 329500 and CL 329549 will resolve this.

@jayconrod Above (https://github.com/golang/go/issues/43684#issuecomment-831325476) you said this issue would be re-milestoned to 1.18 for the actual deprecation.  Should this be reopened?  Thanks.

It is not clear to me whether we should print a deprecation notice in Go 1.17 and change the default behavior in Go 1.18, or change the default behavior in 1.17 and merely print a notice informing the user of the change if their go get pattern happens to match a package main.

In Go 1.17, go get without -d prints a deprecation warning when the arguments match a main package.
In Go 1.18, go get will not be able to build or install packages. It will be dedicated to adjusting dependencies in go.mod.
When go get is run within a module and its arguments match a main package, the deprecation notice will no longer be printed. go get example.com/cmd is a fine way to upgrade a tool that the module depends on, and we don't want to discourage that.
When go get is run outside a module, it will print an error. There's no go.mod file to update, so it can't do anything other than populating the module cache. That might be occasionally useful, but it seems better to fail loudly, breaking in contexts where people haven't seen the deprecation warnings.
(All this only applies to go get in module-aware mode. GOPATH-mode is unaffected by this issue).

With this deprecated, what is the recommended way to install something like golang.org/x/tools/gopls@master (which has to be built with golang.org/x/tools@master at the same revision) without cloning the repo? See the instructions here: https://github.com/golang/tools/blob/master/gopls/doc/advanced.md#unstable-versions
go install doesn't have a way to specify multiple modules.
Forgive me if this has been brought up before (I can't recall if it has).

@zikaeroh This change is admittedly sacrificing flexibility in exchange for simplicity and predictability. go install example.com/cmd@version doesn't support changing versions of dependencies.
For gopls development, and in general when developing tools where a lot of changes are made across multiple modules, I expect the most convenient workflow will be to run go install . within the gopls directory. That will apply the local replace directive, referring to the parent module. Alternatively, a go.work file could be used (#45713).
As a user of a tool, if you want to upgrade dependencies beyond what the tool's go.mod asked for, you can do something like:
# Create an empty go.mod file, only for tracking requirements.
cd $(mktemp -d)
go mod init empty-module-for-installing-a-tool

# Use 'go get' to add requirements and to ensure they work together.
go get golang.org/x/tools/gopls@master golang.org/x/tools@master

# Install using the selected versions in go.mod.
go install golang.org/x/tools/gopls

I see. That's effectively what I do now, I suppose (with https://github.com/zikaeroh/gotools, which does the above for gopls by converting its relative replacements to absolute replacements).
I was hoping to rewrite my tool manager to use go install to avoid having to build temporary go.mod + tools.go files for each binary (since nearly all of the time, there's no point; the tool's go.mod is plenty), but I suppose I can just deal with both.
I'm sure it's rare, I'm just one to always be testing gopls at the latest to report bugs as they appear, and prefer to not have to do something special to run it.

@zikaeroh Sorry for the extra trouble. I'm pretty sure we talked about this at some point in #40276, since it would have been easy to interpret arguments the same way go get does. I think we decided not to because it's not clear on the command line whether anything from golang.org/x/tools is actually installed. It might be a main package (installed), a regular package (compiled only? or not?) or a module that just acts as a version constraint. And you don't know which from the command line. With a query like @master it could change over time.

No worries, I do agree that the ambiguity isn't worth it. I just also know that gopls is probably the most important tool I install these days, so wanted to bring it up (especially given official instructions say to use go get in a way that will stop working, and right now spits out an error).
It's not too bad for me to preserve the code that automates that mktemp -d; go mod init process whenever go install wouldn't be enough. Nearly all the knobs I have in GOBIN helper exist just to deal with gopls. 😄


Add support for Dimension Data CloudControl

Hi.
We've been making extensive use of terraform.py with our new provider plugin for Dimension Data CloudControl and since we've found your project so useful, I'd like to contribute back to it :)
Please let me know if there's anything I've missed.

Thanks, @Theaxiom!


Inconsistency Between Exercise Name and Source Files

Exercise names that consist of more than one word will usually have their names hyphenated, but the CMake config will have CMake looking for source files with words separated by underscores.
E.g.:
Exercise name "space-age" will have CMake looking for "space_age.h" and "space_age.cpp"
Not only is this really annoying, because one has to figure out why CMake isn't finding the files, which isn't immediately obvious, it's also inconsistent, which is bad practice.
I suggest having the exercise names use underscores instead, or having CMake look for source files whose names are hyphenated instead.

True, point taken.
This naming convention ('-' for directories and '_' for filenames) has been around for quite awhile: at least 5 years in some cases.
@patricksjackson Do you have any feedback on this?

I understand the annoyance here, but it is our convention. My assumption is that at some point Exercism required the directory names to be dashes, and the original track creator wanted to use underscores for the file names.
I think the specific issue here will go away entirely after we add the stubs #300.

My assumption is that at some point Exercism required the directory names to be dashes, …

It still does so. Exercises needs to have the same name as in the "central library", such that they get their icons. The folder names need to match the exercises name from the config.json.
The canonical data and all other places throughout exercism assume dashed slugs.
And from all what I have seen, it seems as if in C and C++ underscored filenames have been prefered all over the place. A professor of mine assumed thats because filenames resemble the look of identifiers then and in C++ could even match their namespace.

Fair enough, I have little knowledge of Cpp-specific conventions and zero knowledge of how exercism needs to work.


restarts break if restarted with more nodes

Original author: Thomas Quinn
Original issue: https://charm.cs.illinois.edu/redmine/issues/555

If I restart a job with the number of PEs the same as the previous job, but a greater number of nodes, (because I want more communication threads) I get the following abort:
../charmrun ++local +p 6 ++ppn 2 ../ChaNGa -n 5 -oc 2 +balancer MultistepLB_notopo +restart pgtest_ms.chk0
Charmrun> started all node programs in 0.008 seconds.
Converse/Charm++ Commit ID: v6.6.0-12-g6914450
Warning> Randomization of stack pointer is turned on in kernel, thread migration may not work! Run 'echo 0 > /proc/sys/kernel/randomize_va_space' as root to disable it, or try run with '+isomalloc_sync'.
Charm++> scheduler running in netpoll mode.
CharmLB> Load balancer assumes all CPUs are same.
Charm++> Running on 1 unique compute nodes (32-way SMP).
Charm++> cpu topology info is gathered in 0.001 seconds.
Main(CkMigrateMessage) called
------------- Processor 4 Exiting: Called CmiAbort ------------
Reason: PE 4 failed to open checkpoint file: pgtest_ms.chk0/NodeGroups_2.dat, mode: rb status: No such file or directory
[4] Stack Traceback:
  [4:0] CmiAbort+0x40  [0x79ab70]
  [4:1]   [0x73cdb9]
  [4:2] _Z13CkRestartMainPKcP8CkArgMsg+0x1d3  [0x73e933]
  [4:3] _Z10_initCharmiPPc+0x1ccd  [0x6d539d]
  [4:4]   [0x79b832]
  [4:5] ConverseInit+0xd09  [0x79c699]
  [4:6] main+0x27  [0x6ce297]

The NodeGroups reading code at line 665 of ckcheckpoint.C checks if the number of PEs are the same, but does not check the number of Nodes. Hence it attempts to open a non-existent file.

Original date: 2014-11-11 20:03:29

We should consider this for the next stable release, but not treat it as critical.


ENH: improve iswt performance

minimal changes to iswt to call the Cython idwt_axis routine as opposed to the python idwt routine fixes the majority of the python 0.2.2 vs 0.5.1 performance disparity raised in #157.
round-trip results were not previously verified for complex dtypes so I added a test for that.  (The changes here require handling the complex types directly in iswt rather than relying on idwt to do it for us)

Current coverage is 86.73% (diff: 100%)

Merging #255 into master will increase coverage by 0.04%

@@             master       #255   diff @@
==========================================
  Files            20         20
  Lines          2900       2910    +10
  Methods           0          0
  Messages          0          0
  Branches        277        280     +3
==========================================
+ Hits           2514       2524    +10
+ Misses          336        335     -1
- Partials         50         51     +1

Powered by Codecov. Last update 4532ddb...a96236e

LGTM, merged. Thanks @grlee77


[Bug]: Couldn't obtain a random port number

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
Extension
Expected behavior
No error
Actual behavior
Just got an error after restarting the dev server:

Restarting the dev server a second time resolved the issue for me.
Stack trace
Unable to obtain an available random port number!

    Stack trace:    at getRandomPort              …er-cool-app/node_modules/get-port-please/dist/index.mjs:129
    at processTicksAndRejection…  node:internal/process/task_queues:95
    at getRandomPort              …ister-cool-app/node_modules/@shopify/cli-kit/src/port.ts:10
    at                            …@shopify/app/src/cli/utilities/app/http-reverse-proxy.ts:42
    at all
    at runConcurrentHTTPProcess…  …@shopify/app/src/cli/utilities/app/http-reverse-proxy.ts:40
    at dev                        …l-app/node_modules/@shopify/app/src/cli/services/dev.ts:119
    at run                        …pp/node_modules/@shopify/app/src/cli/commands/app/dev.ts:73

Reproduction steps
Not sure tbh, can't reproduce it consistently.
Operating System
macOS Monterey
Shopify CLI version (check your project's package.json if you're not sure)
3.0.25
Shell
No response
Node version (run node -v if you're not sure)
No response
What language and version are you using in your application?
No response

Hi @weeksie ! I have reviewed again the get-port-please code used in getRandomPort and follows these steps:

Get all the local host from you local network interfaces
Iterate over them creating a socket server (using an arbitrary port)
In case of error or the port is contained in a hardcoded internal list, an exception is raised with the message "Unable to obtain an available random port number!"
The port is returned only if the proccess could listen to the socket on the same port (and it is not reserved) in all the local hosts

So I think there is no retrying logic for that method. It seems that in specific cases one of the previous steps fails and the exception is raised showing the message Unable to obtain an available random port number!, executing again the command dev solves the problem, so this fix should avoid to see that error again.
Please let me know if you encounter it again.


Help for Users

Hi,
I am trying to get PARCELS working for a new NEMO configuration. I am using the simplest possible script for testing:
from parcels import FieldSet, ParticleSet, ScipyParticle, JITParticle, AdvectionRK4, AdvectionRK4_3D, ParticleFile, Variable
from argparse import ArgumentParser
import numpy as np
import pytest
from glob import glob
from datetime import timedelta as delta
from os import path
import time
from netCDF4 import Dataset

data_path = '/projectsa/anchor/NEMO/AMM60/FebLinks/'
ufiles = sorted(glob(data_path+'2012_Feb_*.nc'))
vfiles = sorted(glob(data_path+'2012_Feb_*.nc'))
grid_file = '/projectsa/anchor/NEMO/AMM60/mesh_mask.nc'
filenames = {'U': {'lon': grid_file,'lat': grid_file,'data': ufiles},
             'V': {'lon': grid_file,'lat': grid_file,'data': vfiles},}
variables = {'U': 'uo', 'V': 'vo'}
dimensions = {'lon': 'glamf', 'lat': 'gphif','time': 'time_counter' }
field_set = FieldSet.from_nemo(filenames, variables, dimensions)
pset = ParticleSet.from_list(field_set, pclass=JITParticle, lon=[1.7, 0.3], lat=[59.34, 57.19])
pfile = ParticleFile("Yo_AMM60_5seeds", pset, outputdt=delta(hours=0.5))
#k_adv3D = pset.Kernel(AdvectionRK4_3D)
k_adv = pset.Kernel(AdvectionRK4)
pset.execute(k_adv, runtime=delta(days=1), dt=delta(minutes=10),output_file=pfile)

And I am getting the following error...
Thanks in advance for your help!
(/login/gmaya/.conda/envs/py3_parcels)livljobs7 PARCELS $ python 2D_AMM60_Parcels.py
WARNING: Casting depth data to np.float32
INFO: Compiled JITParticleAdvectionRK4 ==> /tmp/parcels-18684/7dbd2d672682b91815628ff1324315bb.so
Traceback (most recent call last):
  File "2D_AMM60_Parcels.py", line 29, in <module>
    pset.execute(k_adv, runtime=delta(days=1), dt=delta(minutes=10),output_file=pfile)
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/parcels/particleset.py", line 389, in execute
    next_input = self.fieldset.computeTimeChunk(time, np.sign(dt))
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/parcels/fieldset.py", line 601, in computeTimeChunk
    f.computeTimeChunk(data, tind)
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/parcels/field.py", line 929, in computeTimeChunk
    if len(filebuffer.data.shape) == 2:
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/parcels/field.py", line 1450, in data
    data = data[ti, self.indices['depth'], self.indices['lat'], self.indices['lon']]
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/dataarray.py", line 479, in __getitem__
    return self.isel(indexers=self._item_key_to_dict(key))
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/dataarray.py", line 827, in isel
    ds = self._to_temp_dataset().isel(drop=drop, indexers=indexers)
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/dataset.py", line 1646, in isel
    new_var = var.isel(indexers=var_indexers)
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/variable.py", line 927, in isel
    return self[tuple(key)]
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/variable.py", line 636, in __getitem__
    data = as_indexable(self._data)[indexer]
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/indexing.py", line 630, in __getitem__
    return type(self)(_wrap_numpy_scalars(self.array[key]))
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/indexing.py", line 607, in __getitem__
    return type(self)(_wrap_numpy_scalars(self.array[key]))
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/indexing.py", line 520, in __getitem__
    return type(self)(self.array, self._updated_key(indexer))
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/indexing.py", line 491, in _updated_key
    full_key.append(_index_indexer_1d(k, next(iter_new_key), size))
  File "/login/gmaya/.conda/envs/py3_parcels/lib/python3.7/site-packages/xarray/core/indexing.py", line 291, in _index_indexer_1d
    indexer = _expand_slice(old_indexer, size)[applied_indexer]
IndexError: index 766 is out of bounds for axis 0 with size 766

Thanks for reporting @ocgabs. I'm not really sure what triggers this error, but it might be related to some problem with the chunking in dask. We've yesterday released a new version of Parcels (v2.1.5) on conda, which has much improved chunking. Could you try rerunning with that latest version, and see if that fixed your problem? if not, could you share a snippet of the netcdf data, so that I can have a look myself?

Hi again,
I am wondering if you already have some kernels specific for tracking plastics and what are their capabilities? We are developing a project proposal and it will be great to have this information. Thanks in adavance.

Closing, since assuming that the error was fixed in v2.1.5


Material Kit Pro Select Bootstrap v1.12.2

Request adding keyboard event in select option keyboard up & down for selection and space/enter for select the option
https://demos.creative-tim.com/marketplace/material-kit-pro/docs/2.0/plugins/select-bootstrap.html

Hello @jason-cemanes,
Thank you for using our products, I will ask you to update the plugin first and then please check the following link, you'll find the solution for the problem.
Hope that information helps you. Please let us know if we can help you with anything else.
All the best,
Stefan


EDDI referring to Alliance Chieftain as "Type X" in TTS

I noticed this shortly after having purchased my Chieftain and had intended to report it that day, but it kept slipping my mind.  So, here I am today, reporting the bug.  Great plugin, EDDI.

This repo is no longer maintained by the original dev. Please report issues for EDDI to https://github.com/EDCD/EDDI/issues.
The latest releases are available here: https://github.com/EDCD/EDDI/releases (double check - you may be using an old version)


old packages

Hi, I just ran ncu, which resulted in:
 cerebral-addons                ^0.3.1  →       ^0.4.3
 cerebral-module-devtools       ^0.4.1  →       ^0.5.0
 cerebral-module-router        ^0.10.0  →      ^0.12.0
 cerebral-view-react           ^0.10.0  →      ^0.11.1
 babel                         ^5.8.23  →      ^6.3.26
 babel-loader                   ^5.3.2  →       ^6.2.1
 babel-plugin-react-transform   ^1.0.5  →       ^2.0.0
 css-loader                    ^0.19.0  →      ^0.23.1
 extract-text-webpack-plugin    ^0.8.2  →       ^1.0.1
 html-webpack-plugin            ^1.6.1  →       ^2.7.2
 postcss-loader                 ^0.6.0  →       ^0.8.0
 stats-webpack-plugin           ^0.2.1  →       ^0.3.0
 style-loader                  ^0.12.4  →      ^0.13.0
 webpack                       ^1.12.2  →  ^2.0.5-beta

I ran ncu -u and so far everything works fine, though these browser console warnings remain:
Cerebral: controller.getDevtools() method is deprecated. Please upgrade your view package to latest version.
Cerebral: devtools.start() method is deprecated. Devtools has started automatically.
Cerebral: controller.getStore() method is deprecated.

Follow cerebral-todomvc latest commits to get rid of deprecation warnings.

There planned some more deprecations within 0.33 release. Todomvc and boilerplate would be updated to follow this changes.
Join us on discord channel. Link could be found on main cerebral repo or website.

thanks, will do.
cerebral + react + baobab rocks!

Closing this for now


Added Twitter Embedded Tweet component with Bower Fix

This PR adds a component that allows to embed Twitter cards with {{twitter-card tweet-id=<tweet_id>}}.
Includes:

twitter-card component
twitter/card page with code example
acceptance test for twitter-card component

This PR was rebased on PR #9 and supersedes PR #8

Thanks @taras!

+1 @taras


HfHubHTTPError when finetuning

I'm trying to run the code from this Colab
notebook which calls the training script from ParlerTTS and I get the following error
huggingface_hub.utils._errors.HfHubHTTPError: 500 Server Error: Internal Server Error for url: https://huggingface.co/api/datasets/ylacombe/jenny-tts-6h-tagged (Request ID: Root=1-66a52066-71972f3e210bcd0c4d252223;fc1aef1f-e20e-417b-b00a-8fe47be13bf6)

Internal Error - We're working hard to fix this as soon as possible!

It looks like the HTTP call to "ylacombe/jenny-tts-6h-tagged" cannot be executed. How can I fix it?
Thank you.

Sometimes, the hub is done, I think it should work again now!

yes it does, thank you!

Great! Closing for now!


Make application binary smaller

/claim #1005
/closes #1005
@louis030195 Makes the binary smaller by removing unused dependencies and making a profile.
#1008 doesn't work because it gets rid of an used library, and doesn't use the profile settings.

@Neptune650 good
i was more thinking of dependencies in the package.json js stuff
also in the past i had experience product breaking with these rust stripping thing even though it compile (would remove too many stuff) but should be fine, did you check release-app.yml there are already some of these i think
also preferably it does not make the build long, i am constantly trying to reduce build time, even if it make app bigger for now

@Neptune650 good
i was more thinking of dependencies in the package.json js stuff
also in the past i had experience product breaking with these rust stripping thing even though it compile (would remove too many stuff) but should be fine, did you check release-app.yml there are already some of these i think
also preferably it does not make the build long, i am constantly trying to reduce build time, even if it make app bigger for now

@louis030195 I picked options that wouldn't lengthen up the build, after strip everything kept working for me so I think it's fine
I'll push a commit for getting rid of some package.json deps

@louis030195 Fixed, could you review.

/approve


Fix flaky TestMultipleClientsWithMixedLabelsAndExpectFailure

This failed in a bunch of runs in https://github.com/grafana/dskit/pull/598
When it fails, it has 3 updates, but they're all from the same member. I believe what we want to check is that the cluster never gets joined by members with labels

/find-flaky-tests


bootstrap not working

Question / Discussion
Hi dear, I create an  vite-plugin-ssr app in my local. I want to use bootstrap style but it's not working so my package.json is here :

So when I try to use  button element it is working without bootstrap style but when ı try to import these lines (
import "bootstrap/dist/css/bootstrap.css" import "bootstrap/dist/js/bootstrap.js"
) it gives first it shows the boostrap style but after page render  there is an error :

my vite.config.ts file here : (I updated my vite.config file but before than that I also get that error)

I also add SSRprovider from react-boostrap

Seems like a user land thing? See https://brillout.github.io/rules/.
But let me know if you believe it's a vps problem. Closing in the meantime.


Clarify purpose and status of this repository

IMPORTANT PLEASE READ: NO RESPONSE WILL RESULT IN REPO ARCHIVAL AND FINALLY DELETION
Dear maintainer,
One important topic in our TomTom open source engineering community is to make our public organization on GitHub, as well as the repositories hosted on it, more welcoming to contributors. That process starts which making it easy for other to understand the purpose of a codebase is and how people can contribute.
In order to do so we want to learn which repo's are still actively maintained and important to keep available to the open source community and which are not. We have therefore decided to start a clean-up proces which will be done as follows:

Please respond to this issue within 30 days and provide us with the necessary information requested below.
If there is no reply to this issue after these 30 days, the repository will be archived
After your repo has been archived you have an additional 30 days to respond and provide information and discuss with us whether you want to revert, or keep archived status.
IMPORTANT After the above mentioned additional 30 days no response is given the repository will be removed from the TomTom-International organization or will be DELETED

Could you please be so kind to provide us with the following information
Contact details
Repo owner/primary contact: Kevin de Jong -<EMAIL_ADDRESS>Repository details
Describe the purpose/objective of this codebase in 1-5 sentences:
Python package providing a CLI to manage a CHANGELOG.md in your repository, incl:

Verification against the keepachangelog standard
Step-by-step wizard to update your CHANGELOG.md
Ability to manage (SemVer) versioning
Integration with GitHub Releases

Please select how this repository contributes to the following (thick all that apply):

[x] Internal use: The code is used inside TomTom and there is a vested interest in long term maintenance
[x] Employer branding: Project gives an insight into the scale and problem-solving of TomTom tech.
[x] Hiring: contributors and users of the project could be attractive job candidates
[ ] Learning: TomTom employees can collaborate with and learn from external experts on the topic
[x] Enhancement: the project could gain new functionality and refinement by external use and contribution
[ ] Product: The project is needed to make our tech or products integrate with other products or tech stacks
[ ] License Compliance
[ ] Fork: Fork needed for for upstream contributions, long-term upstream collaboration or product / CI/CD pipeline dependency or other need. If this is the case you can move your fork to a new GitHub organization https://github.com/tomtom-forks. If you need access to this org reach out at the #ospo channel on slack with your TomTom Github user account.

Questions?
Please respond to this issue or drop a line to<EMAIL_ADDRESS>mentioning this issue nr.
Or for TomTom'ers reach out on the #ospo slack channel.
Thanks so much for helping keep our public repositories up to date and welcoming to all contributors.

Updated above comment


Feature/screenshot step

added screenshot step

Coverage decreased (-0.2%) to 77.187% when pulling ae5c491872e59f61dfd00d9337e84c6d69d63b63 on dariaVasileva:feature/screenshot-step into 077038b394be746f8bbbc3b4bb78d21cfd6b49c0 on alfa-laboratory:master.


Communications and updates

I'll close this epic, moving forward we'll make individual cards for future GC Wiki updates.


Inspect exception with gdb

When running doctests if user code throws an exception, it doesn't seem possible to do a backtrace with gdb. How can I do this?

When starting gdb use:
catch throw

GDB will then intercept the exception before doctest handles it.

I had the same issue. Thanks for sharing a solution!


tomoima525/support label

Hi @ohbarye thanks for developing a nice bot!
I added label option which allows us to filter with github's labels. Would be nice if you can take a look and welcome this feature :)
Usage:
ls author:tomoima525 label:wip

@tomoima525
Thanks for the awesome suggestion.
I confirmed your change works well and the code looks fine. Then let me get merged!

@ohbarye thanks for your quick review!


More pythonic snippets

This is the issue for this pull request: https://github.com/Microsoft/vscode-python/pull/5380

Please could you provide some more information on the issue.

Atom has very useful python snippets for python class definitions and magic methods.
Most of the time, when you define a class you want to inherit the __init__ function from its parent class.
That is why you usually need the following boilerplate for your classes:
Python 3
class ChildB(Base):
    def __init__(self):
        super().__init__()

Python 3 and Python 2
class ChildB(Base):
    def __init__(self):
        super(ChildB, self).__init__()

Thanks for the suggestion, but we're not going to do this for now.


WIP: Support installed packages not necessarily registered

Hi @IainNZ ,
I have started this addition to support packages that are either unregistered or in development.
The aim is to help query the information in ~/julia.d/vNN.MM, possibly to relate it to the information in METADATA.
Examples and graphical output on README.md (https://github.com/AlainLich/MetadataTools.jl/raw/supportInstalled/test/tp_Romeo.jpg). For now  what is shown is the commit id, plus indications:

NTAG: no tag available
MOD:  latest commit does not correspond to latest tag
NEW:  just created

(These indications are likely to be modified if more precise information is available from
git -- for :now git tag --contains $sha is used alone  ... and I think this can be improved)
I have not checked yet if mixing generated graphs from unregistered and registered packages works or is feasible (or even desirable).
I cannot test on non Linux platforms (and have
some doubts about the fragment where bash is used), so feedback from these platforms would be useful.
Notes

For graphical output, my PR #183 to Graphs.jl is required** (https://github.com/JuliaLang/Graphs.jl/pull/183) otherwise available as https://github.com/AlainLich/Graphs.jl/tree/ahead.
For anything to work my PR #182 to Graphs.jl is required (https://github.com/JuliaLang/Graphs.jl/pull/182), also merged in as https://github.com/AlainLich/Graphs.jl/tree/ahead.

Please let me know if this may eventually be of interest and what needs improvement to be more usable.

Hi @AlainLich, looks interesting. I've actually been working on some very similar things (excluding the installed-but-not-METADATA stuff), scroll down at https://github.com/IainNZ/GraphLayout.jl/issues/3

Hi @IainNZ , the graph layouts in IainNZ/GraphLayout.jl are interesting, and provide alternatives to
dot. From my current perspective (analyze package version dependencies) the following questions arise:

will you maintain  Graphs.jl as the primary support for graphs operations/algorithms (besides graphical output/representation) on MetadataTools generated structures ?
is an interface provided to use GraphLayout.jl with arbitrary Graphs.jl input; it seems that all is needed is generating an adjacency matrix and a vector of vertex labels.
is the representation with PkgMeta  and PkgMetaVersion stable ?

If all the answers are positive, I should not have to much difficulty adapting to the changes you are making; also I can look at the information that can be generated using input both from installed and METADATA packages.

Hi @IainNZ, with commit f7cc46a, this has improved functionality, examples are shown in README.md. I would appreciate comments.
Notes:

for this to work, a PR must be applied to Graphs:  https://github.com/JuliaLang/Graphs.jl/pull/183, but I have not seen any movement on that side.
I am able to test only on Linux and have no idea on issues for non Unix systems (Windows), would like feedback on this as well.
Apparently travis failures seem related to a remaining Range1 which I thought  fixed
I have chosen to use the build field of Version to stuff the commit identification (for installed packages in development where there are not enough tags); this is quite brittle (since base/version.jl performs value checks ) but does not require modifying  PkgMetaVersion.

Besides documenting, I still want to see how graphs derived from registered and installed packages can be used together (say for warning when they are not in sync). If all goes well  this should be doable with only Graphs.jl algorithms....


[F-VLM] How to reproduce the experimental results of the paper?

fvlm is a great job！
@weichengkuo
But according to this project, I cannot reproduce the experimental results in the paper. Can you provide a coco training set that only contains basic categories?Can you publish the trained checkpoints for testing to reproduce the results of the paper?
Hope to get your reply and help!

I can not reproduce either, the unseen bbox AP50 still has a large margin with the paper result.


chore(deps-dev): bump lerna to v8.1.3 to close CVE-2024-28863

Closed by https://github.com/mittwald/flow/commit/3f4d471c675586caa8da627e228bed891d2d3f44.
Thanks anyway 🤜


docs: update settings references

Consider using the unversioned ref or removing the reference (who is it for at this point?)


Move requirement files to a separated directory

Let's move the requirement files to a separate directory to keep them organized.

Firenado is building and installing correctly from testpypi.


Is it possible to measure the timing of a keyboard button release?

In a reaction time study, I'd like to be able to measure the timing of not just of a button press, but also the timing of the same button's release. Is this possible in jsPsych? I am able to do the former easily (thanks to the very helpful docs!) but I'm not sure if the latter is currently possible?

Of course it is possible, but not with jsPsych's API. I think you would have to write your own keyboard listeners, like the example below:
let jsPsych = initJsPsych({
    on_finish: function () {
        jsPsych.data.displayData();
    },
});

let trial = {
    type: jsPsychHtmlKeyboardResponse,
    stimulus: 'Press F',
    choices: 'NO_KEYS',
    on_load: function () {
        let time_start = performance.now();
        let key_down, key_up;

        function keydown_listener(ev) {
            if (ev.key.toLowerCase() === 'f' && !ev.repeat) {
                key_down = performance.now() - time_start;
            }
        }

        function keyup_listener(ev) {
            if (ev.key.toLowerCase() === 'f' && typeof key_down !== 'undefined') {
                key_up = performance.now() - time_start;
                jsPsych.finishTrial({key_down, key_up});
                document.body.removeEventListener('keydown', keydown_listener);
                document.body.removeEventListener('keyup', keyup_listener);
            }
        }

        document.body.addEventListener('keydown', keydown_listener);

        document.body.addEventListener('keyup', keyup_listener);
    },
};

jsPsych.run([trial]);

Ah I see, thanks a lot for your help @Shaobin-Jiang !


Fixes #2

This should fix #2 - kotlinx.serialization requires a default value if the value should be inferred when missing in JSON. You should probably write tests for this bug

Because this is only a mirror, i will fix it with the next commit and release, thank you very much :)


Install FindSecBugs

...and suppress false positives.  (No actual issues found)
Reviewer checklist

[ ] Read the contributing guide
[ ] PR should be motivated, i.e. what does it fix, why, and if relevant, how
[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure any appropriate documentation has been added or amended

Coverage: 94.007%. Remained the same when pulling 2e2ba8cc41ed9fae9c52025cc9981fb07e80e24c on sec into 0e1dd5b0b668d66f7b33bba1b43871929a211563 on main.


Feat 296 bias indicator

Pull Request instructions:

Please follow the update protocol
Answer the questions below in detail. Your responses will be emailed to experimenters.
If the experimenters must do anything new, provide detailed step by step instructions on the wiki
If computer maintainers need to manually update anything, provide detailed step by step instructions
Use markdown syntax in order for your comments to be rendered reliably in the email: "1." instead of "1)", use four spaces for indents.
If you use the keyword "skip email" in the title, it will skip the email updates
Merges from "develop" into "production_testing" should use the keyword "production merge" in the title for reliable indexing of updates
Merges from "production_testing" into "main" should use the keyword "update main"

Describe changes:
What issues or discussions does this update address?
Describe the expected change in behavior from the perspective of the experimenter
Describe any manual update steps for task computers
Was this update tested in 446/447?

back merging to keep consistent with main

@micahwoodard There are some new packages required for the update. Smrithi and I didn't realize this, so we ran into some issues at first. Please notify individuals if there are some local updates.

Smrithi also found there are package conflicts when trying to install these new packages. Smrithi will submit a github issue.

@XX-Yin The updates were tested to be installable with pip install -e .. That command runs as part of the automatic update script, so if the update script is enabled then the update should work without manual steps. What rig did you have problems on? Are you using the update script? What issues did you encounter?

It seems the pip install -e . did not run automatically in the ephys rig 3 and Smrithi's rig. Smrithi had the package conflict error when trying to run pip install -e in a new python environment. Smrithi will document the error in details tomorrow.


Unable to set value - for multi step form

having trouble when i am using two-step form. when back from step 2 password become empty again

Is your project public? Can you share your code? I'm not sure this is a problem with the password field exactly..

Oh, I think I got it. Your issue is that you cant pre-populate the password field with a password? I can see that being an issue. Will look into fixing it

Thank you get it right. also, i hope this will calculate the strength and also show messages and bar accordingly.
will be waiting for the fix.

ok Ill try to find some time to look into it but I cant promise a speedy update. Feel free to submit a pr in the meantime

Changing the constructor by:
  constructor(props) {
    super(props);

    this.state = {
      score: 0,
      isValid: false,
      password: props.inputProps.value || '',
    };
  }

Did the trick for me.

I've created a PR for this: https://github.com/mmw/react-password-strength/pull/56/files
My use case is the same as @sanjitbauliibm (multi-step form) and I have an example working locally with the new 'defaultValue' prop.

I feel like it's not the same 'issue'. I see it more as a managed field (like the value is stored in redux as the single source of truth) vs self contained field. But the "default" value is a good idea.

@denispasin can you elaborate? from what @sanjitbauliibm said I understand it to the be the fix he was looking for. Closing this issue now but we can discuss further any feature changes needed


NIP06/BIP39/BIP32 seed phrases for key derivation

Following NIP06, generate private keys using derivation path m/44'/1237'/0'/0/0 so the original source seed phrase is known for the derived private key and vanity public key or npub1 public key.

@grunch I believe this issue can be closed now.

that's right, thanks


Argument parsing for multiple features is broken

The arguments are currently parsed incorrectly when multiple comma-separated features are provided such as in --features hello,hola. It gets put into the cargo command like this: --features hello hola.

I believe that is still valid, no? From running cargo build --help it displays:
--features <FEATURES>       Space or comma separated list of features to activate

Which indicates that spaces or commas are accepted.

But space separated the way they are currently produced will end up as non-feature arguments.  You can try it yourself and it will pop out as incorrect if you provide something like --features a,b.

Ahh okay, thanks for clarifying.


Undoing block comments

Trying to undo block comments does not work as I would have expected:
Steps to reproduce:

Highlight a block of css code:

outline: 1px dotted grey;
display: flex;
justify-content: center;
align-items: center;

Press alt+shift+b to comment the block:

/*outline: 1px dotted grey;
display: flex;
justify-content: center;
align-items: center;*/

Re-highlight the commented block of code (including comments)

/*outline: 1px dotted grey;
display: flex;
justify-content: center;
align-items: center;*/

4)Press alt+shift+b to UNcomment the block
/*/*outline: 1px dotted grey;
display: flex;
justify-content: center;
align-items: center;*/*/

Notice that step-4 did not actually undo the comment, but simply added an additional comment block.

Hi,
actually it's not needed to re-highlight the commented block. Your cursor only needs to be inside the commented block. "alt+shift+b" should do the trick then.
What kind of document are you using? .css, .js, .htm?
I tried to reproduce it. But it works even if i'm re-highlighting the commented block.


WIP: count_languages func added

Following converstaion with @imenelydiaker here: https://github.com/embeddings-benchmark/mteb/pull/574#issuecomment-2078973652 I propose an auxiliary function count_languages that summarises count of languages per tasks, domains, categories. I think as the number of tasks grows it might be a convenient way to browse existing sets.
Two doubts here:

there's inconsistency here in get_tasks documentation, where example shows task_types accepting only str, but type suggests it should go by list; which one should it be?
maybe we should change name of this submodule from get_tasks to utils, helpers or something like that as we may add more auxiliary functions for MMTEB analysis later?

Sorry @imenelydiaker @KennethEnevoldsen I’d like to know your stance also on the point 2 above 👆 before I “unwip” it. That is, WDYT of  changing get_tasks.py module name to utils, helpers etc. ?

One specific use-case is counting points per task for adding new languages. Second, at some point, we'll be interested in summarizing various categories per language and this makes it explicit.

One specific use-case is counting points per task for adding new languages.

This is already covered by get_task

Second, at some point, we'll be interested in summarizing various categories per language and this makes it explicit.

Seems like we might instead want some kind of kind of overview function for this. I could imagine something like this:
list_of_tasks = get_tasks(...)
type(list_of_tasks)
# MTEBTasks
print(list_of_tasks)
# MTEBTasks(languages: {eng, dan, ...},  tasks=[DKHate, ...], ...)
isisntance(MTEBTasks, list)
# True

Where MTEBTasks is an overview object over a lists of tasks, which e.g. allows you to get something like:
len(list_of_tasks.languages)

or something like:
list_of_tasks.to_markdown()

to create a markdown report.

Thanks @KennethEnevoldsen. I like the idea, although I still think that language summary is a neat feature. See the revised proposal.

Thanks @dokato I think this approach is gonna be much easier to expand in the future - thanks for taking the time to discuss it

Assuming @imenelydiaker agree, feel free to merge