[Feature Request]: A method for requesting user to enable location service without redirecting them to location settings

Is there already an issue requesting this feature?

[X] I have searched the existing issues.

Please select affected platform(s)

[X] Android
[ ] iOS
[ ] Linux
[ ] macOS
[ ] Web
[ ] Windows

Use case
Currently, we can only check if location services are enabled or not by Geolocator.isLocationServiceEnabled() method and to tell the users to enable location service, we are required to redirect users to location settings to enable location service. This flow works fine but imagine a case where we don't want to redirect users from our app to settings just for turning on location service when a popup can be shown just like asking for permission. (An attachment is attached below for demonstrating how it looks on android)

Proposal
Add a method named requestLocationService() which will open a popup (as shown above) in android which will allow the users directly to turn on their location without redirecting them to location page. This feature is available in the location package but it doesn't have all the features provided in this package.
Specific requirements or considerations
No response
Additional information or context
No response

Closing as duplicate of #543, we'll keep track of progress regarding this feature there.


Add Unit Of Work Above The Repository With Specifications

I'd like to add the unit of work pattern above the repository and specifications. Does this make sense or it will be a useless feature and
no need for it on domain driven design philosophy ?

It is needed sometimes. I can show an example, but I also don't want people to think that it is always needed, so that is why it's not included thus far in the relatively simple template.

Thanks Steve got it.

Any progress on an example? I'm currently tring to implement your specfication pattern, but I'm stuck on how to rollback if I add multiple entities to the database, without explicitly removing them when an exception is thrown.

One option is to use a transaction, and then rollback the transaction if an exception occurs. This would be similar to but not identical to a typical UoW pattern. For the Unit of Work pattern usually it just controls the call to SaveChanges in the DbContext.

@ThomasVague The specification pattern is mainly about fetching, not saving, aggregates. How is the rollback issue you describe impacting your ability to use specifications?

Yeah, I probably shouldn't have said specification pattern. I was referring to your library as a whole, with using the IRepository interface as a way of saving multiple entities. Since the update and create funtions are doing a call to SaveChangesAsync, and there is no transaction exposed, I'm not sure how to do a rollback.  You said that "one option is to use a transaction", but I don't see how when the dbContext is not exposed?

It seemd to work nice! Here's my code if anyone's interested
`public class UnitOfWork : IUnitOfWork
{
private readonly ApplicationDbContext _context;
private IDbContextTransaction? _transaction;
public UnitOfWork(ApplicationDbContext context)
{
	_context = context;
}

public void BeginTransaction()
{
	if (_transaction != null)
	{
		return;
	}

	_transaction = _context.Database.BeginTransaction();
}

public Task<int> SaveChangesAsync()
{
	return _context.SaveChangesAsync();
}

public void Commit()
{
	if (_transaction == null)
	{
		return;
	}

	_transaction.Commit();
	_transaction.Dispose();
	_transaction = null;
}

public async Task SaveAndCommitAsync()
{
	await SaveChangesAsync();
	Commit();
}

public void Rollback()
{
	if (_transaction == null)
	{
		return;
	}

	_transaction.Rollback();
	_transaction.Dispose();
	_transaction = null;
}

public void Dispose()
{
	if (_transaction == null)
	{
		return;
	}

	_transaction.Dispose();
	_transaction = null;
}

}`
public interface IUnitOfWork : IDisposable, ITransientService { 	void BeginTransaction(); 	void Commit(); 	void Rollback(); 	Task<int> SaveChangesAsync(); 	Task SaveAndCommitAsync(); }
Any thoughts on IUnitOfWork should be transient or scoped?

It should be scoped if there's any chance it will be used between multiple services.

@ThomasVague are you using a convention in your service registration such that ITransientService, IScopedService results in the registration working properly (Transient, Scoped, etc.)? Curious if that's something you made custom or if you're using a NuGet package for that.

@ardalis I actually borrowed the idea from FSH's https://github.com/fullstackhero/dotnet-webapi-boilerplate.  Here's the code:
	internal static IServiceCollection AddServices(this IServiceCollection services) =>
		services
			.AddServices(typeof(ITransientService), ServiceLifetime.Transient)
			.AddServices(typeof(IScopedService), ServiceLifetime.Scoped);

	internal static IServiceCollection AddServices(this IServiceCollection services, Type interfaceType, ServiceLifetime lifetime)
	{
		var interfaceTypes =
			AppDomain.CurrentDomain.GetAssemblies()
				.SelectMany(s => s.GetTypes())
				.Where(t => interfaceType.IsAssignableFrom(t)
							&& t.IsClass && !t.IsAbstract)
				.Select(t => new
				{
					Service = t.GetInterfaces().FirstOrDefault(),
					Implementation = t
				})
				.Where(t => t.Service is not null
							&& interfaceType.IsAssignableFrom(t.Service));

		foreach (var type in interfaceTypes)
		{
			services.AddService(type.Service!, type.Implementation, lifetime);
		}

		return services;
	}

	internal static IServiceCollection AddService(this IServiceCollection services, Type serviceType, Type implementationType, ServiceLifetime lifetime) =>
		lifetime switch
		{
			ServiceLifetime.Transient => services.AddTransient(serviceType, implementationType),
			ServiceLifetime.Scoped => services.AddScoped(serviceType, implementationType),
			ServiceLifetime.Singleton => services.AddSingleton(serviceType, implementationType),
			_ => throw new ArgumentException("Invalid lifeTime", nameof(lifetime))
		};

Great, thanks. That's where I'd seen it previously, I think.

I tried to implement unitOfWork pattern mentioned above
https://github.com/ardalis/CleanArchitecture/issues/327#issuecomment-1125938378
but I am getting following error,
Can someone please correct my code:
{
"messages": [],
"source": "Microsoft.Data.SqlClient.SqlCommand+<>c",
"exception": "BeginExecuteReader requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.",
"errorId": "6d4329bc-c24f-4852-ba88-35caf4b9ad6d",
"supportMessage": "Provide the ErrorId 6d4329bc-c24f-4852-ba88-35caf4b9ad6d to the support team for further analysis.",
"statusCode": 500
}
Following is my code;
using Mapster;
using Microsoft.Data.SqlClient;
using API.Application.Common.Custom.IUnitOfWork;
using API.Domain.MyAPI.Entities;
using System.Data;
using System.Transactions;

namespace API.Application.MyAPI.Challan.Commands.Update;
public class UpdateChallanRequest : IRequest<ChallanDto>
{
    public int Id { get; set; }
    public decimal Property1 { get; set; }
    public DateTime Property2 { get; set; }
}

public class UpdateChallanRequestValidator : CustomValidator<UpdateChallanRequest>
{
    public UpdateChallanRequestValidator()
    {
    }
}

internal class UpdateChallanRequestHandler : IRequestHandler<UpdateChallanRequest, ChallanDto>
{
    private readonly IRepositoryWithEvents<TrnsChallanGeneration> _repos;
    private readonly IDapperRepository _repository;
    private readonly IUnitOfWork _unitOfWork;
    private IDbTransaction _transaction;
    private IStringLocalizer<(someClass1, someClass2)> _localizer;

    public UpdateChallanRequestHandler(IDapperRepository repository, IUnitOfWork unitOfWork, IStringLocalizer<(someClass1, someClass2)> localizer, IRepositoryWithEvents<someClass1> repos, IDbTransaction transaction)
    {
        _repository = repository;
        _unitOfWork = unitOfWork;
        _localizer = localizer;
        _repos = repos;
        _transaction = transaction;
    }

    public async Task<ChallanDto> Handle(UpdateChallanRequest request, CancellationToken cancellationToken)
    {
        _unitOfWork.BeginTransaction();
        var challan = _repos.GetByIdAsync(request.Id, cancellationToken);

        string query;
        string query1;

        var parameters = new
        {
            ID = request.Id,
            param1 = request.Property1,
            param2 = request.Property2
        };

        query = "BEGIN" +
                            "UPDATE dbo.someTable1" +
                            "SET someColumn1=@param1, Active=0, someColumn2=@param2, flagPaid=true" +
                            "WHERE dbo.someTable1.id = @ID;" +
                        "END";
        var result = await _repository.QueryAsync<someClass1>(query, parameters, cancellationToken: cancellationToken);

        await _unitOfWork.SaveChangesAsync();

        try
        {
            if(challan.Id == null)
            {
                throw new ArgumentNullException();
            }
            else if (request.Id != null && challan.Id != null)
            {
                query1 = "BEGIN" +
                            "INSERT INTO dbo.someTable2" +
                            "(someColumn1, someColumn2, someColumn3)" +
                            "VALUES (" +
                                "SELECT someColumn1 from dbo.someTable1 WHERE dbo.someTable1.id = @ID;," +
                                "SELECT someColumn2 from dbo.someTable1  WHERE dbo.someTable1.id = @ID;," +
                                "SELECT someColumn3 from dbo.someTable1  WHERE dbo.someTable1.id = @ID;," +
                        "END";
                await _repository.QueryAsync<someClass1>(query1, parameters, cancellationToken: cancellationToken);

                await _unitOfWork.SaveChangesAsync();

                _unitOfWork.Commit();
            }
        }
        catch(Exception ex)
        {
            _unitOfWork.Rollback();
            throw new ArgumentNullException("Challan Not Found.");
        }

        return result.Adapt<ChallanDto>();
    }
}

Can someone please correct my code.

I have figured it out. I was opening 2 connections with database where as System.Transaction allows only 1 or if you want to check and validate some value from database you must close the connection first before opening another connection with System.Transaction. This issue can be closed now.

I have a similar question.
I coordinate several different domain services, which have their own repositories, in a handler.
I'm using RepositoryBase and there is only AddAsync, which saves the changes immediately, so I can't use DbContext to save the changes higher up - in the handler when none of the services throw an exception.
How could I do it differently?
Do I not use RepositoryBase?
Is it ok to coordinate the domain services in the layer above - in handler? If so, is it also ok to use the context in this layer to validate changes?

@Tcioch I do not understand your question. Could you please share some details with example code?

@Sarmadjavediqbal
I'm currently facing a challenge related to coordinating multiple domain services that each have their own repositories in a handler. I am using the Ardalis.Specification pattern and making use of the RepositoryBase, which has the AddAsync method. However, this immediately commits the changes to the database, and I need a way to delay this action.
In particular, I want to be able to save changes in my DbContext at a higher level - in the handler - but only when none of the services throw an exception. This way, I can take full advantage of the Unit of Work pattern that Entity Framework provides.
Is there a way I can achieve this using RepositoryBase or do I need to not use it? Also, is it a proper approach to coordinate the domain services in the layer above - in the handler? And if that is the case, would it be appropriate to use the DbContext in this layer to commit the changes? I appreciate any guidance you can provide on this.
//Handler
public class MyHandler : IRequestHandler<MyCommand>
{
    private readonly IService1 _service1;
    private readonly IService2 _service2;
    private readonly IService3 _service3;
    // I would like to add DbContext here;

    public MyHandler(IService1 service1, IService2 service2, IService3 service3)
    {
        _service1 = service1;
        _service2 = service2;
        _service3 = service3;
    }

    public async Task Handle(MyCommand request, CancellationToken cancellationToken)
    {
          await _service1.Action(request.Data);
          await _service2.Action2(request.Data);
          await _service3.Action3(request. Data);

          // Intend to save all changes here, but the AddAsync in services commits the changes immediately
          await _dbContext.SaveChangesAsync();
    }
}

And here is my service
public class Service1 : IService1
{
    private readonly ICarRepository _repository;

    public Service1(ICarRepository repository)
    {
        _repository = repository;
    }

    public async Task Action(SomeData data)
    {
        var car = new Car { /* init car */ };
        await _repository.AddAsync(car); // this immediately commits the changes to the database
    }
}

And ICarRepository just gets IBaseRepository.

@Tcioch Also don't call DbContext directly into your class. It is not the best practice to use it like this. Add some Unit of Work type repository into your API and then call that repository to your class.

@Sarmadjavediqbal
I completely do not understand.
DbContext does not have a commit() method. Secondly SaveChangesAsync calls save to database, so why would I use commit() if it even existed?
And that's what I mean, I don't want to save the changes after the services, because if any service raised an exception, I don't want to have data inconsistency. Either all services will go through, or none.
And what do you mean by not using DbContext directly on the class? I don't see it.

@Sarmadjavediqbal
This is my repository (example)
public interface ICarRepository : IRepositoryBase<Car>
{
}

public class CarRepository : RepositoryBase<Car>, ICarRepository
{
    public CarRepository(DbContext dbContext) : base(dbContext)
    {
    }
}

Where IRepositoryBase is from Ardalis.Specification

@Tcioch it seems that you are trying to saveChanges without using System.Transaction.

@Tcioch Use Unit Of Work pattern in your API. as mentioned above in https://github.com/ardalis/CleanArchitecture/issues/327#issuecomment-1125938378
by using System.Transaction you can save changes and commit them without any hassle. Also if it throws an exception the API will RollBack all the Transactions committed and you will have a consistency in your data as per your expectations.
I hope this answers your question.
public async Task Handle(MyCommand request, CancellationToken cancellationToken)
    {
          try
         {
                 if (condition == true)
                 {
                         await _service1.Action(request.Data);
                         await _unitOfWork.SaveChangesAsync();
                         _unitOfWork.Commit();

                         await _service2.Action2(request.Data);
                         await _unitOfWork.SaveChangesAsync();
                         _unitOfWork.Commit();

                         await _service3.Action3(request. Data);
                         await _unitOfWork.SaveChangesAsync();
                        _unitOfWork.Commit();
                 }
                 else
                 {
                        throw new NotFoundException();
                 }
         }
         catch (Exception ex)
         {
                 _unitOfWork.RollBack();
                 throw new NotFoundException();
         }

         return;
    }

@Sarmadjavediqbal
Thank you very much for your answer.
Admittedly, I don't do a commit after every save, because I just mean the opposite. Also, I don't use SaveChangesAsync, because they are saved already a layer below, in the domain service (using AddAsync, for example).
I thought all along that EF opens and closes transactions on each request(and indeed it does, unless there is some other transaction open) and we can only juggle via SaveChangesAsync (call it or not).
Anyway, thanks for your help, now it works as I want :)

It seemd to work nice! Here's my code if anyone's interested
public class UnitOfWork : IUnitOfWork
{
	private readonly ApplicationDbContext _context;
	private IDbContextTransaction? _transaction;

	public UnitOfWork(ApplicationDbContext context)
	{
		_context = context;
	}

	public void BeginTransaction()
	{
		if (_transaction != null)
		{
			return;
		}

		_transaction = _context.Database.BeginTransaction();
	}

	public Task<int> SaveChangesAsync()
	{
		return _context.SaveChangesAsync();
	}

	public void Commit()
	{
		if (_transaction == null)
		{
			return;
		}

		_transaction.Commit();
		_transaction.Dispose();
		_transaction = null;
	}

	public async Task SaveAndCommitAsync()
	{
		await SaveChangesAsync();
		Commit();
	}

	public void Rollback()
	{
		if (_transaction == null)
		{
			return;
		}

		_transaction.Rollback();
		_transaction.Dispose();
		_transaction = null;
	}

	public void Dispose()
	{
		if (_transaction == null)
		{
			return;
		}

		_transaction.Dispose();
		_transaction = null;
	}
}

public interface IUnitOfWork : IDisposable, ITransientService
{
	void BeginTransaction();
	void Commit();
	void Rollback();
	Task<int> SaveChangesAsync();
	Task SaveAndCommitAsync();
}

Any thoughts on IUnitOfWork should be transient or scoped?

DbContext already properly implements UoW and Repository patterns. If you re-implement it yourself, consider that UoW must control the creation of DbContext by itself, rather than assume someone else (e.g. DI container) would provide it with the "right" instance. Otherwise, it's guarantees could be easily broken, like so:
var sharedDbApplicationContext = dbContextFactory();
using var kindaUoW = new UnitOfWork(sharedDbApplicationContext);
var petsRepo = new PetsRepository(sharedDbApplicationContext);
var carsRepo = new CarsRepository(sharedDbApplicationContext);
// pets, cars, employees here are examples of different aggregation roots
petsRepo.Add(new Dog());
carsRepo.Add(new Car());
sharedDbApplicationContext.DbSet<Employees>().Add(new Employee());
kindaUoW.BeginTransaction();
await kindaUoW.SaveAndCommitAsync(); // violation: persisted dog, car and employee in one go

One could try to counter me that by ApplicationDbContext you might actually meant smth smaller, like PetsDbContext, CarsDbContext, etc. It's a step in right direction, but still won't prevent misuse:
var petsDbContext = dbContextFactory();
using var kindaUoW = new UnitOfWork(petsDbContext);
kindaUoW.BeginTransaction();
var petsRepo = new PetsRepository(sharedDbApplicationContext);
petsRepo.Add(myCat);
petsRepo.Add(myDog);
await kindaUoW.SaveAndCommitAsync(); // voila(-tion): persisted both dog and cat

In these examples I've simplified things - actually one service could be adding a cat, another a dog. But since both could be executed with same (scoped) PetsDbContext the execution flow remains as above.

I think the best and flexible solution for transactions in clean architecture is the System.Transactions.TransactionScope, for e.g., npsql supports this feature


Python Requests Heavy on Logging, Not Respecting Environment Log_Level Vars

Affected module
Backend / Ingestion Framework
Describe the bug
Webserver logging each request
To Reproduce
Start a few ingestion pipelines and review the logs
Screenshots or steps to reproduce
Examples:
192.xxx.xxx.xxx - - [12/Apr/2024:19:47:43 +0000] "GET /api/v1/system/config/jwks HTTP/1.1" 200 454 "-" "Java/17.0.10" 1
10.xxx.xxx.xxx - - [12/Apr/2024:19:47:43 +0000] "GET /api/v1/services/databaseServices/name/<redact_servicename> HTTP/1.1" 200 548 "-" "python-requests/2.31.0" 12
10.xxx.xxx.xxx - - [12/Apr/2024:19:47:43 +0000] "GET /api/v1/services/databaseServices/name/<redact_servicename> HTTP/1.1" 200 548 "-" "python-requests/2.31.0" 13
10.xxx.xxx.xxx - - [12/Apr/2024:19:47:43 +0000] "GET /api/v1/system/version HTTP/1.1" 200 99 "-" "python-requests/2.31.0" 0
10.xxx.xxx.xxx - - [12/Apr/2024:19:47:43 +0000] "GET /api/v1/system/version HTTP/1.1" 200 99 "-" "python-requests/2.31.0" 0
10.xxx.xxx.xxx - - [12/Apr/2024:19:47:43 +0000] "GET /api/v1/system/version HTTP/1.1" 200 99 "-" "python-requests/2.31.0" 1
/api/v1/tables/name/ , /api/v1/lineage routes also show
Expected behavior
To respect environment logging settings or to be nullified - "I have tried adjusting openmetadata.config.logLevel to ERROR as well as setting LOG_LEVEL to ERROR in ExtraEnvs. I also noticed that some appenders were specified as TRACE in the image's openmetadata.yaml, so I also edited the k8s deployment to mount an adjusted openmetadata.yaml to mark everything as ERROR, but no luck."
Version:

OpenMetadata version: Helm 1.3.2

Additional context
Slack thread for reference - https://openmetadata.slack.com/archives/C02B6955S4S/p1712951450956009

Hey @theblinkingusb, you can remove the server request logging by adding the following configuration to the server section in openmetadata.yaml
requestLog:
  appenders: [ ]

It should look like this:
server:
  rootPath: '/api/*'
  applicationConnectors:
    - type: http
      port: ${SERVER_PORT:-8585}
  adminConnectors:
    - type: http
      port: ${SERVER_ADMIN_PORT:-8586}
  requestLog:
    appenders: [ ]

We'll keep taking a look to find a better way to handle this but for now that should remove the excess logging

Thank you @IceS2!! yeah I was trying to do something like that but wasn't smart enough to figure it out :) I did your change and deployed 1.3.4 and went from 20k logs per hour down to 300, so that's awesome. Thanks again

@IceS2 anything to address here. If its docs lets update it and close it out


GCS images are not available on Dockerhub

I am unable to pull any of the GCS image tags from Dockerhub. When trying to pull any of the 3 images I get the following;
$ docker pull fluent/fluentd-kubernetes-daemonset:v0.12-debian-gcs
Error response from daemon: pull access denied for fluentd-kubernetes-daemonset, repository does not exist or may require 'docker login'

I am able to pull other tags successfully.

me too got into this issue, any update on this issue ?
jaes-MacBook-Pro:k8s jaeraam$ docker pull fluent/fluentd-kubernetes-daemonset:gcsError response from daemon: manifest for fluent/fluentd-kubernetes-daemonset:gcs not found

We just built gcs images. Test it: https://hub.docker.com/r/fluent/fluentd-kubernetes-daemonset/tags/

I could not find out the docker image tagged as gcs.
$ docker pull fluent/fluentd-kubernetes-daemonset:gcs
Error response from daemon: manifest for fluent/fluentd-kubernetes-daemonset:gcs not found

Currently, we just build gcs images the following tags:

v1.11-debian-gcs-1 (For x86_64)
v1.11-debian-gcs-arm64-1 (For aarch64)

In more detail, please refer to README:

https://github.com/fluent/fluentd-kubernetes-daemonset#x86_64-images
https://github.com/fluent/fluentd-kubernetes-daemonset#arm64-images


Add required configs for a docker-based self-hosted setup

This PR allows one to self-host the PR-bot with Docker.

Hello, @shrikrishnaholla!Thank you for your contribution:smile:

Thanks :+1:


Conflict resolution GUI fails to run on 0.19.0-beta.3

MC 1.19.2
QL 0.19.0-beta.3
I'm able to consistently reproduce it by doing the following:

Install Indium, nothing else
Launch the game
Since Indium requires Sodium (and FAPI for that matter), the game crashes, but the Quilt's error GUI doesn't open
Java also fails to close gracefully, so we have to force kill it

Logs: https://gist.github.com/SplendidAlakey/db9d6841dc9fe2694fbfafb75a689eeb

Okay this should be fixed in beta.5 - can you retry?

Yep, fixed.

Actually, no, hold on. The JDK actually still remains open, even though it says process closed. I found that out after I crashed and went to delete the test instance, but couldn't due to a hung up JDK process.

Logs: https://gist.github.com/SplendidAlakey/db9d6841dc9fe2694fbfafb75a689eeb

Okay, beta 6 improved error handling to actually close the socket when anything goes wrong, which should close everything automatically.

Yep, now it's fully fixed, thanks!


No e-mail-adress?

Why did you end up not adding an e-mail-adress for the poster?

As mentioned in this article, https://jdvp.me/articles/Google-Forms-Jekyll-Comments, requiring user authentication was something I personally wanted to avoid


Not working

Cannot find module '@app/env' error is preventing the build

Are you getting this error?
Cannot find module '@app/env'.

@thecoleorton I have this error
my ionic version is 3.20.0 (newest). app scripts are newest too

Yeah .. Now it's solved!
On Wed, Jun 20, 2018, 7:30 PM<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:

Are you getting this error?
Cannot find module '@app/env'.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gshigeto/ionic-environment-variables/issues/31#issuecomment-398760043,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aek9suHy5wLxRNoSKe4bO1QgxMT31CErks5t-lWHgaJpZM4UpWFs
.


Add missing namespace std prefix and add build script

Mostly for my convenience but it does no harm.
Note that ./scripts/build.py -t currently fails.

If you merged main into your PR, shouldn't clang builds work now?
I still prefer not to get the std:: change into the main branch, whether you do that by reverting polymorphic_value.h to the main branch contents or create a separate PR for just the build fixes I don't care.

I could not get clang builds to work without the re-addition of std::. I didn't spend much energy or time investigating this.

I think this is no longer needed.


Unable to Complete the compilation to the executable

[ 70%] Building CXX object lib/CMakeFiles/face_mask.dir/src/util/xml/xmlfunc.cpp.o
[ 80%] Linking CXX shared library libface_mask.so
[ 80%] Built target face_mask
Scanning dependencies of target mask
[ 90%] Building CXX object test/CMakeFiles/mask.dir/main_face_mask.cpp.o
make[2]: *** No rule to make target '../test/../thirdpart/lib/caffe/libcaffe.so', needed by 'bin/mask'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:142: test/CMakeFiles/mask.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
this is the error that I'm getting now and I have no clue how to go about it... Someone help Please :) thanks in advance

Check if the path is right ? maybe try the absolute path.

How do I do that? Could you help me please?? I'm not very familiar with C++ side of things...

Maybe  the path "../test/../thirdpart/lib/caffe/libcaffe.so" is not wrong.

Maybe the path "../test/../thirdpart/lib/caffe/libcaffe.so" is not right.  The path should be relative to the executable file path.

I also had the same problem building this. I fixed it by going into the test folder and opening the CMakeLists.txt. Basically you are expected to keep all your libraries in a file called thirdpart(thirdparty?). I did not do this and instead i just found all the directories for the libraries and replaced them with my locations. This made the make succeed although i don't get how to use the shared library file that is generated.

Guys sorry for the late update! Thanks for your comments I managed to solve the issues and create the executable. The Readme needs a little fixing to mention to whoever is trying that they need to enter the correct path to files libcaffe.so mentioned by @2016110071 . that should do the trick. otherwise this code works. I'm still trying to figure ways to improve this code. Thanks @didi team for the code! If anyone need help let me know on this thread I could help

Ok so now you can close it

@hypadr1v3 once you have created the executable it will be available in the build/bin folder. if you are using Linux navigate the terminal to this directory and then type ls you will find the executable
now type ./"name of the executable"  "and type the directory of the picture to be identified" hit enter it should give you an appropriate output. same procedure for in windows with PowerShell.
I'm gonna leave this open till you get it running! :)

Thanks! now it works

@hypadr1v3 hey I am having trouble building this library. cmake runs fine but I have not been able to get the make command to work.
can you please share especially how you linked to all the required libraries?
do I need to build all of the requirements from the source?
Any help would be really great.

It would be helpful if you share your exact error when compiling the code. I had all of the requirements already installed either from binaries or from source. I use Ubuntu so I ran the grep command to find that certain requirement in my system(I had followed installation instructions of all of these packages from their respective manuals) and I added those into the CMakeLists.txt file instead of the directories they had made.


[feautre] add "untrack" event to android SDK

Add option to "untack" an event
something like:
Analytics.untrackEvent("video clicked")

or
val properties = mapOf("action" to "clicked")
Analytics.untrackEvent("video", properties)

the overall flow i would like to acheive
fun updateNumberLocations(oldNum: Int, newNum: Int) {
    Analytics.untrackEvent("locations", mapOf("number locations" to oldNum))
    Analytics.trackEvent("locations", mapOf("number locations" to newNum))
}

This option is already available via this API and it would be great if you can add it to android SDK.

Hi! Thanks for your feature request. This is not in our upcoming plans, but we will leave this feature request open to see if it gets traction.
Thank you!


Crash while connecting to newest Whatsapp for Android

Environment

Version: 1.24.0 65c7ac80 (downloaded release)

Operating system: Ubuntu 20.04 x86_64 with Linux 5.4.0-100-generic
Please describe the expected behavior.
After scanning the QR code to link a device to Whatsapp, the bridge should go on with its other tasks (ie. connecting to other bridges, and eventually starting message relaying).
Please describe the actual behavior.
Bridge panics after QR code is scanned.
This was tried with the previous .gob file, and with no .gob file at all.

Logs:
$ matterbridge --debug
[0000]  INFO main:         [setupLogger:matterbridge.go:104] Enabling debug logging.
[0000]  INFO main:         [main:matterbridge.go:44] Running version 1.24.0 65c7ac80
[0000]  INFO router:       [Start:gateway/router.go:66] Parsing gateway gateway-abcd1234
[0000]  INFO router:       [Start:gateway/router.go:75] Starting bridge: telegram.abcd1234
[0000]  INFO telegram:     [Connect:bridge/telegram/telegram.go:44] Connecting
[0000]  INFO telegram:     [Connect:bridge/telegram/telegram.go:53] Connection succeeded
[0000]  INFO telegram:     [joinChannels:bridge/bridge.go:77] telegram.abcd1234 joining -123456789 (ID: -123456789telegram.abcd1234)
[0000]  INFO router:       [Start:gateway/router.go:75] Starting bridge: whatsapp.abcd1234
[0000] DEBUG whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:64] Connecting to WhatsApp..
[0000] DEBUG whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:73] WhatsApp connection successful
[0000]  WARN whatsapp:     [restoreSession:bridge/whatsapp/helpers.go:80] open abcd1234.gob: no such file or directory
[0000] DEBUG whatsapp:     [restoreSession:bridge/whatsapp/helpers.go:83] Restoring WhatsApp session..
[0020]  WARN whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:78] failed to restore session: admin login responded with 403
[0020] DEBUG whatsapp:     [Login:bridge/whatsapp/whatsapp.go:133] Logging in..

<Whatsapp QR code here>

panic: interface conversion: interface {} is nil, not map[string]interface {}

goroutine 1 [running]:
github.com/Rhymen/go-whatsapp.newInfoFromReq(0xc000a4c040)
	/go/src/github.com/42wim/matterbridge/vendor/github.com/Rhymen/go-whatsapp/session.go:63 +0x951
github.com/Rhymen/go-whatsapp.(*Conn).Login(0xc0000a6b00, 0xc0000bc2c0)
	/go/src/github.com/42wim/matterbridge/vendor/github.com/Rhymen/go-whatsapp/session.go:268 +0xd36
github.com/42wim/matterbridge/bridge/whatsapp.(*Bwhatsapp).Login(0xc00014fb00)
	/go/src/github.com/42wim/matterbridge/bridge/whatsapp/whatsapp.go:138 +0x10f
github.com/42wim/matterbridge/bridge/whatsapp.(*Bwhatsapp).Connect(0xc00014fb00)
	/go/src/github.com/42wim/matterbridge/bridge/whatsapp/whatsapp.go:83 +0x2c5
github.com/42wim/matterbridge/gateway.(*Router).Start(0xc00014c500)
	/go/src/github.com/42wim/matterbridge/gateway/router.go:76 +0x35f
main.main()
	/go/src/github.com/42wim/matterbridge/matterbridge.go:65 +0x3be

Any steps to reproduce the behavior?

Update to the latest Whatsapp for Android version as of today: <IP_ADDRESS> (220474005)
Start the Android app
Tap on the three-dot menu
Tap on "Linked devices"
Tap on "Link a device". The QR scanning screen should appear.
Allow Whatsapp to use the camera if necessary
Start the bridge
When the QR shows up, scan it with the Android device
See the panic report

Please add your configuration file

matterbridge.toml:
[whatsapp.abcd1234]
Number=+123456789012
SessionFile="abcd1234.gob"
QrOnWhiteTerminal=false
RemoteNickFormat=""
MessageFormat=""

[telegram.abcd1234]
Token="<tg_bot_token>""
MessageFormat="HTML"
RemoteNickFormat="<b>{NICK}:</b> "

[[gateway]]
name="gateway-abcd1234"
enable=true
[[gateway.inout]]
account="whatsapp.abcd1234"
<EMAIL_ADDRESS>
[[gateway.inout]]
account="telegram.abcd1234"
channel="-123456789"

[tengo]
InMessage="tg.tengo"

tg.tengo:
text := import("text")

isWhatsapp := text.re_match("@", msgChannel)
if (isWhatsapp) {
} else {
}
// msgText=text.re_replace("\*\*",msgText,"blah")

Same issue here.

It looks like it's going to take a while for a fix since the whatsmeowupdate is very buggy and there is nobody (at the moment) that will take some time to update the code
@42wim wrote in the Discord channel:

wim — 02/24/2022
nope, no time and I'm not using it myself, PR's and/or fixes are welcome

Thanks for your reply @jzvi12. Totally understandable!
I have no idea of Go, so I just tried building branches with later versions of key libraries (spoiler: no success).

Building master with the latest go-whatsapp (from Jan 19), I could still reproduce the issue reported here.

Building whatsappmeowupdate as-is (as of today), it segfaults before showing the QR code.

Building it with the latest whatsmeow (from Jan 26) , it did go better:

the app recognized the login, and then the server exited with a timeout.
after restarting the server, it didn't crash or exit, but it also didn't relay messages to or from Whatsapp.

I think the solution may come directly from whatsmeow themselves. Either way I'll leave this to the pros.
Thanks again, and thanks to Wim and the team for this great project!

Same issue here. Did anyone find a way to not use WhatsApp multi device but keep WhatsApp running with the old way?

Building it with the latest whatsmeow (from Jan 26) , it did go better:

Can you describe what exactly you did?

Any updates?
Maybe I can support in some way when somebody tells me how to reproduce the fixing steps, then I could open an according PR.

This issue is fixed wit this PR: https://github.com/42wim/matterbridge/pull/1702
A few more tester could be helpful before it gets in the main release.

Thanks for the heads up @sirdrakeistda , and thanks for working with Wim on that PR.
It does fixes this issue indeed!

This issue is fixed wit this PR: #1702 A few more tester could be helpful before it gets in the main release.

Is there an artifact for this branch ready to be downloaded for testing?

@jzvi12 not that I know of, but it's easy enough to build. Just checkout whatsmeowupdate and go build.

Yes there are artifacts: check https://github.com/42wim/matterbridge/issues/1642

I've seen that the according PR is closed and merged, but no matther whether using the Docker "stable", "latest", "master" or "1.24.0" image, I still get the error:

goroutine 1 [running]:
github.com/Rhymen/go-whatsapp.newInfoFromReq(0xc00056c000)
	/go/src/matterbridge/vendor/github.com/Rhymen/go-whatsapp/session.go:63 +0x951
github.com/Rhymen/go-whatsapp.(*Conn).Login(0xc000145300, 0xc000120210)
	/go/src/matterbridge/vendor/github.com/Rhymen/go-whatsapp/session.go:268 +0xd36
github.com/42wim/matterbridge/bridge/whatsapp.(*Bwhatsapp).Login(0xc0005844e0)
	/go/src/matterbridge/bridge/whatsapp/whatsapp.go:138 +0x10f
github.com/42wim/matterbridge/bridge/whatsapp.(*Bwhatsapp).Connect(0xc0005844e0)
	/go/src/matterbridge/bridge/whatsapp/whatsapp.go:83 +0x2c5
github.com/42wim/matterbridge/gateway.(*Router).Start(0xc0005984b0)
	/go/src/matterbridge/gateway/router.go:76 +0x35f
main.main()
	/go/src/matterbridge/matterbridge.go:65 +0x3be

Seems a bit strange to me that there are still references to Rhymen/go-whatsapp and not to Whatsmeow... 🤔

@tpxtron well it's mentioned in the first message of the PR and it's added to the README  🤔
https://github.com/42wim/matterbridge#building-with-whatsapp-beta-multidevice-support

@tpxtron well it's mentioned in the first message of the PR and it's added to the README 🤔

OK, I wasn't that smart to check the README 🤦♂
That means I'll have to build the Docker container myself, if I do not want to instal GO on the machine that will be running Mattermost, right?

@tpxtron well it's mentioned in the first message of the PR and it's added to the README 🤔

OK, I wasn't that smart to check the README 🤦♂ That means I'll have to build the Docker container myself, if I do not want to instal GO on the machine that will be running Mattermost, right?

Yes, sorry, no other way to do this because of the license.

I'll add a Dockerfile for specifically building with multidevice support.

I've opened a PR for a Dockerfile with multidevice support: https://github.com/42wim/matterbridge/pull/1774

I'm going to close this, you should switch to the multidevice version
https://github.com/42wim/matterbridge#building-with-whatsapp-beta-multidevice-support


fix broken issue of citadel health check.

Fix: https://github.com/istio/istio/issues/11920
Add required labels for citadel health check deployment.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: morvencao
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [morvencao]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@morvencao: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@morvencao: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@morvencao: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test istio_auth_sds_e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@morvencao: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
cc703dd85e5fdf45913cbddefc738a075ecf2b62
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: morvencao, ymesika
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [morvencao,ymesika]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@wenchenglu Can we get this merged into release-1.1?


[Import Ontology] Credit ontology

Ontology
http://purl.org/credit/releases/2019-04-11/credit.owl
Please state the reason to import this ontology into the SwateDB
It was mentioned by the MIAPPE team at the Biohackathon Germany that it would be beneficial to include the credit ontology in out database. It contains many terms that can be used to fill the ISA field "role" (in the person schema). The ontology contains more terms to accurately describe a person's role within an investigation or study and provides more terms than are currently in the database.
Unfortunately, on their own website and on ontobee only the owl version is published. However, there is an obo version on github which should be the one to be imported. The github link is the following:
https://github.com/data2health/credit-ontology/blob/master/credit.obo

done!


Wikipedia full page text

Super cool work on the GAP dataset! For the page-context setting, would it be possible to get access to the original crawled pages from which the snippets were extracted. I see there a URL field in the tsv data files, but I'm guessing some of the pages have changed since then.

Sorry. On re-reading the paper, I realized the page-context setting uses only the URL and not the actual context. Apologies.


chore: bdd-sbrp-import-1587215958 to 0.0.1

chore: Promote bdd-sbrp-import-1587215958 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Make prune task ignore irrelevant symlinks

Symlinks not pointing to the local repo should be ignored.

Implemented in f3abcb5aa0410b35b758f95db6296a31e5a27855


Prepared Queries Documentation

The documentation on prepared queries passes non-variable column names through the preparation function like so:
var sql = "SELECT * FROM ?? WHERE ?? = ?";
var inserts = ['users', 'id', userId];
sql = mysql.format(sql, inserts);

My contention is that since those column names are not provided by user input, there is no risk of SQL injection, and that the same result could be had using the following strategy:
var sql = "SELECT * FROM users WHERE id = ?";
var inserts = [userId];
sql = mysql.format(sql, inserts);

That being the case, what is the purpose of the ?? at all since it just passes hardcoded strings through the preparation function? If there are any security benefits to passing the hardcoded column names through the preparation function, it may be useful to describe those benefits in the documentation as they are not intuitive (at least not to me).
Thank you.

You've already described their purpose: when they are user input. In your case if they are hard-coded, then you don't need to use ?? just like if your value is hard-coded there is no purpose to use ?. The example just shows how to use them in a general sense.


[$750 bounty] Replace PlotJuggler with Rerun

We've got a proof of concept of https://rerun.io support in tools/rerun/. Rerun will support all the things we want out of a visualization tool. The first step is to replace PlotJuggler, which we mostly use for ad-hoc debugging. Once this is done, we can do cool things like showing all three cameras alongside your plots.
At a minimum, this means:

demo route fully loads in <10s
rerun runs smoothly (>30 fps). the POC seems to have a leak and it's 10 fps on my machine
can plot all the same things as PlotJuggler, with the same workflow
nice README, similar to PlotJuggler's

No comma account or device needed - just use the demo route. Community feedback/discussion is at https://github.com/commaai/openpilot/discussions/32419.

please assign this to me

Is this closed?

It looks like you're referring to a bounty or task for replacing PlotJuggler with Rerun in a specific context or issue (possibly issue #32463). To get this done, you might want to follow these steps:

Understand Requirements: Make sure you know exactly what PlotJuggler is currently used for and what Rerun should replace or improve. Review the documentation or specifications for both tools.

Assess Dependencies: Check if there are any dependencies or integrations tied to PlotJuggler that need to be updated for Rerun.

Implementation: Begin the process of replacing PlotJuggler with Rerun in the codebase. This might involve updating scripts, modifying configurations, or adapting existing workflows.

Testing: Ensure thorough testing is performed to verify that Rerun works as expected in place of PlotJuggler.

Documentation: Update any related documentation to reflect the change from PlotJuggler to Rerun.

Submit Changes: Prepare and submit a pull request or change request, addressing issue #32463, and make sure to follow any contribution guidelines for the project.

If you need detailed instructions or assistance with a specific part of this process, feel free to ask!

Locked to @bongbui321, pending Rerun https://github.com/rerun-io/rerun/milestone/30 due to perf issues in their current version

Some things I use quite often that we want in rerun:

[ ] custom live functions (ability to reference multiple signals, time shift, etc)
[ ] layouts: save, load
[ ] show raw points easily
[ ] drag and drop
[ ] signal searching
[ ] easily manipulate plots: can add new signals on top or a new plot, split horizontally/vertically, zooming effects all plots at once, can see raw values via scrubbar
[ ] better performance, rerun's UI runs at a lower FPS for me
[ ] demo route never fully loads, or unloads and takes a while to load

in 0.18.0 new ingestion method preferred to rr.log for timeseries: rr.send_columns


Fix Archlinux support / update archlinux facts

Coverage remained the same at 79.245% when pulling 10eae2321c6cdc2831d608234c0c5ac12785c43d on bastelfreak:archlinux into 1a437a5279b55f7038926d3e05bd0ffbc228f9a2 on camptocamp:master.

Coverage remained the same at 79.245% when pulling 10eae2321c6cdc2831d608234c0c5ac12785c43d on bastelfreak:archlinux into 1a437a5279b55f7038926d3e05bd0ffbc228f9a2 on camptocamp:master.

Coverage remained the same at 79.245% when pulling 10eae2321c6cdc2831d608234c0c5ac12785c43d on bastelfreak:archlinux into 1a437a5279b55f7038926d3e05bd0ffbc228f9a2 on camptocamp:master.

Coverage remained the same at 79.245% when pulling 10eae2321c6cdc2831d608234c0c5ac12785c43d on bastelfreak:archlinux into 1a437a5279b55f7038926d3e05bd0ffbc228f9a2 on camptocamp:master.

Coverage remained the same at 79.245% when pulling 10eae2321c6cdc2831d608234c0c5ac12785c43d on bastelfreak:archlinux into 1a437a5279b55f7038926d3e05bd0ffbc228f9a2 on camptocamp:master.

Coverage remained the same at 79.245% when pulling 10eae2321c6cdc2831d608234c0c5ac12785c43d on bastelfreak:archlinux into 1a437a5279b55f7038926d3e05bd0ffbc228f9a2 on camptocamp:master.

Thanks @mcanevet. Can you do a new release as well?


Entrance and exit types of Civic Structures

Currently there is no way in Mobivoc to tag an Entrance as "pedestrian" or "main". There should be clarified which features need to be modelled.
Ideas

how to distinguish between different kinds of Entrances/Exits?
two ideas

use Exit -> is a CivicStructure -> can have AccessCondition -> can be valid for specific UserGroup or Vehicle -> needs Pedestrians
alternative: explicitly model subClasses for Exit/Entrance -> VehicleEntrance, PedestriansEntrance and then use e.g. owl restrictions to restrict usage

For pedestrians, MobiVoc already defined some properties: https://wiki.openstreetmap.org/wiki/Key:entrance


Integrate JP-CERT YARA rules

It's possible that it's already being done indirectly, but let's confirm. They have some interesting nation-state actor rules.

Link for reference: https://github.com/JPCERTCC/jpcert-yara
I haven't done an exhaustive search but I'm not seeing any references to the rules in our third-party rules.


Add quantity to relations

It is sometimes helpful to suggest a quantity for related products. E.g.
the number of balls of yarn that are needed to knit a jumper.
This adds a quantity to the relations table and the admin sections are
updated to manage the value as per the description field.
Some basic tests are added inline with the description field.
Recommend Products tab screenshot:

Variant edit screenshot

@camerond594

These changes look good to me. Just a personal request, when you make a PR that has a visual change, would you be able to attach a screenshot to the description? I find that it makes things a lot easier for me to visualize

Good shout. I have added a couple of screenshots, which should be helpful to anyone else with another fork who wondering if they want to make use of these changes.


Will this work for ZeroShotClassification?

Hello Charles,
I used the example from your medium article with one change. On replacing the DistilBert model with the Bart model, I get an error that the attribute does not exist. The model I am trying to use is "facebook/bart-large-mnli".
File "C:\TextClassificationV5\lib\site-packages\transformers_interpret\explainers\sequence_classification.py", line 129, in _calculate_attributions
    attribute = getattr(self.model, self.model_type)
File "C:\TextClassificationV5\lib\site-packages\torch\nn\modules\module.py", line 779, in __getattr__
    type(self).__name__, name))
torch.nn.modules.module.ModuleAttributeError: 'BartForSequenceClassification' object has no attribute 'bart'"
The model name is BartForSequenceClassification
And the model_type is Bart
Have I missed something?

Hi Prem,
Thanks for bringing this to my attention. I've just taken a look at this and have a few notes about the issue:

The ZeroShotClassification model although it is an instance of BartForSequenceClassification won't work like regular classification models as the model does some custom work with selecting labels - see the model card's description of manually getting prediction labels for an example of this.

The model you mention is for Natural Language Inference (NLI) and the Facebook/Huggingface team do some interesting tweaks of it's logic to make it function as zero shot classification. It's certainly a custom behavior I could and would be interested in building in eventually. I've a couple of features and pieces of cleanup on the regular classification explainer to do first, but I'm going to leave this issue open so that I eventually give this a proper look.

Funnily enough the specific issue you ran into here occurred for a different reason and is something I've started to remedy with #20 which is that the model_name was not uniform across all Huggingface models. For instance, Bert and Distilbert models have attribute signatures like my_bert_model.bert and my_distilbert_model.distilbert that allow access to the modules etc.  Encoder & Decoder models in the Huggingface library seem to behave differently, Bart models for instance look like my_bart_model.model. So when I tried to access the model by that attribute name it would naturally not work.

I'm currently working on a fix for #14 that should allow support for normal BartForSequenceClassification models by using the same method call for all models to get just the input (word) embeddings. This does change the attributions somewhat in some cases though so I'm trying to make sure I understand fully why they are different before I implement it.

Once I have that issue fixed you should at least be able to use Bart models like textattack/facebook-bart-large-MNLI which outputs whether a premise and hypothesis are a Contradiction, Neutral or Entailment to one another.

Thanks again for pointing this out, as you can see there are a couple of things getting in the way of being able to do this specific use case right now, but it is certainly something I hope I can get to!
Charles

First I would like to thank you for awesome work.
I am also looking forward for this work and planning to integrate with https://github.com/lalitpagaria/obsei
I have one query what will happen if I modify model id2label and label2id config before initialisation of explainer?
Like this
model.config.id2label = {0:"politics", 1:"public health", 2:"economics"}
model.config.label2id = {"politics":0, "public health":1, "economics":2}

Is this correct way to use it for zero shot predictions?

@lalitpagaria I haven't started on the zero shot explainer just yet, but I should be able to get a start on it soon as I have just finished up witht the question answering explainer.

Just a quick update on this, I've started progress on this explainer and have figured out how to make it work I think, hoping to have a PR together in the next week or two, the explainer will likely end up being a very slight modification of the classification explainer.

Hi Charles,
First, thank you for the detailed reply to the query I had posted on the ZeroShot Classification.
@lalitpagaria On initial testing, yes. On populating just the id2label and label2id fields with the labels that you are passing, there are some results being populated.
However, there are still some further tweaks that are required.

There is a limit on the number of words. On passing larger paragraphs with a set of sentence-based classes, I am getting memory issues.
On reducing the number of words, the selected class is not the same as that of the class suggested by the ZeroShot Classifier. Obviously, since the number of parameters is reduced, we should expect the classes to be different and now I am trying to reduce the number of words in my input to test if I get the same results.

Thank you so much, Charles. Looking forward to hearing from you. And I can also help with some testing if you so require.

Hi everyone,
So I have the bones of a basic implementation done, but still have one or two design decisions to make I've started a discussion over at #40 if you would like to participate I'd really love to hear your thoughts.

Thank you @cdpierse
Apologies for not replying earlier, I am currently stuck with some task.
I will certainly check this out and share feedback.


Add constraints argument to dags/requirements.txt

Issue #, if available: #67
Description of changes: Adds a constraints argument to the first line of dags/requirements.txt so that adding additional apache-airflow-provider requirements doesn't cause pip to automatically install their latest versions, which rely on higher versions of apache-airflow due to breaking changes and therefore cause pip to install the latest version of the whole apache-airflow package.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Covered in docs: https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html#working-dags-dependencies-test-create


Can't import CJS modules via ESM import statement

While verifying the loading of the Node.js package, we encountered another strange event.
// logger.js
import { Logger } from '@aws-lambda-powertools/logger'
const logger = new Logger()
logger.info('Hello world')

% llrt logger.js
SyntaxError: Could not find export 'default' in module '/Users/shinya/Workspaces/llrt-test/node_modules/lodash.merge/./index.js'
  at <anonymous> (eval_script:1:5)

% node logger.js
{"level":"INFO","message":"Hello world","sampling_rate":0,"service":"service_undefined","timestamp":"2024-10-22T13:47:00.450Z"}

% bun logger.js
{"level":"INFO","message":"Hello world","sampling_rate":0,"service":"service_undefined","timestamp":"2024-10-22T13:50:09.638Z"}

While investigating reproduction methods, we found that the same event reproduced itself in the following application structure.
// hello.js
var hello = function world() {
  return "hello world"
}
module.exports = hello;

// main.js
import hello from './hello.js'
console.log(hello())

% llrt main.js
SyntaxError: Could not find export 'default' in module '/Users/shinya/Workspaces/llrt-test/./hello.js'
  at <anonymous> (eval_script:1:5)

% node main.js
file:///Users/shinya/Workspaces/llrt-test/main.js:1
import hello from './hello.js'
       ^^^^^
SyntaxError: The requested module './hello.js' does not provide an export named 'default'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:171:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:254:5)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:483:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

Node.js v22.9.0

% bun main.js
hello world

The same event occurs with Node.js in this way. However, the behavior changes when hello.js is changed to hello.cjs.
// main.js
import hello from './hello.cjs' // The content is exactly the same as hello.js
console.log(hello())

% llrt main.js
SyntaxError: Could not find export 'default' in module '/Users/shinya/Workspaces/llrt-test/./hello.cjs'
  at <anonymous> (eval_script:1:5)

% node main.js
hello world

% bun main.js
hello world

The following is what we can assume from these findings:

Bun has the ability to import CJS files.
Node.js has the ability to import CJS files with the help of package definitions or extensions.
LLRT does not support either.

Hi @nabetti1720 thanks for reporting. This is also quite complex as all import statement currently goes though the "resolver/loader" procedure. I've tested an approach where we detect inside the loader if we should resolve a CJS module and then generate a source file which internally uses our require function to then re-export that. This proved to be more difficult due to cyclic issues as we won't run the loader again which is inside the require code. I need to think about a different approach to this problem.

When we encounter a module like this one, instead of loading the module as is, can we wrap it in the following code and load it?
[“{default: ", code, "}”].concat()

It was inspired by the following code, which we discovered during our research on another issue.
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }

I've got a fix for this. We can't simply do string concatenation as this is much more complex. Will submit PR soon and you can see the fix :)

@richarddavison . Unfortunately, I have tried with the latest commit(#d2a5f66) and this problem does not seem to have been resolved...
// hello.js
var hello = function world() {
  return "hello world"
}
module.exports = hello;

// main.js
import hello from './hello.js'
console.log(hello())

% llrt main.js
SyntaxError: Could not find export 'default' in module '/Users/shinya/Workspaces/llrt-test/hello.js'
  at <anonymous> (eval_script:1:5)

However, if the file extension to require is set to cjs, there is an improvement.
// main.js
import hello from './hello.cjs' // The content is exactly the same as hello.js
console.log(hello())

% llrt main.js
hello world

My understanding is that the current implementation is correct because I believe that the extension inherently contains information to determine if it is a CJS or an ESM.
But since these use cases work in other runtimes, I believe that other runtimes implement more complex logic than the determination by extension.
I think LLRT should first have an option (e.g., an environment variable) to temporarily cancel the strict decision to accommodate these use cases, while keeping the existing implementation as much as possible. Then I can enable that option and continue the validation.
After that, we believe a better approach would be to implement an automatic decision-making process.

We can also force all require() statements to treat imports as CJS (that can also export things)
So this would work:
module.export.a= 1;
export const b = 2;

We can also force all require() statements to treat imports as CJS (that can also export things)

What does this mean? Does it mean replacing the Module::declare() at the end of the loader with a call to self::load_cjs_module()?
https://github.com/awslabs/llrt/blob/d18dcf3f897f793aa026c18b90c9277cf4e3bc8f/llrt_core/src/module_loader/loader.rs#L178


printk (RTT backend) from isr can deadlock the system

Describe the bug
Calling printk from interrupt callback can deadlock the system if RTT backend is used.
The problem is caused by SEGGER_RTT_LOCK called from rtt_console_out (in ./drivers/console/rtt_console.c). Console out is called directly from printk (see _vprintk) and can cause deadlock if called from an interrupt context.
To Reproduce
Steps to reproduce the behavior:

Build with printk enabled, CONFIG_LOG_PRINTK disabled, enable RTT backend.
At the same time log messages from thread and use printk from interrupt.
Observe system deadlock

Expected behavior
Printk should not deadlock the system under any circumstances.
Impact
Cannot use debug messages from interrupts with RTT backend.
Screenshots or console output
N/A
Environment (please complete the following information):
rev:f2d8d93269ddce9dd7629c8a8c6d38d511c3d399
Additional context
N/A

btw CONFIG_LOG_PRINTK should be usable workaround

CC @pkral78

Well, I don't see CONFIG_LOG_PRINTK as a workaround rather than proper solution, what is purpose to use rtt console (seems deprecated to me) instead of logger backend when RTT logger backend is enabled at same time ?
But anyway I agree that printk must be usable from isr context, so if use of rtt console is really a must, there is proposed solution:
1.) remove locking macros from rtt_console.c completely as they are not usable from isr context
2.) write to RTT buffer atomically (disable/enable interrupts globally)
3.) ensure by Kconfig that RTT console does not share its RTT up buffer with other subsystems like logger backend (condition for 1.) that uses locking macros and are not usable within isr
Implementation of 2.) could be done super fast as only counting of reservation storage for a message in rtt ring buffer must be done atomically.

@carlescufi @nordic-krch comments are welcomed.
There is also possibility to write to RTT buffer and deal with isr context without disabling interrupts for the entire time of writing to RTT bufer. By introducing atomically incremented pointers to next writable area (which could be done with ldrex/strex) and disabled interrupts only when synchronizing these pointers with offset pointers for RTT buffers. However this requires to implement custom writing functions - not big deal, but this will render official SEGGER API unusable.
So question is, do we really need this? I think not, for this particular issue, the logger redirection solves it elegantly.

Ok, we may use logger redirection and this solves printk issue.
Anyway we got similiar problem when we want to write to RTT buffer in interrupts for example when we are using profiler (like SystemView). Some time ago there was separate thread for SystemView profiling, but now it uses hooks, so we may write to RTT nearly from any context - it may cause the same problem as it was reported for printk. It may be solved using additional thread, but this would take additional time and for bigger systems it may be serious issue. I think that we could use irq_locks for RTT write instead of using mutex. Writing to RTT does not last long and it shouldn't cause problems.
Changing from mutex to irq_lock would also fix issue:
https://github.com/zephyrproject-rtos/zephyr/issues/11244

@MarekPieta Intent not to lock an irqs in locking macros is that default (i.e. channel 0) up/down buffers are shared across many subsystems on Zephyr that simply does not need to lock irqs.
You should allocate and use different RTT channel for SystemView, assigned exclusively for this purpose. I do not know details how SystemView works, but to deal with irq priority there, it of course need to lock irq (or if latence would be unacceptable then some clever locking which suggested in discussion above). I just hope that SystemView does not simply reuses SEGGERS RTT locking macros directly and defines its own (overridable) locking macros.
For more details see original discusion in #10659

Hi @pkral78 ,
First and foremost there is only one lock in RTT called (SEGGER_RTT_LOCK) that is taken whatever destination buffer is selected.
Second, profiler hooks are called from various places inside the system - some of them from interrupt context in which you cannot take mutex.
There are 3 ways of solving issue in profiler:

Create a dedicated thread for deferred send of profiler data. Seems obvious but first, we will not avoid taking a lock (irq_lock) at least for a short time and second, deferring the send does not mean there will be no impact on system performance as you need more memory and CPU power to maintain it. Also processing thread cannot have low priority as data will be lost in highly load systems (the exact ones that you usually want to profile).
Convert the lock type so we can add data to RTT from any context. This seems expensive as we will hold the lock while filling in the buffer so for a longer time. But this is the simplest possible solution for this system to work. It may also be all-in-all cheaper compared to 1).
Rework the RTT subsystem so it would work in lock-less fashion (or nearly lock-less). Note that RTT is already deferred and there is no point in making additional thread or buffer. The real problem is that the SEGGER_RTT_LOCK is taken for long periods of time. The ideal situation would be for it to be taken only to reserve space in the buffer and when the buffer is mark ready for processing so pointers used by host could be safely updated. Also we should have separate lock for each channel. The problem with this approach is that it will require much more time to implement and we need the profiling now.

Hi @pkral78 ,
First and foremost there is only one lock in RTT (called SEGGER_RTT_LOCK) that is taken whatever destination buffer is selected.

That's just SEGGER's RTT library design limitation. RTT itself does not suffer from such global lock.

Second, profiler hooks are called from various places inside the system - some of them from interrupt context in which you cannot take mutex.

Right, but it does not implicate that Zephyr should lock whole system because of SystemView.

There are 3 ways of solving issue in profiler:

Create a dedicated thread for deferred send of profiler data. Seems obvious but first, we will not avoid taking a lock (irq_lock) at least for a short time and second, deferring the send does not mean there will be no impact on system performance as you need more memory and CPU power to maintain it. Also processing thread cannot have low priority as data will be lost in highly load systems (the exact ones that you usually want to profile).
Convert the lock type so we can add data to RTT from any context. This seems expensive as we will hold the lock while filling in the buffer so for a longer time. But this is the simplest possible solution for this system to work. It may also be all-in-all cheaper compared to 1).
Rework the RTT subsystem so it would work in lock-less fashion (or nearly lock-less). Note that RTT is already deferred and there is no point in making additional thread or buffer. The real problem is
that the SEGGER_RTT_LOCK is taken for long periods of time. The ideal situation would be for it to be taken only to reserve space in the buffer and when the buffer is mark ready for processing so pointers used by host could be safely updated. Also we should have separate lock for each channel. The problem with this approach is that it will require much more time to implement and we need the profiling now.

Please do not follow an universal solution approach as it will always cost more but first and foremost is not needed at all. Rule 1. do not increase latency for interrupts if possible. Your (SystemView) subsystem need write to RTT from interrupt context. OK then redirect it to new non-shared channel that are not touched by mutex and use IRQ locking to handle IRQ priority switching.
If SystemView uses same SEGGET_RTT_LOCK macros it just indicate its bad design. Rename it to SYSTEMVIEW_RTT_LOCK whatever and use irq_enable/disable .

@pdunaj Sorry for late reply. Yes please create new issue and link this to stay aligned with latest discussion.
I'm not against better locking approach, but keep in mind that:
a) current Zephyr RTT consumers (subsystems) do not need to disable interrupts due fact they do not access RTT from interrupt context
b) any better locking will result making RTT library obsolete - see my comment https://github.com/zephyrproject-rtos/zephyr/issues/11393#issuecomment-440572495 - reservation locking you also are talking about
c) due b) it certainly will need to refactor SystemView


Cubic Sphere generating algorithm

Develop and implement cubic generating algorithm

New representation

Example of the field with the size 255. Here we have 387098 points. It was generated in just 0.05s


Make Moment immutable

Included two-property methods,
operations
qubits
Included two private variables to serve operation and qubits.

Fixes #2359

Ah, you need to import Tuple from typing in order for the tests to pass.

@Strilanc
I am getting below error on the build-docs phase of the build. you have any idea about it.
Warning, treated as error:
/home/travis/build/quantumlib/Cirq/docs/generated/cirq.Moment.operations.rst:2:duplicate object description of cirq.Moment.operations, other instance in generated/cirq.Moment, use :noindex: for one of them
FAILED
The command "dev_tools/build-docs.sh" exited with 2.

I think it's because there is an operations entry under the Attributes section in the docstring at the top of Moment, and this is no longer correct now that operations is a property. If you delete the attributes section in the docstring of moment, the error should go away.

@jitendrs Checkout from upstream master if you don't wish to git reset the files you didn't touch
git checkout master -- cirq/contrib/quirk/cells/parse.py

I have raised another PR. #2391. To Solve issue with the previous codebase.
Fix license issue.
Fix merge issues occurred during the build.
Injected require code changes for momment.py

@vtomole I fixed it in another PR. since I wanted to make sure license issued get corrected.

closing this PR as requested code merged in #2391


Build script globally-installs babel and fails if an outdated version is already installed

The postinstall script globally installs babel's cli, which is not something I want packages to be doing without my permission.  I imagine other developers would feel the same way.
Also, if the user already has an outdated version of the babel cli installed, the newer version isn't installed.  In my case, the build tries to pass new babel cli flags to the old version and thus fails.
Both of these problems can be solved, and complexity reduced, by adding babel-cli to devDependencies.

I did this in #950 because babel-cli now has this preferGlobal flag, but I can see that it probably wasn't the best choice now... :cold_sweat:
Actually I'm going to drop the postinstall script entirely and move compilation to prepublish.
I did some research last night about the right way to do this, so I've got a much clearer idea of how this should be done now. I'll clean it all up and cut 0.9.1 asap.


Handle corner cases for curve baking

When control point and in/out point have equal position, the derivative of bezier curve is 0 vector, which cause error message in Basis::look_at().

ERROR: The target vector can't be zero.
at: looking_at (core/math/basis.cpp:1041)

Also cause https://github.com/godotengine/godot/issues/69789
This commit handles this corner case.
Fix https://github.com/godotengine/godot/issues/69789

To be more precise, they are the corner cases of how to correctly calculate tangent for one 2D/3D bezier segment. And like Vector2D/3D::bezier_derivative(), they can be used more generally than in Curve2D/3D. So I feel it could also be put on Vector2D/3D instead of Curve2D/3D.

I don't think so. There are several ways to think about the treatment of end/sharp points, and the error caused by the Curve class calculation using look_at() should be handled by the Curve class.

Thanks for the explanation. I think you are right. I moved these methods to Curve2D/3D as internal methods, to keep them as implementation detail.


Updated ResNet to work with 2019-06-04 development snapshot.

Partially fixes #165.

I have incorporated this change into https://github.com/tensorflow/swift-models/pull/166 so that one PR updates all models. Close this PR.

Sounds good!


Wrong method of getting directory names

FD uses the wrong (for windows API) method of getting directory names (probably the code is copied from asp.net).
An example of one of the bad entries:
                string url = Assembly.GetEntryAssembly().GetName().CodeBase;
                Uri uri = new Uri(url);
                return Path.GetDirectoryName(uri.LocalPath);

This will not work properly if the name contains characters that are allowed for files but special for Uri (for example, '#')'.

Steps to reproduce bug:
1 Install FlashDevelop in "c: /progs#/fd"
2 Launch FlashDevelop
3 Create or open any haxe project
4 Try to build a project:
Unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: path1
   at System.IO.Path.Combine(String path1, String path2)
   at FDBuild.Program.Main(String[] args)

Tested with version: https://github.com/fdorg/flashdevelop/commit/3ab79ffdbe


Retrieve archive data from CALM API

Issue
https://github.com/wellcometrust/platform/issues/4210
Description
Includes logic for fetching CALM data from the API in the adapter.

Thanks @alexwlchan, have addressed your comments


ShardedStorageDevice and related classes/interfaces

Is there a reason ShardedStorageDevice and related classes/interfaces are private?

No good reason. We just didn't test them well, so left them private. You could copy them over as a sample.


dart: Fix dart2native by patching all ELFs

Motivation for this change
dart2native (and probably other binaries) from dart were not working. For example:
Before:
$ /nix/store/ihlzjcxahcack6chfzphb74bkccmq6br-dart-2.7.2/bin/dart2native hello.dart
Failed to generate native files:
ProcessException: No such file or directory
  Command: /nix/store/ihlzjcxahcack6chfzphb74bkccmq6br-dart-2.7.2/bin/utils/gen_snapshot --snapshot-kind=app-aot-elf --elf=/tmp/HSHJQU/snapshot.aot /tmp/HSHJQU/kernel.dill

After:
$ /nix/store/czw7kpdmcqa76a9j00v2pjygrq7gy4c7-dart-2.7.2/bin/dart2native hello.dart
Generated: /home/thiagoko/hello.exe

$ ./hello.exe
Hello, World!

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GRBurst.

Maybe @worldofpeace can help here too?

Pinging @GRBurst and @worldofpeace again (sorry for bothering).

@marsam ?

/marvin opt-in
/status needs_reviewer


4.0 (Serilog 2.0) Release

@mivano the build scripts in dev are now the latest, and the package has been retargeted to 2.0.
Once this hits master, the new build infrastructure will publish it as 4.0.0 and we can then set project.json in dev to 4.1.0-* to begin publishing pre-release builds in that series.
Anything else we need to do for this one? Fire away? Cheers! :-)

Looking good. I normally also update the changes.md and readme.md file.

@mivano Added the PR contents to the changelist, but need to fill in some gaps, might have to do it after-the-fact :-)
Cheers!

Build and publish succeeded; GitHub tagging failed (perms issue I've now fixed).
Putting a "dummy" build through to fix CI :-)

great, thanks!


Deployment to VPS

Docker with docker-compose on a a server.

[x] Investigate free/cheap stuff

[x] Ask the polygamedev

[ ] create deploy script
[ ] setup deployment branch
[ ] setup travis

Deployed on Heroku using config from the template


Add Hedera network

Here is some public node:
https://swirldslabs.com/hashio/

Chain id 295
explorer: https://hashscan.io/#/mainnet/accounts
I don't think this chain is EVM https://docs.hedera.com/guides/core-concepts/smart-contracts/hyperledger-besu-evm Addreses, contracts and blocks are in different format

Did you tried this node https://mainnet.hashio.io/api ?

Yep, it works and I get chainID from it, problem is that their addresses, contracts, and blocks are in different formats

{
"key": "296",
"name": "Hedera Testnet",
"shortName": "Hedera Testnet",
"chainId": 296,
"network": "Hedera Testnet",
"testnet": true,
"multicall": "0x0000000000000000000000000000000002e5a188",
"rpc": [
"https://testnet.hashio.io/api"
],
"explorer": "https://hashscan.io/#/testnet/",
"start": 48603528,
"logo": "ipfs://bafkreicizgwcwo5sffhjwmc5ifn3lrl2lr47qupxsfnvvqtqwfos6y27gu"
}
Need to check:

[ ] start block
[ ] Check payload limit (works only with one address)
[ ] Check multicall with other addresses and blocks

Mainnet:
"295": {
  "key": "295",
  "name": "Hedera Mainnet",
  "shortName": "Hedera",
  "chainId": 295,
  "network": "Hedera",
  "multicall": "0x000000000000000000000000000000000014bbfb",
  "rpc": [
    "http://<IP_ADDRESS>:7546"
  ],
  "explorer": "https://hashscan.io/#/mainnet/",
  "start": 39113460,
  "logo": "ipfs://bafkreicizgwcwo5sffhjwmc5ifn3lrl2lr47qupxsfnvvqtqwfos6y27gu"
}

Hey @ChaituVR what's the status on this issue? 🙏

@zzuziak There is still some blockers to integrate Hedera, we have a chat on Telegram with some partner will add you.

The main problem is their RPC nodes are not EVM equivalent (though their network is EVM compatible)

Shall we move it to backlog for now then?

Yep, i think we should.

Closing this for now


Remove the Spring Cloud K8s bits

Now that we load the app secrets by mounting them to /deployments/conf/application.properties, we don't really need the K8S client in the integrations.  And if we don't need it, then we also don't need a service account for the integrations either

see PR #355

done


Can we avoid "index read failed: EOF"?

Whenever a dataset changes the indices on it becomes useless and trying to read them causes the server to respond with index read failed: EOF.
I'd like to avoid these issues and simply ignore the failing indexes rather than failing the whole request.

Related: https://github.com/src-d/gitbase/issues/580

In my opinion, ignore the index shouldn't be an option. You can delete it if your dataset changed and then create it again using DELETE INDEX statement.
WDYT @src-d/data-retrieval @smola @mcuadros ?

@ajnavarro I agree. We need to define a supported way to update/ingest data in gitbase (https://github.com/src-d/gitbase/issues/580 https://github.com/src-d/feature-idea/issues/106), right now, I would consider this just unsupported and dropping index as the only workaround.

As a temporary solution, we can keep checksum+timestamp whatever what let us figure out for what data set an index was created. Like @ajnavarro said, so far we're static/read-only query frontend for git dataset. There is no auto-updates mechanism. It has to be done manually (delete + create).
On the other hand, all DBs which support non-read-only operations do it via SQL interface (insert/update/alter) and it always super unsafe to modify raw dataset.


add extra fields in menu

Laravel Version: 5.5.40
Voyager Version: 1.0
PHP Version:
Database Driver & Version:

Description:
how can I add extra fields in menu or menu item? For example, I want to add column "description" in menu table.
Steps To Reproduce:

I found it. Just in database manager you can do anything you want. Cool.


Blender: Bugfix - Set fps properly on open

Brief description
Fix event callback on new/open to set fps and frame range properly.
Description
See issue: Blender 3.1+ don't set frame range and fps on open -> https://github.com/pypeclub/OpenPype/issues/3424
Testing notes:

Just open a shot task with setted frameStar, frameEnd and fps in a Blender 3.1+ host.

resolves #3424


Task - Comprehensive digitization - radius type georeferences fail

When I create several georeferences in the interface, then I attempt to add a point/radius (circle), then the spinner locks after the response is a 422 Unprocessable Entity .

Works, the problem is other. "{"error_radius":[" must be less than 10 kilometers (6.6 miles)."]}"
Can we fix this? or the limit its okay? because in that case we should display a error message when the shape its not created

@jlpereira The radius can't be bigger in TW (it doesn't make sense), we should fail and report the message.

Working in new filter code.


bug: side squeezed because of the size of video container

@hkirat  may i work on this

From my point of view, the best you can do here is add shadcn sheets, such that when the size of the video player or size of the screen expands/contracts u could contract and expand sidebar depending upon the requirement.
Source: https://ui.shadcn.com/docs/components/sheet

@Neon-20  thank you for your guidance

#313 will solve this I guess

it fine if its get solved by #313 i'll try to solve this too


How do we handle films?

I think films could be treated as data files: https://jekyllrb.com/docs/datafiles/
Basically a film has:
a title
an image
a date it's being (or was) shown
a description
a trailer
alt-text (for image)
certificate
doors:  e.g 7:30pm
starts: e.g  8pm
full-price: e.g 4
discount-price:  e.g 3
(anything else?)
By storing it in a datafile it's easy to past films in a list.
I'm not sure about:
parsing out the date such that we could find the next on, last on for example.
order files by date or title for example
pick just one out to be our featured film (or again next on)
@caffiendcode - thoughts?

I've addressed a lot of this by just using a CSV file.
Answers to the original questions:
parsing out the date such that we could find the next on, last on for example.
We can do this with date filters.
order files by date or title for example
sorting is pretty easy in jekyll
pick just one out to be our featured film (or again next on)
by giving each film an id we can do this
Examples of all of the above are implemented in version 2 - see the films.md page, index.md (or main.md)


[GWS] Login

cms/login
webmail/login

Coverage increased (+0.04%) to 79.898% when pulling a1e72546c882a0e53a2d1597e0a1750dd91bb80e on tany:gws-login into d1691d5be2b6104b449f982c9ef0cf9db3b0f076 on shirasagi:dev/gws.


doomretro: init at 4.9.1

Yet another Doom port. As expected, it needs a WAD file to effectively run.
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 229574 run on x86_64-linux 1

1 package built:

doomretro


getValueForPos() not returning the expected value

I already posted about it in the cartodb google group, here: https://groups.google.com/forum/#!topic/cartodb/nonrmLM6-go
Basically, I'm not getting the value I expect from getValueFromPos(). I have a -torque-aggregation-function:"sum(revenue)" rule, and the revenue field in the table is set to 4500 for all records (for testing purposes), but I'm getting what seem to be arbitrary values:
https://www.dropbox.com/s/6jf1h6rfktr68ju/Screenshot 2015-04-23 18.55.14.png?dl=0
Am I misunderstanding something?

@fullofcaffeine would it be possible for you to show us the example you're working with? It would really help.

@fdansv https://github.com/fullofcaffeine/carto_torque_test
Let me know if you need anything else.

I've changed it to be served with Rack so I could put on Heroku, for your convenience: http://pacific-inlet-5306.herokuapp.com/.

Check the console for the values. I'm expecting them to be much larger, since it's based off the revenue column.

@fdansv It just occurred to me that this might be because Torque doesn't support Heatmaps that represent distribution of values, but only density (concentration of points). Is that why? If so, is there a way to base the heatmap out of a specific attribute, and if not, do you plan on adding this feature soon?
Reference: http://gis.stackexchange.com/questions/256/how-to-build-effective-heat-maps

@fullofcaffeine I think this is due to something we were discussing the other day. Basically values in Torque right now are capped between 0 and 255, since we use an 8 bit integer array to store them. I'd like to change that soon by specifying max and min values on the layergroup like we do with dates. But for now I'd recommend you to normalise your value data, if possible, to values between 0 and 255 and remap them in the client.
Does that make sense?

@fdansv Could you give me an example of doing that?

Sure, say that you have a column revenue with these values:
1700
260
30
520

You could create a new column where those values are mapped to a range between 0 and 255, with the following expression:
mappedValue = 255 * ((value - minValue) / (maxValue - minValue))

Use that in torque-aggregate-function, and, using getValueFromPos():
realValue = minValue + (maxValue - minValue) * (getValueFromPos(x,y) / 255)

In this case, minValue and maxValue would be 30 and 1700 respectively.

Oh, a linear map. Got it.


missing dependency

The code uses headers from std_srvs (https://github.com/WPI-RAIL/interactive_world/blob/a5a27a3d52d9a692a41acc05d73defe713e3e92b/spatial_world_model/include/spatial_world_model/Tracker.h#L7) but the package.xml does not contain a dependency on std_srvs.

Whoops, fixed in https://github.com/WPI-RAIL/interactive_world/commit/1405de275d6b5a14385970a5738765aa07f7ac4e


Fix network performance

Looks like UDP is treated badly.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

This appears to be just Sydney datacenter. Works fine in Frankfurt.


[Wiki] Campsite list: San Francisco and San Jose entries under Costa Rica doesn't belong there

Hi, in the Camp City based campsites:
https://github.com/FreeCodeCamp/freecodecamp/wiki/List-of-Free-Code-Camp-city-based-Campsites
San Francisco and San Jose entries under Costa Rica really belongs to United States.
Both will be removed, besides I the camp city based for Costa Rica, San Pedro, would be added here's the link:
https://www.facebook.com/groups/free.code.camp.costa.rica.san.pedro
I follow challenge instructions and report new group to @QuincyLarson but someone on the chats room told me raise the issue here too.
Regards

@cumanacr Please open up this issue on the wiki repo https://github.com/freecodecamp/wiki/issues
Happy Coding!


[modify] use MongoDB 4.4 on CI

Coverage increased (+0.003%) to 84.935% when pulling a57e853bdc5f1c1ef257f3cc6b7ae2fb8ad6329f on pr-mongodb-4.4 into fc39b949aa1e0edda5ae931299affaa8686ebb15 on master.


Warning: This project is dead and it does not work anymore

Unfortunately this project is dead, do not waste your time...
There are open issues for month which prevent this plugin from working:
#715 (SASS file hard-linked to bootstrap-4.2.1)
#703 (Switch ignores if the checkbox is checked)
#701 (Minor version comes with breaking changes)

Do we have enough people still using this to successfully maintain a fork?
I'm willing to lend a hand, as long as we're maintaining bootstrap 3 compatibility.

I've reopened the conversation with @himdel to find a way for the project to be brought back on track. Related: https://github.com/Bttstrp/bootstrap-switch/issues/703

I've reopened the conversation with @himdel to find a way for the project to be brought back on track. Related: #703

Any updates?

Well, here's the thing, I'm only really familiar with v3.3.4, the last version working with bootstrap 3.
If you're looking for a new release in that branch, I can release a 3.3.6 with any changes there's a working PR for.
But there has been some git history loss between 3.3 and 3.4, so I'm not sure I can meaningfully work on 3.4.
What is it you're looking for?

Main thing for me is that the checked state of the toggle stopped working. Rolled back to 3.3.4 though for now and seems to be okay so perhaps can just leave it at that.


Fetch instrumentation does not keep original request headers

Please answer these questions before submitting a bug report.
What version of OpenTelemetry are you using?
0.19
What version of Node are you using?
v15.13.0
Please provide the code you used to setup the OpenTelemetry SDK
    const tracerProvider = new WebTracerProvider(config.telemetry.provider)
    tracerProvider.addSpanProcessor(new BatchSpanProcessor(new ZipkinExporter(config.telemetry.exporter)))
    tracerProvider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()))
    registerInstrumentations({
        instrumentations: [new DocumentLoadInstrumentation(), new FetchInstrumentation()],
        tracerProvider,
    })
    tracerProvider.register({ contextManager: new ZoneContextManager() })

What did you do?
Nothing more than installing the packages and adding the above snippet imported at the entrypoint of the application.
repro project
What did you expect to see?
Original request headers (notably a x-authorization header for authenticated requests) to be left in the instrumented request.
What did you see instead?
Original request headers are stripped, only the traceparent header is present.
Additional context
The fetch instrumentation is preventing any and all authenticated requests (which, given the application I'm working on, is all of them).

Seems to work for me in Chrome and Safari. What browser and version are you using?

@SolarLiner any chance that you can help me reproduce it?

I think this issue was fixed by #2466 @SolarLiner can you please confirm? If not I will close this issue in a week

@dyladan : Do you missing the close?
Regards, Sascha


Remove Data.Monoid newtypes

Any, All, First, Last, Sum, and Product are all useful type/constructor names and it's very rare that I would use the newtype instead of just calling the function of the same name.
The only times that I've ever referred to these things in P is when I have to hide them so I can use the name for one of my own types/constructors.
Have other people found the same thing?
I would like to propose removing them and freeing up the names.
This will be a breaking change that will cause a little bit of churn, for one thing all the places where I have:
import P hiding (All) -- etc

Do we actually use these anywhere? I didn't know they existed. Would be good to estimate the churn before pulling the trigger

Look at the code on my disk the only churn for projects I have would be removing the hiding (XYZ) clauses


Add depends_on to fender-amp-drivers

Thank you for the contribution. It was merged directly as 0e60386f02c91cba8ac753f7602f6f8d2c8a7a8a to keep commit history cleaner. Your contribution is still credited to you.


[BUG]

Describe the bug
The window opens half off-screen. Only the word "Control" is visible in the title bar. The window cannot be dragged on-screen by dragging the title bar. No contextual menu is available when shift-right-clicking the title bar.
To Reproduce
Steps to reproduce the behavior:

Click Magic Control on the task bar.

Expected behavior

App window opens on screen
App can be dragged around by clicking on the title bar

Screenshots

Desktop (please complete the following information):

OS: Windows 11

Additional context
It recently started happening.  No idea why.  i have not changed the screen resolution at any time.

I see you are using either version 0.1 or 0.2. Try with version 1.0.0 and let me know if the error persists.

That appears to have sorted it Martyn. Thanks.


Set default ordering for Orders table to 'most recent'

Based on feedback from organizers. Resolved #801.

I think this is a great change. Tangentially related point, though: sorting by code seems to be ASCII-betical rather than purely alphabetical -- I feel like this might confuse people. Is it possible to sort by, say, code.upper()?

@chigby that's a good idea, but it's non-trivial :-( See: http://stackoverflow.com/questions/31862420/do-case-insensitive-ordering-with-django-filter
Could we open that as a separate ticket?

Sure. I'll merge this.


Fix readme regarding libsodium version and location

The required version of libsodium can be updated to 1.0.14, but not higher (missing methods).
Also, the version that is currently suggested (1.0.12) changed location on the download server. Version 1.0.14 might also change location in the near future.

@jovfer Thank you for your feedback. I will go through the CI/CD pipeline configs and also resolve the conflicts (another pull request has been merged). The idea to switch to the newest version that provides the required functionality is just to keep the library as updated as possible. I don't see any very compelling reason for this, so it's not urgent to put this in the nearest RC build. I'm mainly concerned about the documentation of the master branch, as it is currently wrong and might make things difficult for new contributors.

@jovfer updated; have a look whether now it's good or if there are other things to fix

@jovfer I think this is ready now.

Related to #653


CodeBuild logs to S3

Problem:
CodeBuild job runs produce logs that are private to the account owner.
Proposed Solution:
One possible solution is to use a lambda to save the logs to an S3 bucket, e.g.:
https://github.com/jlhood/github-codebuild-logs/

Closing in favor of GitHub Actions Codebuild