ollama process uses 1 gb of memory when it's idle

What is the issue?
user@magicbook14:~$ ollama --version
ollama version is 0.3.12
user@magicbook14:~$ ollama ps
NAME    ID    SIZE    PROCESSOR    UNTIL

I'm pretty sure it's some kind of regress, because on previous versions I didn't notice that high memory usage when no models were loaded.  The system it's running on is laptop with AMD Ryzen 7 APU - 5700, no discreet GPU is there, just an integrated one in CPU
OS
Linux
GPU
AMD
CPU
AMD
Ollama version
0.3.12

Same issue here as well.

I have another installation with older version 0.3.11 and there it takes just few tens of Mb:
user@7940hs:~$ ollama --version
ollama version is 0.3.11

Size of the server grows because of changes to the runners.
$ ps -C "$(echo ollama:0.3.{0..12})" -o comm,rss
COMMAND           RSS
ollama:0.3.0    576792
ollama:0.3.1    575288
ollama:0.3.2    575684
ollama:0.3.3    516652
ollama:0.3.4    577476
ollama:0.3.5    574996
ollama:0.3.6    576004
ollama:0.3.7    889928
ollama:0.3.8    886236
ollama:0.3.9    885652
ollama:0.3.10   1040208
ollama:0.3.11   1048308
ollama:0.3.12   1045592

ollama:0.3.7 was the introduction of the cuda_v12 runner.  ollama:0.3.10 pulled in a new version of llama.cpp causing the size of libggml.so to increase.


ingest/ledgerbackend: change captive-core unit tests to cleanup storage path at finish

What version are you using?
2.15.1
What did you do?
go test ./ingest/ledgerbackend/...
What did you expect to see?
no temporary test files left on current file system path
What did you see instead?
several captive-core-xyz/ sub-folders in current working directly

change captive-core unit tests to cleanup storage path at finish

Is it possible to change the storage paths to a tmp directory, by using os.MkdirTemp? So that tests aren't writing new files to the repo during run.

yes, changed desired output to that behavior, probably should remove files at end of tests in any case.

Related: https://github.com/stellar/go/pull/3727/files  (it contains how some tests were updated to write to /tmp for the same reason).


Update choice_variables.rst

Hey @jubrilissa! 👋
Thank you for your contribution to Cookiecutter! It is much appreciated 🙇 🍪


Ball_Fall_Game is added

Description
Fixes:  #2008

Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] I have made this from my own
[x] I have taken help from some online resourses
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

The changes is same @pallasivasai
You didn't changed the folder name


Get-ExchangeAppPoolsInformation fail on Edge Transport if appcmd is not available

Errors that occurred that wasn't handled
& : The term 'C:\Windows\system32\inetsrv\appcmd.exe' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At C:\SCRIPTS\HealthChecker\HealthChecker.ps1:3219 char:22
+         $appPools = &$Script:appCmd list apppool
+                      ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Windows\system32\inetsrv\appcmd.exe:String) [], CommandNotFoundExcep
   tion
    + FullyQualifiedErrorId : CommandNotFoundException

The only required Windows Feature on Edge Transport is ADLDS and so appcmd.exe is not available in most cases.

reported by @Apoc70


UseDotNetV2 doesn't respect rollForward in global.json

Question, Bug, or Feature?
Type: Feature
Enter Task Name: UseDotNet
Environment

Server - Azure Pipelines
Agent - Hosted ubuntu-latest

Issue Description
I'm using the UseDotNetV2 task with "Use Global.json" set to true. My global.json is in the solution directory and the contents are:
{
  "sdk": {
    "version": "6.0.403",
    "rollForward": "latestMajor"
  }
}

It could be argued that this should install the latest available .NET SDK (7.0.100 at the moment), instead of 6.0.403,
as this is the behavior of Visual Studio, and what I think a user would expect.
Another example that works in Visual Studio, but doesn't work with the current task, would be:
{
  "sdk": {
    "version": "7.0.0",
    "rollForward": "latestMinor"
  }
}

Which should be equivalent to just using the task and specifying version 7.x but instead of requiring the version to be set in two places (pipeline and global.json) it would allow it to be controlled from a single place and always consistent with the developer's environment.

Indeed, I omitted the fact that VS/CLI doesn't actually install the SDK for simplicity.
And while I agree that the only way of making sure the developer's environment and the build server are completely consistent is to specify a specific SDK version, when a developer specifies a rollForward policy, they are accepting a degree of variability between other developer's machines and possibly the build server.
But they are most likely doing so with the intent that the newest version would be used if available (and when possible, in the installation scenario?).
So, while I do understand the current behavior and don't even see it as a bug, I think we agree that my suggested behavior would be a nice improvement, and thus why I requested it as a feature.

The task already has some support for a roll-forward policy in versionfetcher.ts by using x as a version part, but that is not supported in global.json. It certainly seems doable to implement full support for global.json while also keeping the existing task behaviour intact.

I do consider the current behaviour a bug because it means that anyone using something like latestFeature will not receive any security updates.

up vote

Please also include latestPatch. For instance
{
    "sdk": {
        "version": "8.0.100",
        "rollForward": "latestPatch"
    }
}

Also running into this, now we are missing security updates due to this bug.
This should really get fixed soon as I suspect this is affecting alot of ppl who might not even realize it till its too late.

Very surprised to find this out as well - I assumed "useGlobalJson" would use all of global.json, not just sdk->version. Will be keeping an eye on this for sure.


Possible XSS vulnerability

Hello,
I would like to report XSS vulnerability.
In file AdminBaseController.class.php
line 20
redirect(U('Admin/Login/login'));

In file https://github.com/baijunyao/thinkphp-bjyblog/blob/master/ThinkPHP/Mode/Api/functions.php
line 869 function U
$domain = $host.(strpos($host,'.')?'':strstr($_SERVER['HTTP_HOST'],'.'));

function U
// line 999
$url   =  (is_ssl()?'https://':'http://').$domain.$url;
// line 1003
return $url;

function redirect
// line 694
$url        = str_replace(array("\n", "\r"), '', $url);
// line 707
$str    = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
// line 709
exit($str);

exit function will terminate the script and print the message to the user which has $_SERVER['HTTP_HOST']. Then there is XSS vulnerability.

Fixed, thank you very much.

Thank you for your response.
CVE-2021-43682 is assign to this discovery.
thinkphp-bjyblog is affected by a Cross Site Scripting (XSS) vulnerability in AdminBaseController.class.php. The exit function will terminate the script and print the message to the user which has $_SERVER['HTTP_HOST'].

Similar sinks that I can see there is a source pass to them (Possible vulnerabilities).
In file https://github.com/baijunyao/thinkphp-bjyblog/blob/master/ThinkPHP/Mode/Api/Controller.class.php
// line 61
exit(json_encode($data));
// line 69
$handler  =   isset($_GET[C('VAR_JSONP_HANDLER')]) ? $_GET[C('VAR_JSONP_HANDLER')] : C('DEFAULT_JSONP_HANDLER');
exit($handler.'('.json_encode($data).');');

In file https://github.com/baijunyao/thinkphp-bjyblog/blob/master/ThinkPHP/Library/Think/Controller.class.php
//line 216
exit(json_encode($data,$json_option));
//line 224
$handler  =   isset($_GET[C('VAR_JSONP_HANDLER')]) ? $_GET[C('VAR_JSONP_HANDLER')] : C('DEFAULT_JSONP_HANDLER');
exit($handler.'('.json_encode($data,$json_option).');');


Handle Events from entity

I hvae to handle some events from domain model. Then how I will register them with EventHandlers? My domain model is not inherited by IHandleMessages<IDomainEvent>
Consider the following scenerio:
I have following two dictionaries inside my domain model:
private readonly Dictionary<Guid, int> remainingSeats = new Dictionary<Guid, int>(); private readonly Dictionary<Guid, List<SeatQuantity>> pendingReservations = new Dictionary<Guid, List<SeatQuantity>>();
Now I want to manipulate those dictionary from domain model as follows:
private void OnAvailableSeatsChanged(AvailableSeatsChanged e)
        {
            foreach (var seat in e.Seats)
            {
                int newValue = seat.Quantity;
                int remaining;
                if (this.remainingSeats.TryGetValue(seat.SeatType, out remaining))
                {
                    newValue += remaining;
                }

                this.remainingSeats[seat.SeatType] = newValue;
            }
        }

        private void OnSeatsReserved(SeatsReserved e)
        {
            var details = e.ReservationDetails.ToList();
            if (details.Count > 0)
            {
                this.pendingReservations[e.ReservationId] = details;
            }
            else
            {
                this.pendingReservations.Remove(e.ReservationId);
            }

            foreach (var seat in e.AvailableSeatsChanged)
            {
                this.remainingSeats[seat.SeatType] = this.remainingSeats[seat.SeatType] + seat.Quantity;
            }
        }

        private void OnSeatsReservationCommitted(SeatsReservationCommitted e)
        {
            this.pendingReservations.Remove(e.ReservationId);
        }

        private void OnSeatsReservationCancelled(SeatsReservationCancelled e)
        {
            this.pendingReservations.Remove(e.ReservationId);

            foreach (var seat in e.AvailableSeatsChanged)
            {
                this.remainingSeats[seat.SeatType] = this.remainingSeats[seat.SeatType] + seat.Quantity;
            }
        }

Even there is no method found for Update existing event in AggregateBase class. How will I update my existing event?
How can I move forward by solving above issues?
Thanks

Let me understand your example. You have some events:

AvailableSeatsChanged
SeatsReserved
SeatsReservationCommitted
SeatsReservationCancelled

Those events have been raised by some other aggregates and now you would like to catch them and do some updates based on the event information?
At the beginning you said "My domain model is not inherited by IHandleMessages" So if the NServiceBus has no handlers found for the above listed events, nothing will happen when the events are raised.
In DDD you need some Domain Services. So you need for each of the event above an Domain Service
IHandleMessages
inside of this Domain Service you are going to read the target aggregate to do some logic because of this events.
var aggregate = this.repository.Get();
aggregate.DoLogicBecauseSeatsChange(SeatChangeData);
this.repository.Add(aggregate)
Hope this helps?

Just to fill some gap. Here what happens when an aggregate is created:
https://github.com/elliotritchie/NES/blob/master/samples/NES.Sample/Model/Message.cs
        public Message(User user, Guid messageId, string message)
        {
            Apply<ISentMessageEvent>(e =>
            {
                e.MessageId = messageId;
                e.UserId = user.Id;
                e.Message = message;
                e.Sent = DateTime.UtcNow;
            });
        }

The constructor is like any other public method. It executes some logic, raises an exception or accepts the parameter and executes the Apply. In our case is the event ISentMessageEvent. Executing Apply the method
        private void Handle(ISentMessageEvent @event)
        {
            Id = @event.MessageId;
        }

will be called. You are changing your internal protected state of the aggregate inside of the private event handler. One of the rules is, that in this Handle method you should never do any logic nor raise an exception. NServiceBus has a list of all registered subscribers for the ISentMessageEvent. Once the transaction is committed, the event will be persisted to NEventStore and NServiceBus will execute all the subscribed handlers.

Dear marinkobabic. Thanks for your kind reply. I am giving you my full class definition. Please let me know how following event handler methods will be executed while they are not being registered:
 public class SeatsAvailability : AggregateBase<Guid>
    {
        private readonly Dictionary<Guid, int> remainingSeats = new Dictionary<Guid, int>();
        private readonly Dictionary<Guid, List<SeatQuantity>> pendingReservations = new Dictionary<Guid, List<SeatQuantity>>();

        public SeatsAvailability(Guid id)
        {

        }

        private void Handle(AvailableSeatsChanged @event)
        {
            this.Id = @event.SourceId;
        }

        private void Handle(SeatsReserved @event)
        {
            this.Id = @event.SourceId;
        }

        private void Handle(SeatsReservationCommitted @event)
        {
            this.Id = @event.SourceId;
        }

        private void Handle(SeatsReservationCancelled @event)
        {
            this.Id = @event.SourceId;
        }

        public void AddSeats(Guid seatType, int quantity)
        {
            base.Apply<AvailableSeatsChanged>(e =>
            {
                e.Seats = new[] { new SeatQuantity(seatType, quantity) };
            });
        }

        public void RemoveSeats(Guid seatType, int quantity)
        {
            base.Apply<AvailableSeatsChanged>(e =>
            {
                e.Seats = new[] { new SeatQuantity(seatType, -quantity) };
            });
        }

        public void MakeReservation(Guid reservationId, IEnumerable<SeatQuantity> wantedSeats)
        {
            var wantedList = wantedSeats.ToList();
            if (wantedList.Any(x => !this.remainingSeats.ContainsKey(x.SeatType)))
            {
                throw new ArgumentOutOfRangeException("wantedSeats");
            }

            var difference = new Dictionary<Guid, SeatDifference>();

            foreach (var w in wantedList)
            {
                var item = GetOrAdd(difference, w.SeatType);
                item.Wanted = w.Quantity;
                item.Remaining = this.remainingSeats[w.SeatType];
            }

            List<SeatQuantity> existing;
            if (this.pendingReservations.TryGetValue(reservationId, out existing))
            {
                foreach (var e in existing)
                {
                    GetOrAdd(difference, e.SeatType).Existing = e.Quantity;
                }
            }

            base.Apply<SeatsReserved>(e =>
            {
                e.ReservationId = reservationId;
                e.ReservationDetails = difference.Select(x => new SeatQuantity(x.Key, x.Value.Actual)).Where(x => x.Quantity != 0).ToList();
                e.AvailableSeatsChanged = difference.Select(x => new SeatQuantity(x.Key, -x.Value.DeltaSinceLast)).Where(x => x.Quantity != 0).ToList();
            });

        }

        public void CancelReservation(Guid reservationId)
        {
            List<SeatQuantity> reservation;
            if (this.pendingReservations.TryGetValue(reservationId, out reservation))
            {

                base.Apply<SeatsReservationCancelled>(e =>
                {
                    e.ReservationId = reservationId;
                    e.AvailableSeatsChanged = reservation.Select(x => new SeatQuantity(x.SeatType, x.Quantity)).ToList();
                });
            }
        }

        public void CommitReservation(Guid reservationId)
        {
            if (this.pendingReservations.ContainsKey(reservationId))
            {
                base.Apply<SeatsReservationCommitted>(e =>
                {
                    e.ReservationId = reservationId;
                });

            }
        }

        private class SeatDifference
        {
            public int Wanted { get; set; }
            public int Existing { get; set; }
            public int Remaining { get; set; }
            public int Actual
            {
                get { return Math.Min(this.Wanted, Math.Max(this.Remaining, 0) + this.Existing); }
            }
            public int DeltaSinceLast
            {
                get { return this.Actual - this.Existing; }
            }
        }

        private static TValue GetOrAdd<TKey, TValue>(Dictionary<TKey, TValue> dictionary, TKey key) where TValue : new()
        {
            TValue value;
            if (!dictionary.TryGetValue(key, out value))
            {
                value = new TValue();
                dictionary[key] = value;
            }

            return value;
        }

        private void OnAvailableSeatsChanged(AvailableSeatsChanged e)
        {
            foreach (var seat in e.Seats)
            {
                int newValue = seat.Quantity;
                int remaining;
                if (this.remainingSeats.TryGetValue(seat.SeatType, out remaining))
                {
                    newValue += remaining;
                }

                this.remainingSeats[seat.SeatType] = newValue;
            }
        }

        private void OnSeatsReserved(SeatsReserved e)
        {
            var details = e.ReservationDetails.ToList();
            if (details.Count > 0)
            {
                this.pendingReservations[e.ReservationId] = details;
            }
            else
            {
                this.pendingReservations.Remove(e.ReservationId);
            }

            foreach (var seat in e.AvailableSeatsChanged)
            {
                this.remainingSeats[seat.SeatType] = this.remainingSeats[seat.SeatType] + seat.Quantity;
            }
        }

        private void OnSeatsReservationCommitted(SeatsReservationCommitted e)
        {
            this.pendingReservations.Remove(e.ReservationId);
        }

        private void OnSeatsReservationCancelled(SeatsReservationCancelled e)
        {
            this.pendingReservations.Remove(e.ReservationId);

            foreach (var seat in e.AvailableSeatsChanged)
            {
                this.remainingSeats[seat.SeatType] = this.remainingSeats[seat.SeatType] + seat.Quantity;
            }
        }

    }

Here following methods are my EventHandling methods that's are handled inside domain model based on different Events:
private void OnAvailableSeatsChanged(AvailableSeatsChanged e)
       {
           foreach (var seat in e.Seats)
           {
               int newValue = seat.Quantity;
               int remaining;
               if (this.remainingSeats.TryGetValue(seat.SeatType, out remaining))
               {
                   newValue += remaining;
               }

               this.remainingSeats[seat.SeatType] = newValue;
           }
       }

       private void OnSeatsReserved(SeatsReserved e)
       {
           var details = e.ReservationDetails.ToList();
           if (details.Count > 0)
           {
               this.pendingReservations[e.ReservationId] = details;
           }
           else
           {
               this.pendingReservations.Remove(e.ReservationId);
           }

           foreach (var seat in e.AvailableSeatsChanged)
           {
               this.remainingSeats[seat.SeatType] = this.remainingSeats[seat.SeatType] + seat.Quantity;
           }
       }

       private void OnSeatsReservationCommitted(SeatsReservationCommitted e)
       {
           this.pendingReservations.Remove(e.ReservationId);
       }

       private void OnSeatsReservationCancelled(SeatsReservationCancelled e)
       {
           this.pendingReservations.Remove(e.ReservationId);

           foreach (var seat in e.AvailableSeatsChanged)
           {
               this.remainingSeats[seat.SeatType] = this.remainingSeats[seat.SeatType] + seat.Quantity;
           }
       }

In my previous code (before using NES.CQRS) what I did was I just registered inside the constructor of my class them as follows:
public SeatsAvailability(Guid id)
        {
            base.Handles<AvailableSeatsChanged>(this.OnAvailableSeatsChanged);
            base.Handles<SeatsReserved>(this.OnSeatsReserved);
            base.Handles<SeatsReservationCommitted>(this.OnSeatsReservationCommitted);
            base.Handles<SeatsReservationCancelled>(this.OnSeatsReservationCancelled);
        }

And inside my AggregateBase class the Handles method was as follows:
private readonly Dictionary<Type, Action<IVersionedEvent>> handlers = new Dictionary<Type, Action<IVersionedEvent>>();
/// <summary>
        /// Configures a handler for an event.
        /// </summary>
protected void Handles<TEvent>(Action<TEvent> handler)
where TEvent : IEvent
 {
            this.handlers.Add(typeof(TEvent), @event => handler((TEvent)@event));
}

Now my question is though NServiceBus automatically configure events for handlers. In such situation what will I do?
Hope you understand my question.
Thanks.

Ok, I see now that all is in one aggregate, which makes the things simple. Some tutorial as first:
When you executed this.Apply then NES will call the
private void Handle(MyEvent @event)
NES uses naming conventions and reflection. So the method name must be Handle and must be private. This is fine in your example :smile:
When is this method called:

When you execute this.Apply
When the aggregate is loaded from Event store using this.repository.Get

So let's go to your concrete class:
Not only the Id is your internal state. The
private readonly Dictionary<Guid, int> remainingSeats = new Dictionary<Guid, int>();
private readonly Dictionary<Guid, List> pendingReservations = new Dictionary<Guid, List>();
are also your private state. The state must be changed in the method Handle . You must not change it somewhere else.
OnSeatsReserved becomes now the method Handle(SeatsReserved @event) which also already exists in your class :smile: You have just to put the code of the OnSeatsReserved into the Handle(SeatsReserved) method and the job is done. You don't need the logic of the base class anymore, because this part is done be NES.
Is it clear so far for you?

Got the point.  Why I didn't look that before you specified? Actually I am little bit hurry so that I just missed that point. Thanks :) Take care :)

Just go on :-)


Blocking commands should ignore ClientOption.MaxFlushDelay

Blocking commands are executed in dedicated client which is aquired from pool.
So, there is no sense to wait other commands to be written.

Hi @tamayika, good catch. We can add a check if the last command is a blocking one here
https://github.com/redis/rueidis/blob/cb6a8f3146fcc81867e6b2dc205a747871eba13e/pipe.go#L412-L414
would you like to open a PR for this?

I don't know well about pipe's fields usage, please implement this.


If you have menu entry swapped to the ardy patch teleport, you can no longer MES an ardy cloak 1 on other accounts

When a player has menu entry swapped the ardy cloak 2/3/4 to be shift-click teleport to the ardougne farm patch, they can no longer menu entry swap the ardy cloak 1.
Steps to reproduce the behavior:

Have an account with an ardy cloak 2/3/4
Right click on the inventory icon, select "configure shift click"
Right click your cloak, select "farm teleport"
Log out, close your client, whatever needs to be done for it to save your config
Restart client, now log in on an account with an ardy cloak 1
Right click on the inventory icon, select "configure shift click"
Right click your cloak, but no menu entry swapping

It should let the player menu entry swap
https://gyazo.com/c7c2868e93d218528fc48335afef28eb

fixed in b1ebf7814b114105e4997678922817109709c1d1


Add back shaded netty within grpc

What changes are proposed in this pull request?
add back netty dependency within grpc
Why are the changes needed?
previously we exclude netty dependency since we already have netty-all outside https://github.com/Alluxio/alluxio/pull/9942
But due to https://github.com/grpc/grpc-java/issues/11284, we sometimes have incompatibility between grpc and netty, and it's better to use shaded netty within grpc so we can be sure that they are compatible.
Does this PR introduce any user facing changes?
na

can you link the ancient old PR where this was originally added in case we have to trace back?

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to master-2.x please

cc @apc999 not sure if there is some historical context we're missing but letting grpc-netty use whichever netty we define, which may or may not be compatible, seems strictly worse than letting it use its own compatible version


is ok that I could convert xxx.mlir back to onnx?

Hi friends,
is ok that I could convert xxx.mlir back to onnx?
this is important for me, maybe others, because, when u get an raw trained model from some framework, then I transfer to mlir for optimization, and then, I don't want to directly use it to lower to llvm bitcode later obj. I want to transfer the optimized xxxx.mlir back to xxxx.onnx for other runtime system that already support onnx as input but not mlir as input.

Hi @Joejiong, there is some interest in this functionality but this is currently not on our internal roadmap. We would be excited to review any PRs that you may have.

thx for the response.

closed for lack of activity


Code block in rules section for all inclusive start conditions

According to the documentation,

%{
// Code for all inclusive states (INITIAL and A)
%}

But as I tested, that code block is surrounded by a switch of start(), which makes that code block only be executed in start condition INITIAL. Is this a bug or an intensional design? If it's the latter, why is the documentation saying in a different way?

Looks like a bug to me, because this block should be replicated in both the INITIAL and A states. Will take a look why this code is not replicated.

A patch that fixes this:
*** reflex.cpp	2019-03-26 16:07:24.000000000 -0400
--- reflex-upd.cpp	2019-03-26 16:07:45.000000000 -0400
***************
*** 1378,1384 ****
          std::string code = get_code(pos);
          if (scopes.empty())
          {
!           section_2[0].push_back(Code(code, infile, lineno));
          }
          else
          {
--- 1378,1388 ----
          std::string code = get_code(pos);
          if (scopes.empty())
          {
!           for (Start start = 0; start < conditions.size(); ++start)
!           {
!             if (inclusive.find(start) != inclusive.end())
!               section_2[start].push_back(Code(code, infile, lineno));
!           }
          }
          else
          {


Condition-id-for-diagnosis-1-intro.md contains outdated info

Markdown text is not in-sync with the actual example. It contains category codes that are not according to the profile.

Closing. No longer relevant. #118 fixes this.


Multiple Modules

I have instrumentation tests in about 5 different gradle modules. Each should be run with different build flavors.
The current setup just allows instrumentation tests for (simple?) projects which rely on a single module.
It would be great if this structure would be supported.

Hi @PaulWoitaschek - can you please create the feature request on discuss.bitrise.io? Easier to track & technically this is not a limitation of the step but the server/backend/api

The current setup just allows instrumentation tests for (simple?) projects which rely on a single module. It would be great if this structure would be supported.

Yes, it is right now - I shared workarounds which can be used today at https://discuss.bitrise.io/t/how-to-run-android-ui-tests-on-virtual-devices/2496/48?u=viktorbenei - unfortunately the VDT step can't support that right now.
If you have any questions just let us know! :)

Thanks: https://discuss.bitrise.io/t/android-virtual-device-testing-on-multiple-modules/4241

Thanks @PaulWoitaschek ! :)

I too noticed this. If anybody else sees this ticket before that feature gets implemented here's what's actually happening when you try to run this task w/ multiple modules
When you add assembleDebugAndroidTest to your Gradle task, that task will create test apks for each gradle module with instrumentation tests. Each test apk path will be assigned to $BITRISE_APK_PATH overwriting previous values. So whichever apk gets generated last (not sure how Gradle decides that) will be the one tested later in the Virtual Device Testing task. You can see this happening in logs.
The apk path is now available in the Environment Variable: $BITRISE_APK_PATH (value: /bitrise/deploy/app-debug.apk)
...
The apk path is now available in the Environment Variable: $BITRISE_TEST_APK_PATH (value: /bitrise/deploy/androidlib-debug-androidTest.apk)

It took me a while to figure out why Bitrise was only running tests on my android lib module.

I figured out a work around. Basically create a Gradle and Virtual Device Testing pair of steps for each gradle module:
// build JUST the app apk
- gradle-runner:
    inputs:
    - gradle_file: "$GRADLE_BUILD_FILE_PATH"
    - gradle_task: assembleDebug
    - gradlew_path: "$GRADLEW_PATH"
    title: Build debug apk

// build the test apk for first module which will be set to $BITRISE_TEST_APK_PATH
- gradle-runner:
    inputs:
    - apk_file_include_filter: ''
    - mapping_file_include_filter: ''
    - gradle_task: module1:assembleDebugAndroidTest
    title: Build module1 instrumentation test apk

// run instrumentation tests for $BITRISE_TEST_APK_PATH (in this case module 1)
- virtual-device-testing-for-android:
    inputs:
    - test_devices: Nexus5X,25,en,portrait
    - test_type: instrumentation
    title: module1 instrumentation test on virtual devices

// build the test apk for second module which will be set to $BITRISE_TEST_APK_PATH
- gradle-runner:
    inputs:
    - apk_file_include_filter: ''
    - mapping_file_include_filter: ''
    - gradle_task: module2:assembleDebugAndroidTest
    title: Build module2 instrumentation test apk

// run instrumentation tests for $BITRISE_TEST_APK_PATH (in this case module 2)
- virtual-device-testing-for-android:
    inputs:
    - test_devices: Nexus5X,25,en,portrait
    - test_type: instrumentation
    title: module2 instrumentation test on virtual devices
...

Issues:

Only the results from the first virtual-device-testing-for-android task will be available on the Virtual Device Test tab. But you can  manually export the results with a new Deploy To Bitrise.io task for each test task.
Build times will definitely be slowed down since the emulator is started and stopped multiple times.

I gave up on device testing with bitrise. Without firebase test lab my build time is at 30 minutes and with the test lab it constantly fails my builds because it exceeds the 45 minute limit.
So from my side no action required, thanks for your help.

@PaulWoitaschek are you using the Firebase Test Lab step (https://github.com/bitrise-community/steps-firebase-test-lab) or this step for running tests on emulator directly on Bitrise? I don't see what Firebase has to do with this step.

@PaulWoitaschek if you'd need a build time bump just ping us via support referencing this thread and we're happy to bump your limit. Unfortunately indeed Firebase TestLab takes about 7-8 mins to boot the required devices and run the test. One plus is that it can boot & run multiple devices in that time, but it takes that time even if you have only one test case..

Thanks, I will do that!

I don't see what Firebase has to do with this step.

@tir38 If I understand correctly, bitrise uses the firebase test lab.

Correct, the Virtual Device Testing for Android feature uses Firebase TestLab right now under the hood.

@viktorbenei very cool. I just assumed you were spinning up emulators yourselves.

@tir38 we'll see :D Jokes aside the step does not include Firebase TL in its name mainly because we're not 100% sure we'll keep using it in the future, given that device boot times slowed down huge time in the last ~6 months, and there are also frequent service issues at FBTL.. When it works it's 👍 but there are issues.

Maybe there is a way to start the emulator upfront?
These +10 minutes hurt with your build time limit. I mean in an optimal environment you want to spin up the emulator when starting the build so that when the apk is ready,  the emulator is ready too.
Or maybe you can some how support async build steps?
For example I a assemble my instrumentation tests and later I'm making release builds and run unit tests.
You could split the virtual device testing in mutiple steps: One that starts the test and just continues with the workflow. Then later another step (at the end of the workflow) that joins the virtual device tests and either directly completes or waits till the results are back.
That way you won't unnecessary block your machines (which is really wasteful as they are just idle while waiting for firebase.

@PaulWoitaschek AFAIK Firebase does not support prebooting devices. You supply the APK & details for the test and then they spin up the emulator and run it. At least last time when I checked that was the case.

@tir38 See: https://blog.bitrise.io/introducing-avd-manager (might also be interesting for you @PaulWoitaschek ).
It describes pretty much what @PaulWoitaschek asked, to preboot the emulator upfront, but using local emulators instead of a separate service / Firebase.
Both have its PROs and CONs.

I had to make one update to the above .yml file sample. I need $BITRISE_TEST_APK_PATH exported by the gradle-runner step so that it's available in the virtual-device-testing-for-android step. This means that I put a test apk in /bitrise/deploy. This in turn means that deploy-to-bitrise-io step was creating a public page and email for each test apk =(.
Because  deploy-to-bitrise-io step doesn't allow me to filter out apks. I had to do some more work. After each virtual-device-testing-for-android step I just delete the test apk.
// build the test apk for first module which will be set to $BITRISE_TEST_APK_PATH
- gradle-runner:
    inputs:
    - apk_file_include_filter: ''
    - mapping_file_include_filter: ''
    - gradle_task: module1:assembleDebugAndroidTest
    title: Build module1 instrumentation test apk

// run instrumentation tests for $BITRISE_TEST_APK_PATH (in this case module 1)
- virtual-device-testing-for-android:
    inputs:
    - test_devices: Nexus5X,25,en,portrait
    - test_type: instrumentation
    title: module1 instrumentation test on virtual devices

// delete module1's test apk so that it doesn't later get copied to /bitrise/deploy
- secure-delete-path:
    inputs:
    - path: "$BITRISE_TEST_APK_PATH"
    title: Delete module1 test apk

Thanks for the info @tir38 !
Just a couple of notes:

you can turn off email notifications in the Deploy to Bitrise.io step's Notification options, if you don't want to get those at all
we're also working on a new step which will include the required parts of the Gradle Runner & the current VDT step, in a single step. That of course will not expose the test APK at all, it'll just build it, upload to VDT and run the test with it, in a single step.


Added try/catch to pickup runtime errors from the handler

Signed-off-by: austinfrey<EMAIL_ADDRESS>

Can you show how this is working through tests or an example? I thought the promise would catch errors.

@austinfrey ping

I need to catch up with the work you've done. I'll look at this tonight.


Move invite_room_state to the correct place in the client-server API

Rendered: see 'docs' status check

Fixes https://github.com/matrix-org/matrix-doc/issues/1350

Hum. It's worth noting that the various SDKs expect it to not be in the unsigned block, and the spec was once correct:
sierra:matrix-js-sdk matthew$ grep -r invite_room_state src
src/models/room.js:        const strippedStateEvents = membershipEvent.event.invite_room_state || [];

This presumably explains why all the Riots no longer give you nice details when you're invited to a room.
Looks like v1 had these on the raw event, and v2 moved them to unsigned.  But nobody remembered to update the spec or the clients :|

Hum. It's worth noting that the various SDKs expect it to not be in the unsigned block, and the spec was once correct:
sierra:matrix-js-sdk matthew$ grep -r invite_room_state src
src/models/room.js:        const strippedStateEvents = membershipEvent.event.invite_room_state || [];

This presumably explains why all the Riots no longer give you nice details when you're invited to a room.
Looks like v1 had these on the raw event, and v2 moved them to unsigned.  But nobody remembered to update the spec or the clients, based on skimming http://github.com/matrix-org/synapse/commits/bde8d78b8a19c941cef926d3e480c81555dbe993.

Hum. It's worth noting that the various SDKs expect it to not be in the unsigned block, and the spec was once correct:
sierra:matrix-js-sdk matthew$ grep -r invite_room_state src
src/models/room.js:        const strippedStateEvents = membershipEvent.event.invite_room_state || [];

This presumably explains why all the Riots no longer give you nice details when you're invited to a room.
Looks like v1 had these on the raw event, and v2 moved them to unsigned.  But nobody remembered to update the spec or the clients, based on skimming http://github.com/matrix-org/synapse/commits/bde8d78b8a19c941cef926d3e480c81555dbe993.

Hum. It's worth noting that the various SDKs expect it to not be in the unsigned block, and the spec was once correct:
sierra:matrix-js-sdk matthew$ grep -r invite_room_state src
src/models/room.js:        const strippedStateEvents = membershipEvent.event.invite_room_state || [];

This presumably explains why all the Riots no longer give you nice details when you're invited to a room.
Looks like v1 had these on the raw event, and v2 moved them to unsigned.  But nobody remembered to update the spec or the clients, based on skimming http://github.com/matrix-org/synapse/commits/bde8d78b8a19c941cef926d3e480c81555dbe993.

Hum. It's worth noting that the various SDKs expect it to not be in the unsigned block, and the spec was once correct:
sierra:matrix-js-sdk matthew$ grep -r invite_room_state src
src/models/room.js:        const strippedStateEvents = membershipEvent.event.invite_room_state || [];

This presumably explains why all the Riots no longer give you nice details when you're invited to a room.
Looks like v1 had these on the raw event, and v2 moved them to unsigned.  But nobody remembered to update the spec or the clients, based on skimming http://github.com/matrix-org/synapse/commits/bde8d78b8a19c941cef926d3e480c81555dbe993.


Question regarding DA.MaxBlobSize

https://github.com/rollkit/go-da/blob/011ba6919abc161b0703d1e3d87b45adf2f96464/da.go#L7-L8
It is not clear what is permittable inside of the implementation. Both concrete implementations (namely, at the time of writing, avail and celestia) return a constant number.
However, error in the return type suggests it may be possible to implement this function via an RPC. Also, it's not entirely clear when this request is going to be called: once or before every submission? If the former, what would be recommendations to support the DA layers with [governance] configurable blob sizes.

Also, it's not entirely clear when this request is going to be called: once or before every submission?

For Rollkit specifically or rollups in general ?

If the former, what would be recommendations to support the DA layers with [governance] configurable blob sizes.

If the MaxBlobSize changes over time you should be able to query it dynamically. The implementation should allow that. Celestia might change the blocksize which would change the MaxBlobSize.

To contextualize, I am asking those questions with a DA layer implementer hat on, and the MaxBlobSize feels a bit underspecified.
Ok, so it seems that an RPC implementation is permitted and MaxBlobSize is allowed to return different values. However, in the present form it has some edge cases, mostly TOCTOU:

If the caller calls MaxBlobSize periodically, it's possible that the config changed beforehand and the next submit would happen with the stale blob size limit.
If the caller calls MaxBlobSize before every submission, it is still possible that the limit changes while the blobs are in flight.

Those edge cases can only be triggered if MaxBlobSize is decreased. At a glance, it seems to be a good idea to verbalize this contract in the docs as:
// MaxBlobSize returns the max blob size.
//
// The underlying value can change over time and the client can invoke this function
// multiple times (TODO: be more specific on when) over the lifetime of this object.
// That said, the maximum size is not allowed to decrease.
MaxBlobSize(ctx context.Context) (uint64, error)

But under a closer inspection, this interface either lies or essentially imposes constraints on the chain's governance.


Add id github-git-advanced-cheat-sheet

Indonesian translation of github-git-advanced-cheat-sheet

@Lidilidian similar to #401, do you know anyone who can proofread this and give it a :+1:? Thank you for the effort you put in to translating this - :sparkles: :heart: :sparkles:

sure, i know someone maybe can help proofread the translation , it's @chocochino
hey @chocochino, could you please proofread the translatation also please check this #402 to

move here please #403


Create parenthesis_generator.cpp

Hey @prachi996
I appreciate this but I'd request you to read CONTRIBUTING.md once
I have mentioned that:

Only add solutions to the questions which are on any coding platform, with the link to that question.
No need to add driver-code for the problem or the main() function.
File should contain the solution code as well as the link to that question (as comment in the code).
The name of the file should follow snake_case convention.
Create file under appropriate folder (topic).

Please follow these rules :)


conditional checks on diff parameters in adminJS for deverification

need to do some conditional checking and error handling in adminJS
make sure in the admin that when you change a status that is dependent on the other
I made a table here that hopefully can carefully explain the impact of each action in the admin and what the expected outcome should be on the projects status for a variety of conditions
there are 4 columns:

the current status of the 3 relevant values: givbacks form, verified, isGIVbacksEligible
the action being applied
the expected status of the 3 values
notes (error conditions etc..)

you can also view the sheet in google where it might look a bit easier to follow
https://docs.google.com/spreadsheets/d/1RTvg0YaMjEyZOgUpW1i0YQPnnlEPgHZM7ZDXq5e39ro/edit?usp=sharing

current status

action
expected status

notes

givbacks form
verified
isGIVbacksEligible

givbacks form
verified
isGIVbacksEligible

not started
FALSE
FALSE
verify (vouch)
not started
TRUE
FALSE

incomplete
FALSE
FALSE
verify (vouch)
incomplete
TRUE
FALSE

submitted
FALSE
FALSE
verify (vouch)
submitted
TRUE
FALSE

approved
TRUE
TRUE
verify (vouch)
approved
TRUE
TRUE
(no status change)

declined
FALSE
FALSE
verify (vouch)
declined
TRUE
FALSE

not started
TRUE
FALSE
reject (vouch)
not started
FALSE
FALSE

incomplete
TRUE
FALSE
reject (vouch)
incomplete
FALSE
FALSE

submitted
TRUE
FALSE
reject (vouch)
submitted
FALSE
FALSE

approved
TRUE
TRUE
reject (vouch)
throws error
--
--
(cannot revoke Vouched badge of GIVbacks eligible project)

declined
TRUE
FALSE
reject (vouch)
declined
FALSE
FALSE

not started
TRUE
FALSE
approve application form (givbacks eligible)
throws error
TRUE
--
(cannot approve unsubmitted or incomplete application)

not started
FALSE
FALSE
approve application form (givbacks eligible)
throws error
FALSE
--
(cannot approve unsubmitted or incomplete application)

incomplete
TRUE
FALSE
approve application form (givbacks eligible)
throws error
TRUE
--
(cannot approve unsubmitted or incomplete application)

incomplete
FALSE
FALSE
approve application form (givbacks eligible)
throws error
FALSE
--
(cannot approve unsubmitted or incomplete application)

submitted
TRUE
FALSE
approve application form (givbacks eligible)
approved
TRUE
TRUE

submitted
FALSE
FALSE
approve application form (givbacks eligible)
approved
TRUE
TRUE

approved
TRUE
TRUE
approve application form (givbacks eligible)
approved
TRUE
TRUE
(no status change)

approved
FALSE
TRUE
approve application form (givbacks eligible)
approved
TRUE
TRUE
(should be impossible for verified = false while GIVbacks eligible = true

declined
TRUE
FALSE
approve application form (givbacks eligible)
approved
TRUE
TRUE

declined
FALSE
FALSE
approve application form (givbacks eligible)
approved
TRUE
TRUE

not started
TRUE
FALSE
reject application form (givbacks eligible)
throws error
TRUE
--
(cannot reject unsubmitted or incomplete application)

not started
FALSE
FALSE
reject application form (givbacks eligible)
throws error
FALSE
--
(cannot reject unsubmitted or incomplete application)

incomplete
TRUE
FALSE
reject application form (givbacks eligible)
throws error
TRUE
--
(cannot reject unsubmitted or incomplete application)

incomplete
FALSE
FALSE
reject application form (givbacks eligible)
throws error
FALSE
--
(cannot reject unsubmitted or incomplete application)

submitted
TRUE
FALSE
reject application form (givbacks eligible)
declined
TRUE
FALSE

submitted
FALSE
FALSE
reject application form (givbacks eligible)
declined
FALSE
FALSE

approved
TRUE
TRUE
reject application form (givbacks eligible)
declined
TRUE
FALSE

approved
FALSE
TRUE
reject application form (givbacks eligible)
declined
FALSE
FALSE

declined
TRUE
FALSE
reject application form (givbacks eligible)
declined
TRUE
FALSE
(no status change)

declined
FALSE
FALSE
reject application form (givbacks eligible)
declined
FALSE
FALSE
(no status change)

not started
TRUE
FALSE
revoke badge (givbacks eligible)
not started
TRUE
FALSE

incomplete
TRUE
FALSE
revoke badge (givbacks eligible)
incomplete
TRUE
FALSE

submitted
TRUE
FALSE
revoke badge (givbacks eligible)
submitted
FALSE
FALSE

approved
TRUE
TRUE
revoke badge (givbacks eligible)
throws error
TRUE
FALSE

declined
TRUE
FALSE
revoke badge (givbacks eligible)
declined
FALSE
FALSE
(no status change)

@MohammadPCh what is the update on this? Is it being worked on through #1866 ?

@LatifatAbdullahi
I made a table here that hopefully can carefully explain the impact of each action in the admin and what the expected outcome should be on the projects status for a variety of conditions
there are 4 columns:

the current status of the 3 relevant values: givbacks form, verified, isGIVbacksEligible
the action being applied
the expected status of the 3 values
notes (error conditions etc..)

you can also view the sheet in google where it might look a bit easier to follow
https://docs.google.com/spreadsheets/d/1RTvg0YaMjEyZOgUpW1i0YQPnnlEPgHZM7ZDXq5e39ro/edit?usp=sharing
What to test
run through each scenario by using the admin panel on staging https://impact-graph.serve.giveth.io/admin/login

ensure project conditions match defined in current status for each row
perform action
ensure project status after performed action matches what is expected according to last 3 columns for each row

where to test
https://impact-graph.serve.giveth.io/admin/login with VPN access credentials enabled
"givbacks form"

"verified, vouched & givbacks eligible"

@CarlosQ96
I am not able to Filter for Newly created projects by Title as well as date created.
Please kindly take a look


Microsoft Edge auto-translate bug on JP page for Tekxach

Tekxach's icon misplaced into Drakkite link.
Steps to reproduce:

Open Tekxach JP ref page using Microsoft Edge.
Use the browser's built-in auto-translate.

Both the Tekxach and Drakkite icons are misplaced in this screenshot.

May have been fixed in 52cf01b. Please test again and close the issue if it has been fixed.


[BEAM-BEAM-10667] Make gh-actions wheels bucket name stored as a secret

It will allow to test full workflow by the user and distinguish better between buckets (different bucket for tests using dataflow may be used)
Before merging it is required to setup related secret:

GCP_PYTHON_WHEELS_BUCKET: beam-wheels-staging

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @damgad @aaltay @tvalentyn @kamilwu

LGTM. Not merging, because I do not know how to setup the related secret.

@aaltay thanks for review. I created Jira for setting up secrets: https://issues.apache.org/jira/browse/INFRA-20665 . I will let you know when it is resolved.

Created single PR to infra with all required changes for github secrets: https://issues.apache.org/jira/browse/INFRA-20675

Rebased on the latest master and solved conflicts
variables are set thanks to INFRA-20675

Thanks, looks like we can merge it now.


Use Graphql-playground with aws appsync Amazon Cognito User Pool

How can i use aws appsync graphql url with Amazon Cognito User Pool authorization in graphql playground

Add this to HTTP headers in the playground.
{
  "x-api-key": "apikey",
  "authorization": "userToken"
}

You can find the x-api-key in your appsync console, and the userToken you can find when inspecting the network request graphql is doing when you are logged in.

Hi  jarandmi
I thanks for reply but i am using cognito user poll for authentication instead of apikey.  How can i use Graphql playground with cognito user poll

The x-api-key is for AppSync, not cognito. Goto AppSync in your AWS console, and under settings you find your API ID.

@jarandmi and do you know how can it be used without app sync but still with cognito and api gateway methods auth'd with AWS_IAM? Not sure if cognito matters here because what I'd like to do is use my accessKeyId and secretAccessKey to do the authentication somehow.
Getting a signed request to get the correct headers didn't work out for me.
Btw, with insomnia I was able to make calls because they explicitly have a auth method for AWS IAM v4.

 There you will find the authorization token. Use this as the authorization key.

Not really using api keys at the moment and not event sure if I can when using AWS_IAM auth but will try.
Thanks

Hi jarandmi
But api key use to expire in 7 days so i have to change it again and again. I would like to  use cognito user pool instead of api key

to add to @jarandmi:
one can just go to AppSync console Queries, where it is possible to login with cognito user pool credentials (next to play button). Then any query executed there will have autorization header in inspected request in Network in Chrome devtools.

Seems you want to use either the authorization header for AMAZON_COGNITO_USER_POOLS auth type, or x-api-key for the API_KEY auth type, but not both at the same time. Set the authorization header to your jwtToken, or x-api-key to the appsync api key.

Seems you want to use either the authorization header for AMAZON_COGNITO_USER_POOLS auth type, or x-api-key for the API_KEY auth type, but not both at the same time. Set the authorization header to your jwtToken, or x-api-key to the appsync api key.

This is exactly the problem I had. If the default authentication is Cognito, x-api-key will be ignored,  and the header mentioned above works. But if there are additional authentication modes with Cognito default, this header doesn't work. I believe the correct way is as @sevees said, only use this header
{
"authorization": "userToken"
}

I noticed the same behavior. You can't use both headers at once.


Source of Eng-Hindi bilingual word vectors

Hi,
@nmrksic this work was wonderful! Congrats.
I just wanted to know how were the original Eng-Hindi bilingual words obtained? As I understand from your paper, attract-repel work on pre-trained word embeddings. It would be great if you could mention how those pretrained bilingual word vectors were obtained in the first place.
PS: I am an undergrad so kindly excuse me if I missed something important given in the paper.

Also the dataset used to evaluate Eng-Hin vectors


Docker

Appreciate your effort for this project. I tried to deploy this project on my local MacBook but failed. Is it possible to deploy it on Docker? It'll be very convenient for the users to deploy, thanks.

I can try. The installation of TA-lib is the tricky part.

So it won't be a quick shot.

I need to create a branch with vertorbt instead of vectorbtpro. As you may not have vectorbtpro and I suppose you want first to see if something works before investing more money.
I will create a Dockerfile based on the vectorbt one (as it is the main lib for my bot). It itself bases on jupyter. Jupyter image is 2.5 Gb heavy (alone), vectorbt pro is 4.7 Gb, be ready!
Then I have to create the manifests for the bot. As it uses Django, a pod for the DB, a pod for Redis and one for the worker must run. So it needs some structure.
So it won't be a light container / light solution. But I will definitely try. In parallel, I will write some clear installation instruction. Here I suppose too many things.

Appreciate it. You are very helpful.
As I am a vectorbtpro user, you can just focus on step2 and stpe3 for now which may save some of your time.
Thanks again.

So It seems that I made it work. I will test it again from a to z, and check everything again. I am unfortunately away for the next day. I will finish on Sunday.

I let you try.

Thanks for your effort. I tried to deploy it. But I found some pods is not ready, what should I do to solve this porblem? thanks.
NAME                                      READY   STATUS              RESTARTS        AGE
django-migrations-8zdjb                   0/1     ErrImageNeverPull   0               14m
py-trading-bot-d79b7866b-7vbxx            0/1     ErrImageNeverPull   0               14m
py-trading-bot-postgres-c899fc6bd-mqmz8   1/1     Running             1 (7m ago)      15m
py-trading-bot-redis-557dc7d54c-w5tkh     1/1     Running             1 (5m12s ago)   15m
py-trading-bot-worker-688df49dcc-qdnrx    0/1     ErrImageNeverPull   0               14m

It seems you did not create the image py-trading-bot or at least your minikube cannot find it. When you type "docker images" from minikube, do you see the py-trading-bot?

yes. I have the py-trading-bot on docker.
Docker info as below:
kicbase/stable | IN USE | v0.0.34 | 9e28dc02239f | about 2 months ago | 1.06 GB | RUN
py-trading-bot		latest	8b15e4552aa0	7 minutes ago	4.67 GB
Installation info as below
=> => transferring context: 312.85MB                                                                            6.3s
=> [ 2/11] WORKDIR /tmp                                                                                0.6s
=> [ 3/11] RUN apt-get update &&  apt-get install -yq --no-install-recommends cmake &&  apt-get clean &&  rm   13.4s
=> [ 4/11] RUN wget https://netcologne.dl.sourceforge.net/project/ta-lib/ta-lib/0.4.0/ta-lib-0.4.0-src.tar.gz  46.4s
=> [ 5/11] RUN rm -R ta-lib ta-lib-0.4.0-src.tar.gz                                                             0.2s
=> [ 6/11] RUN pip install --quiet --no-cache-dir     'jupyter-dash'     'plotly>=5.0.0' &&     fix-permissio  97.1s
=> [ 7/11] RUN pip install --quiet --no-cache-dir     'numpy==1.21'     'numba==0.55.1'     'schedule'     '  214.2s
=> [ 8/11] RUN pip install --quiet --no-cache-dir django==4.1.2     'asyncio'==3.4.3     'celery[redis]'==5.2  18.7s
=> [ 9/11] RUN pip install -U "vectorbtpro[base] @ git+https://@githu  31.7s
=> [10/11] COPY . /home/jovyan/                                                                                0.8s
=> [11/11] WORKDIR /home/jovyan/py-trading-bot/                                                                 0.0s
=> exporting to image                                                                                9.1s
=> => exporting layers                                                                                9.1s
=> => writing image sha256:8b15e4552aa05fcd4bbd2b00514bb387a31441f1f1ead68093d27f541aeafb23                     0.0s
=> => naming to docker.io/library/py-trading-bot                                                                0.0s
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
(base) luca@LucadeMBP-2 py-trading-bot-main % ./py-trading-bot/kubernetes/sequence_start.sh
configmap/py-trading-bot-configmap unchanged
secret/py-trading-bot-secret unchanged
deployment.apps/py-trading-bot-redis unchanged
service/py-trading-bot-redis-service unchanged
deployment.apps/py-trading-bot-postgres unchanged
service/py-trading-bot-postgres-service unchanged
persistentvolume/py-trading-bot-postgres-pv unchanged
persistentvolumeclaim/py-trading-bot-postgres-pvc unchanged
deployment.apps/py-trading-bot unchanged
service/py-trading-bot-service unchanged
job.batch/django-migrations unchanged
deployment.apps/py-trading-bot-worker unchanged
(base) luca@LucadeMBP-2 py-trading-bot-main % kubectl get pods
NAME                                      READY   STATUS              RESTARTS        AGE
django-migrations-8zdjb                   0/1     ErrImageNeverPull   0               9h
py-trading-bot-d79b7866b-7vbxx            0/1     ErrImageNeverPull   0               9h
py-trading-bot-postgres-c899fc6bd-mqmz8   1/1     Running             3 (5h17m ago)   9h
py-trading-bot-redis-557dc7d54c-w5tkh     1/1     Running             3 (5h17m ago)   9h
py-trading-bot-worker-688df49dcc-qdnrx    0/1     ErrImageNeverPull   0               9h
(base) luca@LucadeMBP-2 py-trading-bot-main %

Hum strange. The ErrImageNeverPull means that it does not find it locally (as I set imagePullPolicy: Never, it won't look in Docker hub for the image). I can only share my experience with this kind of topic (which was not gathered with this image ;)).
When I start a terminal without minikube or anything and do "docker images" I have get a list of images.
When I then start minikube with "minikube start" and then do "eval $(minikube docker-env)" I will see a different list of images with docker images. The discrepancy between both lists is a gotcha. The image needs to be, at least in my experience, in the second list.
Normally the problem does not happen, if you build the image from minikube and after the eval. If for some reason, the image is only in the first list but not in the second, you can do "minikube image load py-trading-bot". Alternatively, build it directly in minikube with "minikube image build -t py-trading-bot --build-arg GH_TOKEN=<>".

Ok that's much better. It means the pods found the images, we see it is all running. The django-migrations is just a job. To know what went wrong do "kubectl logs django-migrations-jbj4b", it will display the logs. I tested it though, but this was the last part of my implementation...

I got the erros just now, it seems a high version libpq is needed. Do you know how to upgrade it? thanks.
/opt/conda/lib/python3.9/site-packages/django/core/management/commands/makemigrations.py:143: RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': SCRAM authentication requires libpq version 10 or above

First sorry for the delay, I was (again) on my way. I feared that I made my tests wrong, and repeated them. On my side everything is fine. A look in google told me that your error related to (Apple)-M1-CPU
See https://stackoverflow.com/questions/62807717/how-can-i-solve-postgresql-scram-authentication-problem

They recommand using psycopg2 instead of psycopg2-binary. However, it is not easy, I always got an error/warning if I try to install psycopg directly.

Not at all, I am appreciated for your huge effort on this. I deployed it to another laptop (None M1), the good news is it works now. But there is still some little problem, it seems the data is not imported to the database properly, I see so many  exceptions on the website. Do you have any idea about how to fix this problem? Thanks a lot.
django-migrations logs:
Traceback (most recent call last):
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "auth_user_username_key"
DETAIL:  Key (username)=(admin) already exists.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
exceptions on the website.
relation "reporting_report" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "reporting_report"

I updated the documentation for that.
The first error is because you already have the superuser created in the DB (probably last time you tried and it crashed)
The second one is because the migration did not work, which is logic as it is the step after the creation of the superuser in the script and it crashed at that point.

Sorry to bother you again. I deleted all the pods and started to deploy from a new environment with your lastest document, but I still encountered some problems when importing the data to the database. The errors are as below.
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
Traceback (most recent call last):
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "django_content_type_app_label_model_76bd3d3b_uniq"
DETAIL:  Key (app_label, model)=(orders, action) already exists.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/jovyan/py-trading-bot/manage.py", line 22, in
main()
File "/home/jovyan/py-trading-bot/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/opt/conda/lib/python3.9/site-packages/django/core/management/init.py", line 446, in execute_from_command_line
utility.execute()
File "/opt/conda/lib/python3.9/site-packages/django/core/management/init.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/conda/lib/python3.9/site-packages/django/core/management/base.py", line 402, in run_from_argv
self.execute(*args, **cmd_options)
File "/opt/conda/lib/python3.9/site-packages/django/core/management/base.py", line 448, in execute
output = self.handle(*args, **options)
File "/opt/conda/lib/python3.9/site-packages/django/core/management/commands/loaddata.py", line 102, in handle
self.loaddata(fixture_labels)
File "/opt/conda/lib/python3.9/site-packages/django/core/management/commands/loaddata.py", line 163, in loaddata
self.load_label(fixture_label)
File "/opt/conda/lib/python3.9/site-packages/django/core/management/commands/loaddata.py", line 253, in load_label
if self.save_obj(obj):
File "/opt/conda/lib/python3.9/site-packages/django/core/management/commands/loaddata.py", line 209, in save_obj
obj.save(using=self.using)
File "/opt/conda/lib/python3.9/site-packages/django/core/serializers/base.py", line 288, in save
models.Model.save_base(self.object, using=using, raw=True, **kwargs)
File "/opt/conda/lib/python3.9/site-packages/django/db/models/base.py", line 863, in save_base
updated = self._save_table(
File "/opt/conda/lib/python3.9/site-packages/django/db/models/base.py", line 976, in _save_table
updated = self._do_update(
File "/opt/conda/lib/python3.9/site-packages/django/db/models/base.py", line 1040, in _do_update
return filtered._update(values) > 0
File "/opt/conda/lib/python3.9/site-packages/django/db/models/query.py", line 1215, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/opt/conda/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1822, in execute_sql
cursor = super().execute_sql(result_type)
File "/opt/conda/lib/python3.9/site-packages/django/db/models/sql/compiler.py", line 1398, in execute_sql
cursor.execute(sql, params)
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 103, in execute
return super().execute(sql, params)
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
File "/opt/conda/lib/python3.9/site-packages/django/db/utils.py", line 91, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/opt/conda/lib/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: Problem installing fixture '/home/jovyan/py-trading-bot/dump.json': Could not load contenttypes.ContentType(pk=11): duplicate key value violates unique constraint "django_content_type_app_label_model_76bd3d3b_uniq"
DETAIL:  Key (app_label, model)=(orders, action) already exists.
(base) luca@MBP ~ %

Sad sad sad. I made some tests, I am not able to reproduce your issue, but it seems that the dump contains my superuser. It does not throw an error, but it's a fact. So there is indeed something to improve by the migration and dump. I am a bit out of patience for today, I will try again tomorrow.

Oh, it was a long fight. First, I understood why I was not seeing the same as you: somehow it kept on reloading my first db (hostPath, see readme) so my tests were completely wrong. Then I noticed that the init.py are required (I had already an exception in my gitignore but for some reasons, did not had effect). Then I had a big issue with permission on those init. I set the User as root... I have to find a better way. Eventually, I had to fix the migration like in https://www.youtube.com/watch?v=N4gjiJumTZg . There is still my users in the dump, but when I try to remove it, I have a bug with foreign key. So in short, it is not perfect, but I was able to test it on my side.

Got it. Relax a little bit, you can try to fix it when you are available and have enough time. Thanks for your effort and patience.

No thank you, properly tested softwares don't require so much beta testing... The problems you mentioned are real, they need to be fixed.


tests: net: http_server: Add HPACK testsuite

Add tests suite covering HTTP2 HPACK header compression and Huffman encoding.
Note - many HPACK encoding/decoding cases in tests look similar, but there are subtle differences in HPACK header used. For decoding, we should be able to decode all of them. For encoding, we only test what we support (no dynamic indexing).

Pushed a fix for the failing platform.

This should be in 3.7 to improve test coverage.
Cc: @aescolar


Installation failing on Alpine Linux

Working with a docker container and spiceypy is throwing symbol not found errors. Here is a link to the Dockerfile.
Base alpine-glibc image (cspice needs glibc I believe). Adding gcc and the necessary dependencies to get a clean py3 build. On import of spicepy, I am seeing OSError: Error relocating /usr/lib/python3.6/site-packages/spiceypy/utils/spice.so: __strtod_internal: symbol not found.
Any thoughts?  Same behavior on the base continuum/miniconda3 image.  This is depending on cspice66.

Unfortunately, the install is clean. The issue is on important. Basically, the build of cspice is successful, but it looks like the compiler used for cspice and the compiler used for some dependency are out of sync. I will try to debug. Also need to test a fresh install in a conda env to see if this is reproducing locally (not in a minimal container).  Thanks.

Maybe a little more info here.  I was wrong above about the install being correct:
  Unable to find CSPICE at /tmp/pip-install-3fxewh0c/spiceypy/cspice. Attempting to Download CSPICE For you:
  Gathering information...
  SYSTEM:    Linux
  PROCESSOR:
  MACHINE:   64bit
  Downloading CSPICE for PC_Linux_GCC_64bit...
  Unpacking... (this may take some time!)
  Host OS: Linux
  /bin/sh: 1: ar: not found
  Error: cspice object file extraction failed with exit status: ('32512',)

This is using a full Debian-jessie container, so this should remove potential issues with using the minimal alpine image.

In case anyone else is having the same issue. This can be caused by your docker image missing the required packages to build spicepy and can be fixed by running:
apt-get install gcc make build-essential


[DevDocs] Rework the API documentation

The API documentation in owncloud.dev needs some urgent and intense love, it is when looking at it in a messy state.
We must have:

A central entrypoint for all stuff that is API related
A clear structure about the content, what to expect and properly written
All API doc content must reside here (no pointing to oc10 dev docs etc)

Post revision, it of course needs regular maintenance.
@tbsbdr @micbar @butonic @fschade

This is too general. We need small and actionable tasks.

That was exactly the reason adding this issue. The referenced issue describes content changes while this one describes structure.


package request: keyd - "A key remapping daemon for linux"

Project description
https://github.com/rvaiya/keyd

A key remapping daemon for linux.

Linux lacks a good key remapping solution. In order to achieve satisfactory results a medley of tools need to be employed (e.g xcape, xmodmap) with the end result often being tethered to a specified environment (X11). keyd attempts to solve this problem by providing a flexible system wide daemon which remaps keys using kernel level input primitives (evdev, uinput).

Features
keyd has several unique features many of which are traditionally only found in custom keyboard firmware like QMK. Some of the more interesting ones include:

Layers.
Key overloading (different behaviour on tap/hold).
Per keyboard configuration.
Instantaneous remapping (no flashing required).
A simple and intuitive config format.
Being display server agnostic (works on wayland and virtual console alike).

Metadata

homepage URL: https://github.com/rvaiya/keyd
source URL: https://github.com/rvaiya/keyd
license: MIT
platforms: linux

I am new to Nix and was thinking of contributing to it by submitting this package. I am curious, @foolnotion, what is wrong with letting the config directories etc. stay that the way they are? Of course I would want more control over the dotfiles but that is an upstream issue, right?

@dit7ya I am actually not sure about the proper "nix" way to package this, as nix does not strictly adhere to the FHS standard, but I thought it'd be nice to be able to configure the path. It seems more logical to me to keep the config files under /home/$USER/.config/keyd rather than system-wide in /etc. I had made an issue upstream so the paths are configurable at build time but not at runtime.

I've been carrying this locally for ages - apologies for not upstreaming it earlier.


Add text aligment option for text drawing

Thank you for your PR. I missed text drawing options.
It looks what you added is not text alignment but anchor.
I renamed TextAlignment to TextAnchor.
Apart from that, I added TextAlignment which aligns multiline text.
Now it got more flexible text drawing method. Thank you so much!

@t-ae Nice! Thank you for awesome lib!


Posts filtered by tags shows image of the first unfiltered post

Issue still present when deployed, disabling caching prevents this behavior.

maybe fixed? add unit test for this


How to add domain specific keyword

Hello NVIDIA team,
Thank you for the fantastic work.
I used the model and found the model lags in transcription of the domain specific key word and local slang.
Can you please provide me some guidance to improve the transcription accuracy.
Thanks once again for the help.

You need to retune the model if the domain is different from the used dataset

Thanks. Is the training need audio + Transcript ? or Only Audio ?

For training you need both audio and transcript. If the target dictionary is small, please check the models in "Speech commands" section


refactor(autoware_planning_evaluator): devops node dojo

Description
Implement ROS Node configuration according to the devops dojo instruction document for the "autoware_planning_evaluator" package.
Related links

https://github.com/orgs/autowarefoundation/discussions/3371

Parent Issue:

https://github.com/orgs/autowarefoundation/discussions/3371

How was this PR tested?
colcon build --symlink-install --packages-up-to autoware_planning_evaluator

ros2 launch evaluator/autoware_planning_evaluator/launch/planning_evaluator.launch.xml

Notes for reviewers
None.
Interface changes
No interface changes per say, just moving the existing param files to the "config" folder and creating a json schema file containing that same information.
Effects on system behavior
None.

@maxime-clem could you review it again? I believe I've  applied the required changes.


add config for managementgroup

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

it already has python config in readme.md https://github.com/Azure/azure-rest-api-specs/blob/master/specification/managementgroups/resource-manager/readme.md#python

Can one of the admins verify this patch?

/azp run automation - sdk

Hi, @RodgeFu. The PR has be closed for a long time and it's related branch still exist. If no further used for over 14 days, I will delete this related branch. Please tell me if you still need this branch.

Hi, @RodgeFu. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @RodgeFu. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.

Hi, @RodgeFu. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.


Add nullify check for cautionString

Summary
The recent refactor for caution indicators introduced a minor bug that cancelled all fetchRequests to Firebase Functions to retrieve suggested courses in the requirements menu. It was because this.duplicatedCourseCodeList can sometimes be null.
Adding a null checker fixed that

@SamChou19815 it's undefined when it's courses on the requirements menu. I would argue that makes sense

I'm a bigger fan of a null check as a sanity check, but we can also just pass a prop that specifically cancels the function. Which do you think is better?

I'm a bigger fan of a null check as a sanity check, but we can also just pass a prop that specifically cancels the function. Which do you think is better?

I think it's better to include the null case in PropType so that in the future typescript can prevent this kind of regression

@SamChou19815 updated it


make get_tag and tags public

closes #69

@IsaacWoods pinging for review! :smile:

Hi @strcoy
Out of interest, is the crate lacking support for a tag you need, or is this just for maximal permissiveness?

@IsaacWoods Should we add this to the v1.0.0 release?  This would fit because we also have to make the tag type enum public.

As we have separate getters for every single possible tag, which returns Options, I don't see why this should be public. This would be more confusing than benefitical. I'd propose that we check if we have indeed a getter for every single tag type and if not, we do this instead in this PR. Opinion, @IsaacWoods ?

I'm inclined to agree - if a tag type is missing, the preferred answer imo is to add it to this library. With a format like stivale, where I think custom tag types are allowed, this would make more sense, but yeah I'm inclined to close unless the original author comes back to us.

I'm inclined to agree - if a tag type is missing, the preferred answer imo is to add it to this library. With a format like stivale, where I think custom tag types are allowed, this would make more sense, but yeah I'm inclined to close unless the original author comes back to us.

Makes sense! Closing it.


Either.mapLeft Javadoc seems incorrect

v2.0.4 Either.mapLeft says:

default  Either<U,R> mapLeft(Function<? super L,? extends U> leftMapper)
Maps this right-biased Either.

Shouldn't it be "Maps this left-based Either"?

Thank you. You are right, it is unclear. It is correct that the Either is right-biased, regardless if its left value or its right value is mapped. I will change the docs like this:
"Maps the left value of this Either, if present."

@danieldietrich Thank you. I suggest that you also explicitly say "...is a no-op if the value is a Right", or something to that effect.

Yes, the javadoc could be more mature throughout the project. We currently focus on the work of the other issues towards the bugfix release 2.0.5 and the next minor release 2.1.0.
Contributions, especially to javadoc, are welcome!

I'd be happy to but do you really need contribution to add 35 characters? Perhaps 70, if map is updated as well.

Of course not.


Fix agent panic in case of malformed objects retrieved from the kvstore, and improve validation

This PR adds extra validation to prevent processing invalid node and service objects retrieved from the kvstore, which could trigger unexpected behavior.

Fix agent panic in case malformed objects are retrieved from the kvstore, and improve validation

/test

The last push reverted a minor modification for better consistency with the previous implementation, with no functional differences.

/test


Improve InstallPlan error handling

Description of the change:
With this change we no set condition on subscriptions about errors during InstallPlan creation.
Previously we were only logging these errors.
Motivation for the change:
We recently seen failures on InstallPlan status update because the size of status exceeded request limit (InstallPlan was over 2.1M). A failure like this is currently not visible to the end user and it only possible to see from the OLM debug logs.
Architectural changes:

Testing remarks:

Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Bug fixes are accompanied by regression test(s)
[ ] e2e tests and flake fixes are accompanied evidence of flake testing, e.g. executing the test 100(0) times
[ ] tech debt/todo is accompanied by issue link(s) in comments in the surrounding code
[ ] Tests are comprehensible, e.g. Ginkgo DSL is being used appropriately
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive
[ ] Tests marked as [FLAKE] are truly flaky and have an issue
[ ] Code is properly formatted

Looks like a flake in a merge queue


starting on new routes

Codecov Report

Merging #338 (88c21a4) into main (21be6b4) will decrease coverage by 0.72%.
The diff coverage is 13.20%.

@@            Coverage Diff             @@
##             main     #338      +/-   ##
==========================================
- Coverage   71.31%   70.58%   -0.73%
==========================================
  Files         180      181       +1
  Lines        7439     7527      +88
  Branches      555      580      +25
==========================================
+ Hits         5305     5313       +8
- Misses       2002     2082      +80
  Partials      132      132

Impacted Files
Coverage Δ

pyEX/platform/platform.py
0.00% <0.00%> (ø)

pyEX/common/urls.py
35.84% <37.83%> (+0.38%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 21be6b4...88c21a4. Read the comment docs.


Polymer dom flush only if polymer exists

This issue came up when using lit-element and using a11ySuite in the WCT test suite.

I signed it!

Thanks for your PR, @jholt1 - Integrating now

Thanks for merging @usergenic!


fix: position is lost when toggling window

Keep track of cursor position so that the window contents gets back to where it was before hiding.

I like this idea.
The only issue is that we get the following error when opening for the first time.
Error executing vim.schedule lua callback: .../nvim/lazy/floating-help.nvim/lua/floating-help/init.lua:80: Cursor position outside buffer
stack traceback:
        [C]: in function 'nvim_win_set_cursor'
        .../nvim/lazy/floating-help.nvim/lua/floating-help/init.lua:80: in function <.../nvim/lazy/floating-help.nvim/lua/floating-help/init.
lua:79>
Press ENTER or type command to continue

We could append the buffer position to the opts that are passed into View.create? Then the view would handle setting its own cursor position once set up

Strange… I can't reproduce it.
Could you investigate how this error is raising on  your side (and not on mine)?

Closing as this has been superseded

Could you investigate how this error is raising on your side (and not on mine)?

The initial cursor position {0,0} wasn't valid due to inconsistent indexing... From the docs (emphasis mine)

nvim_win_set_cursor({window}, {pos}) Sets the (1,0)-indexed cursor position in the window


[Bug] Exception on Drag & Drop or Cut & Paste [sf#235]

Reported by texasaggie97 on 2018-02-14 15:29 UTC
I get a similar exception whether I try to drag and drop an item or cut and paste.
For this particular one, I was cutting a sizer with multiple children and pasting it into an empty slot.
Error type: <type 'exceptions.TypeError'>
Error summary: No summary available
Error details:
ERROR   : None
An unexpected error occurred!
Exception type:      <type 'exceptions.TypeError'>
Exception details:   loads() argument 1 must be string, not memoryview
Application stack traceback:
File "C:\Python27\lib\site-packages\wx\core.py", line 3190, in
lambda event: event.callable(*event.args, **event.kw) )
File "C:\Users\msilva\Desktop\wxglade\misc.py", line 310, in wrapper
ret = func(*args, **kwargs)
File "C:\Users\msilva\Desktop\wxglade\misc.py", line 358, in _paste
clipboard.paste(focused_widget)
File "C:\Users\msilva\Desktop\wxglade\clipboard.py", line 267, in paste
if not widget.clipboard_paste(data_object.GetData()):
File "C:\Users\msilva\Desktop\wxglade\edit_sizers\edit_sizers.py", line 434, in clipboard_paste
return clipboard._paste(self.parent, self.sizer, self.pos, clipboard_data)
File "C:\Users\msilva\Desktop\wxglade\clipboard.py", line 273, in _paste
option, span, flag, border, xml_unicode = clipboard2widget( clipboard_data )
File "C:\Users\msilva\Desktop\wxglade\clipboard.py", line 204, in clipboard2widget
option, span, flag, border, xml_unicode = compat.pickle.loads(clipboard_data)
Date and time:       2018-02-14T09:27:07.705000
Python version:      2.7.14
wxPython version:    4.0.0
wxWidgets platform:  WXMSW
wxGlade version:     0.8.0b3

Updated by dschwertberger on 2018-02-14 20:23 UTC

status: open --> pending
assigned_to: Dietmar Schwertberger

Commented by dschwertberger on 2018-02-14 20:23 UTC
Thanks for reporting. I rarely test 2.7 with Phoenix...
A fix is in the repository version and will be part of 0.80b4.

Commented by texasaggie97 on 2018-02-16 21:29 UTC
This is now working for me.

Updated by dschwertberger on 2018-03-09 21:30 UTC

status: pending --> closed

Commented by dschwertberger on 2018-03-09 21:30 UTC
0.8.0b4 is online now.


Attempt to avoid extra space below a callout list

There's some CSS trickery here to avoid extra space below a calloutlist. It will work when the last element of the last callout description is a para:
<calloutlist>
  ...
  <callout>
    ...
   <para>...</para>
  </callout>
</calloutlist>

I expect that (a) calloutlists are fairly rare and (b) when they're used, they almost always contain paragraphs, so...

FWIW, it'll work when the last element of the last item is transformed into a p in the HTML. That includes para, simpara and perhaps a few other things.


Control all devices at the same time?

Is there a function to use one device to control all connected devices? Same as qtscrcpy did

Nope, there isn't.

Is there a function to use one device to control all connected devices? Same as qtscrcpy did

i think it's there if your question exist then your answer also exists and its actually exists