Update URLs to docs and remove badges from docs

Update URLs in docs
Update index page
Increment patch number

Codecov Report

Merging #49 (bd9fd82) into main (766efd4) will decrease coverage by 1.44%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
- Coverage   97.08%   95.65%   -1.44%
==========================================
  Files          10        1       -9
  Lines         309       69     -240
==========================================
- Hits          300       66     -234
+ Misses          9        3       -6

Impacted Files
Coverage Δ

src/from_namedtuple.jl

src/convert_inference_data.jl

src/InferenceObjects.jl

src/convert_dataset.jl

src/from_dict.jl

src/inference_data.jl

src/dataset.jl

src/utils.jl

src/dimensions.jl

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Enable the usage of default key in carrier configutions for Default and Velocity themes.

Update default & velocity theme's shipping checkout section to use the default key added in carrier configurations., so a default a default method is selected during checkout.
Ex:
flatrate' => [
'code'             => 'flatrate',
'title'            => 'Flat Rate',
'description'      => 'Flat Rate Shipping',
'active'           => true,
'is_calculate_tax' => true,
'default_rate'     => '10',
'type'             => 'per_unit',
'default'        => 1,
'class'            => 'Webkul\Shipping\Carriers\FlatRate',
],

Hi @dejavuejs,
I am checking your PR, till then do one thing please update your branch with the master. As it is 68 commits behind.

Hi @dejavuejs,
I am checking your PR, till then do one thing please update your branch with the master. As it is 68 commits behind.

Hi @dejavuejs,
I have checked that PR, still by default method is not selected.
https://prnt.sc/xfhgkp

Hi @dejavuejs,
I have checked that PR, still by default method is not selected.
https://prnt.sc/xfhgkp

Hi @dejavuejs,
Are you working on this?

yes, will do it soon.

@dejavuejs what is the status of this PR?

Hi @dejavuejs,
If you are working on this, I want to inform you that the master is now at Laravel 8. So please update your branch with the latest master also.

ok

Closing this PR due to no activity.


Suggestion - Include functional VRTK Radial Menu example

Given the intention is to support SteamVR and VRTK it would perhaps be helpful to include a functional VRTK Radial Menu example in future updates, as with the SteamVR variant.

Consistency is always a good thing. I'm a little busy with other projects at the moment, but you're welcome to submit a PR.


Update test suite images

See original issue on GitLab
In GitLab by [Gitlab user @tlater] on Jul 4, 2018, 18:10
Background
With buildstream-docker-images!49 we have finally started the process of restructuring our image repository. This means that our test runner is running with images that we would like to deprecate!
Task description
The test suite images for our CI should be updated:

[ ] buildstream-fedora -> testsuite-fedora:27
[ ] buildstream-debian -> testsuite-debian:9

Acceptance Criteria
All our test suite images should use the new images, so that we can deprecate the old images.

In GitLab by [Gitlab user @cs-shadow] on Jul 5, 2018, 08:48
[Gitlab user @tlater] there's an MR for it: https://gitlab.com/BuildStream/buildstream/merge_requests/531 :)

In GitLab by [Gitlab user @cs-shadow] on Jul 5, 2018, 08:49
mentioned in merge request !531

In GitLab by [Gitlab user @cs-shadow] on Jul 5, 2018, 09:22
mentioned in commit efdf7c13c18f633004cb8d6b46f1ddce3c80ece5

In GitLab by [Gitlab user @tlater] on Jul 5, 2018, 18:41
Thanks [Gitlab user @cs]-shadow - beat me to it ;)

In GitLab by [Gitlab user @cs-shadow] on Jul 17, 2018, 16:24
mentioned in commit 8333d206c0ea7d04e958c748f7d6b3b25431a73a

In GitLab by [Gitlab user @cs-shadow] on Jul 18, 2018, 16:22
mentioned in commit 808ac63f38f8806b021dccf04889585936f2937d

In GitLab by [Gitlab user @cs-shadow] on Jul 18, 2018, 19:03
mentioned in commit 48f66a3ca1c71dccfc30dd9ed818be22ac455bba

In GitLab by [Gitlab user @tristanvb] on Jul 19, 2018, 11:41
closed via merge request !531

In GitLab by [Gitlab user @cs-shadow] on Jul 19, 2018, 16:07
mentioned in commit 21fb826dc90570914bb2e80a8348d408dec44be7


HW 1 Errors

Hello, the following are errors I have found in your first homework assignment:

The link you have included to the course webpage does not work.
The categories (Name, ID, Department, etc.) should be bolded
The quote at the bottom of the page is not correctly formatted.
The links to the homework, quiz, and exam folders are missing.
You have not answered question 3.
You have not answered question 4.
You have not answered question 5.

Since this is the first assignment, you have the opportunity to earn some points back on these mistakes if you resolve these issues by the start of class on Monday.

Hey Nicholas what do you mean by this? Sorry I’m a bit confused
Get Outlook for iOShttps://aka.ms/o0ukef

From: NicholasAsirvadam @.>
Sent: Monday, February 19, 2024 5:55:28 PM
To: AngelaDonguia/IDS2024S @.>
Cc: Subscribed @.***>
Subject: Re: [AngelaDonguia/IDS2024S] HW 1 Errors (Issue #1)
[External]
Closed #1https://github.com/AngelaDonguia/IDS2024S/issues/1 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/AngelaDonguia/IDS2024S/issues/1#event-11855166843, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVMC4NBEPUWQ2XC2R2MPKFTYUPQ7BAVCNFSM6AAAAABDN5EEM2VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRHA2TKMJWGY4DIMY.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hello Angela,
This is nothing to worry about. I just closed your issue on GitHub and I guess it sent you a message acknowledging that.  You can disregard that email.
Thanks,
Nicholas Asirvadam

From: AngelaDonguia @.>
Sent: Monday, February 19, 2024 6:00 PM
To: AngelaDonguia/IDS2024S @.>
Cc: Asirvadam, Nicholas Ravi @.>; State change @.>
Subject: Re: [AngelaDonguia/IDS2024S] HW 1 Errors (Issue #1)
[External]
Hey Nicholas what do you mean by this? Sorry I’m a bit confused
Get Outlook for iOShttps://aka.ms/o0ukef

From: NicholasAsirvadam @.>
Sent: Monday, February 19, 2024 5:55:28 PM
To: AngelaDonguia/IDS2024S @.>
Cc: Subscribed @.***>
Subject: Re: [AngelaDonguia/IDS2024S] HW 1 Errors (Issue #1)
[External]
Closed #1https://github.com/AngelaDonguia/IDS2024S/issues/1 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/AngelaDonguia/IDS2024S/issues/1#event-11855166843, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVMC4NBEPUWQ2XC2R2MPKFTYUPQ7BAVCNFSM6AAAAABDN5EEM2VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRHA2TKMJWGY4DIMY.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://github.com/AngelaDonguia/IDS2024S/issues/1#issuecomment-1953291952, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFSZ7AS56SYYHIDZQV7QIATYUPRQNAVCNFSM6AAAAABDN5EEM2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJTGI4TCOJVGI.
You are receiving this because you modified the open/close state.Message ID: @.***>


Convert to spies

Fixes #9. Not much else to say.

Coverage remained the same at 99.533% when pulling c93dba205d465bdf4c0ab1e0ff9583f47d494f88 on AmaranthineCodices:use-spies into 3b5cc4f6072c4cda25602ec8e753b2fcb5862368 on LPGhatguy:master.

Awesome! Thanks for the fix!


Object: nil for the 'create' version

I'm getting a nil object on every create event.
Is this the desired behavior?
This gives a problem when the item is deleted, and you want to verify the first version with reify.

I have following code in migration
    create_table :versions do |t|
      t.string   :item_type, null: false
      t.integer  :item_id,   null: false
      t.string   :event,     null: false
      t.string  :whodunnit
      # jsonb requires Postgresql 9.4
      t.jsonb    :object # originally it was text
      t.datetime :created_at
    end

    add_index :versions, [:item_type, :item_id]
    add_index  :versions, :object, using: :gin
    # special type of index for jsonb column
    execute "CREATE INDEX versions_object_company_id ON versions ((object->>'company_id'))"

And following model
class Version < PaperTrail::Version
  belongs_to :user, foreign_key: :whodunnit

  # using jsonb and foreing_key
  # otherwise I would need to use something like:
  #   PaperTrail::Version.where_object(company_id: @company.id).
  #   select('versions.*, users.first_name, users.last_name').
  #   joins('JOIN users ON users.id = versions.whodunnit')
  scope :by_company_id, -> (id) { where('object @> ?', {company_id: id}.to_json) }
  scope :includes_user, -> { includes(:user) }
end

I want to list all changes done for some company. Im doing it that way to fix N+1 queries problem. But because for create event it stores nil object it does not show create events in the log for company. Any suggestions on how to handle it?

I want to  ... Any suggestions on how to handle it?

Per the contributing guide please ask usage questions on Stack Overflow.

was this feature removed from master ? seems like #172 fixed it but I'm still getting nil on version 6

@emerak - #172 is related to object_changes column getting populated for create events, so it's loosely related but not the same thing. A version record is supposed to represent the object "pre-change", that is why when you call version.object it returns nil where version.event == 'create'.


Upgrading to latest tilelive @5.6.x

odd, realizing now that this does the same thing as #90 did. So, somehow this upgrade got lost in the latest tag. Will tag now and that will fix it.


https://docs.medusajs.com/recipes/b2b no longer works server/client side

I've tried to implement the following recipe to the t, sadly cant get it to work, has something changed?

something to do with changing to nextjs 14.... struggling with the approach
https://medusajs.com/blog/client-server-transition-learnings-nextjs-14-server-components/

I'm trying to change the price to excluding VAT if it is a B2B client and inclusive of VAT if it is B2C


Virtual Size

Quick question.  I just noticed when looking at the image for craneoperator that it's virtual size is 1.4GB.  Why is it so large?

So I looked into this and its because it builds off of my ruby image:
https://hub.docker.com/r/parabuzzle/ruby (https://github.com/parabuzzle/docker-ruby)
That image installs a bunch of boilerplate that I use in almost all of my ruby projects (its kind of a catch all container for my projects). It installs these pacakages:
nodejs
build-essential
chrpath libssl-dev
libxft-dev libfreetype6
libfreetype6-dev
libfontconfig
libfontconfig1-dev
phantomjs-2.1.1

These packages aren't actually used in this specific project and I may be able to look at skipping my deve container and using the base ruby container (https://hub.docker.com/r/_/ruby/) or even the slim ruby container.
That's where all the bloat is coming from.
to be honest, I really didn't see it as much of problem or even noticed until you just mentioned it.

Okay, thanks for the explanation.  Smaller would be good but not a big deal.

reduced it down to 990.2 MB just by cutting out my intermediate dev container. Version 2.1.3 is built with the reduced bloat :)


UI searchable tags

resolves #46
Changes

I changed the sortData and the filterData function to also handle the tagSearch.
I changed the way tags get displayed and what happens when you click on them
When clicking a Tag, only the rows with this tag get displayed and the clicked tag gets marked. when clicking more tags, the rows get filtered for all rows which contain all the clicked tags. This implements the "and" search functionality for tags.

For this to work. I had to change the way the tag Picker gets opened in the overview. It now gets opened by the little pencil Button next to the tags

little fixes

I removed the redundant tagId from the tag interface

You can fix that by rebase this branch to main and complete it using force push.

Github thinks the changes on this branch are bigger than they are. This is because I merged two branches (which are now merged in main) into this one during development and now github thinks I did that too.
You can fix that by rebase this branch to main and force push afterwards.

Github thinks the changes on this branch are bigger than they are. This is because I merged two branches (which are now merged in main) into this one during development and now github thinks I did that too.

You can fix that by rebasing this branch to main and force push afterwards.

Good to know. Thanks for the advice. I'll try it out later


[IMPROVEMENT]: Add new buildings (IDF files)

Improvement 🔧
Add new buildings to make them directly usable from the tool.
The feature introduced in the PR #246 can be used to read the available building controllers and see which ones are of interest for different problems.
Checklist

[x] I have checked that there is no similar issue in the repo (required)
[x] I have read the documentation (required)

:pencil: Please, don't forget to include more labels besides enhancement if it is necessary.

This and this can be interesting due to the fact that it is possible to control solar generation and batteries (Thanks to @jajimer for investigating it).


Istio mTLS auto pilot: Make Istio client service send mTLS if server side is able to support.

Design doc: https://goo.gl/DP2dxU
Work Needed:

istioctl kube-inject modification such that adding new labels indicating endpoints is able to accept mTLS.
Pilot CDS Change, this needs to be implemented efficiently to avoid O(N^2) complexity for service1-service2 pair.
E2E test.

/cc @wattli @diemtvu @wenchenglu


The only problem I noticed is if sensor is unavailable (for example at ha start) owm value is saved.

What happened?
reported by @omenek159 in #420
How to reproduce
reported by @omenek159 in #420
Relevant log output
No response
Which version are you running?
latest
Diagnostics file

[X] I have attached a diagnostics file

Additional information
@omenek159 please add details here.

Sure.
This is how it looks if everything is ok:
2024-08-04 13:19:53.515 DEBUG (SyncWorker_37) [custom_components.smart_irrigation.weathermodules.OWMClient] OWMClient get_data called API https://api.openweathermap.org/...
2024-08-04 13:19:53.515 DEBUG (SyncWorker_37) [custom_components.smart_irrigation.weathermodules.OWMClient] OWMCLIENT daily rain: 1.57
2024-08-04 13:19:53.515 DEBUG (SyncWorker_37) [custom_components.smart_irrigation.weathermodules.OWMClient] OWMCLIENT daily precipitation: 1.57
2024-08-04 13:19:53.516 DEBUG (MainThread) [custom_components.smart_irrigation] merge_weatherdata_and_sensor_values, overriding Precipitation value 1.57 from OWM with 0.0 from sensors
2024-08-04 13:19:53.516 DEBUG (MainThread) [custom_components.smart_irrigation] merge_weatherdata_and_sensor_values, overriding Temperature value 23.65 from OWM with 24.668 from sensors
2024-08-04 13:19:53.516 DEBUG (MainThread) [custom_components.smart_irrigation] async_update_all for mapping 0 new mapping_data: {'Windspeed': 3.410656902765825, 'Pressure': 1010.0000044025214, 'Humidity': 59, 'Temperature': 24.668, 'Dewpoint': 15.17, 'Precipitation': 0.0, 'retrieved': datetime.datetime(2024, 8, 4, 13, 19, 53, 516572)}

but if sensor is unavailable it's value is replaced with value from owm (look at precipitation):
2024-08-04 10:19:53.526 DEBUG (SyncWorker_23) [custom_components.smart_irrigation.weathermodules.OWMClient] OWMClient get_data called API https://api.openweathermap.org/...
2024-08-04 10:19:53.526 DEBUG (SyncWorker_23) [custom_components.smart_irrigation.weathermodules.OWMClient] OWMCLIENT daily rain: 0.93
2024-08-04 10:19:53.526 DEBUG (SyncWorker_23) [custom_components.smart_irrigation.weathermodules.OWMClient] OWMCLIENT daily precipitation: 0.93
2024-08-04 10:19:53.527 WARNING (MainThread) [custom_components.smart_irrigation] No / unknown value for sensor sensor.rain_live
2024-08-04 10:19:53.527 WARNING (MainThread) [custom_components.smart_irrigation] No / unknown value for sensor sensor.ebusd_broadcast_outsidetemp_temp2
2024-08-04 10:19:53.527 DEBUG (MainThread) [custom_components.smart_irrigation] async_update_all for mapping 0 new mapping_data: {'Windspeed': 2.4458000157991773, 'Pressure': 1010.0000044025214, 'Humidity': 57, 'Temperature': 23.5, 'Dewpoint': 14.5, 'Precipitation': 0.93, 'retrieved': datetime.datetime(2024, 8, 4, 10, 19, 53, 527899)}

I'll wait till owm shows some rain in my area so I could confirm it's still like this.


Audio board sends song file ID for delay as well as file ID

So sound 2 delays by 2 seconds, sound 4 by 4 seconds, etc.

I think this is fixed now


move to UFOFormatVersion as a tuple

see https://github.com/fonttools/fonttools/pull/1786#issuecomment-633271602

I agree with @justvanrossum in https://github.com/fonttools/fonttools/pull/1786#issuecomment-633501977, changing the return type of ufoFormatVersion property from int to tuple is a breaking change is a breaking change; it would have been better if defcon provides an additional attribute that returns the version tuple, or just the minor part.

Ive reverted it back, please make a PR, my open source time is up...

Ive reverted it back, please make a PR, my open source time is up...

You've reverted only the fonttools requirement, so master is currently failing. #291 is relative to the failing master, though. Also: this PR doesn't need to be reverted at all, just enhanced, which is what #291 is trying to do.


Support extendable backup flag

Related to spec update https://github.com/satoshilabs/slips/pull/1724.
Note that we need to get this merged and released in order for the firmware device tests to pass on the corresponding firmware branch https://github.com/trezor/trezor-firmware/compare/andrewkozlik/slip39.

https://github.com/trezor/python-shamir-mnemonic/pull/46/commits/a1cb726876dfafdedf8e27d3460dbf57632e7c91 Updated a comment.
The customization string shamir_extendable is not used in the PBKDF2 salt. We wanted to completely decouple the decryption method from the sharing method and the share representation, i.e. not use the customization string from the checksums in decryption, and I believe avoiding the mention of shamir in the PBKDF2 salt is right, because it allows us to cleanly update backups even to different secret sharing schemes in the future if we want.

https://github.com/trezor/python-shamir-mnemonic/commit/706934d84a7eccff7854133c2fb681ef90658a9e breaks generate_vectors.py, line 66:
mnemonic = wordlist.mnemonic_from_indices(
    indices + rs1024.create_checksum(indices, False)
)

LGTM, go ahead


ToolTip renders wrong data

Hi,
I've looked through the documentation, but unfortunately the links for the examples are broken so I can't view them.
I'm using this tooptip to render a user's quick contact details from mapping an array of all users, but it's only rendering the details of the last user when clicked - or rather, every user's details are that of the last user.
I'm imagining this has something to do with ids (?), but i can't seem to figure it out.
Any help with this matter would be greatly appreciated.
Thanks!

@KemikalGeneral please, check the demo part https://www.npmjs.com/package/react-tooltip


Add npm installer

This adds installers/npm, which now downloads binaries hosted on Bintray.

Closing in favor of #95


Add SimpleScript option

This is just a start to an idea that I think other people might find useful. It definitely needs some work.
In simplescript, most lines will look like this:
r: Hi there!
r/sad/right: I'm feeling sad today.
r/happy: but I have something that always cheers me up!
The destruction of my enemies!

You can add lines of lua code by escaping using ``` like you would in markdown.
I took a look at mustache but I couldn't get what I wanted from it. I didn't want to involve my writers in using json.

I think this would be a great addition, would really speed up the writing process!
From an architecture perspective, I'd like to make this more of a core feature of FungusLua rather than a separate command. If you want to run your script in a LuaScript component you would expect to be able to use the simplescript syntax there too.
Regarding the syntax itself, we should aim to keep the style consistent with Lua, e.g.:
s = sherlock
w = watson

-- comments!

s,angry,right: What are we doing here again?
w,annoyed,left: I don't know.
You're the one who called me out here.
s,bored: I can't be bothered to remember every appointment I arrange.
s,angry: That's why I have you.
w: ...

stage.hide(sherlock)
stage.hide(watson)
wait(1)

It should be possible to mix simplescript in with Lua freely without special code blocks, the lines with special markup on them just expand into more Lua.
To get this to work generically, I'll add an IPreprocessor interface to LuaEnvironment, and have LuaUtils implement it. LuaEnvironment will run all scripts through the preprocessor before passing them to MoonSharp for execution. That way every script that goes through FungusLua can use this syntax, and we can extend it in the future.
Sorry for all the proposed changes, but I think this could be a really powerful feature so let's nail it!
What do you think?

Just added the preprocessor support for LuaEnvironment / LuaUtils if you want to hook into that.

Ya! Nail it!
I think I see what I should do with the Preprocessor. I'll have to tinker around with it when I get home.
I wish I was better at regular expressions so I could easily catch the say commands.
Another thing that I was wanting to add in later, but we can wait on it was a scene change. Basically, if I had a line like...
SCENE: train_station
it would turn into...
camera.changeToView(train_station)
Would that be possible?

Good stuff. For the scene change thing, you could just make a Lua utility function, e.g.
scene(train_station)

Same amount of typing, no code changes needed to support it.
Although that said, this gives me an idea. What if the preprocessor always did this:
SAY a,b,c: => say(a, b, c)
SCENE y: => scene(y)
Where SAY and SCENE can be any string and c includes everything up to the next blank line. It'd basically be a generic way to write dialog & other commands without using brackets all the time.

Btw I can help with the regex if you like

Ohhhhh! yeah that would be pretty good having the processing be more generic like that. I'll think about it.
I figured the regex stuff out, just took me a little time to relearn the syntax. The match group stuff is super handy. I used it in the latest commit.

can I be picky and have it be that if the first \w matches an existing character key in luabindings, it is automatically a say function?
in luabindings:
[ character_watson ]   [ w ]   [ Fungus.Character ]
in the script:
w,happy,left: la la la la la la la la la

converts to:
say(w, "happy", "left", "la la la la la la la la la")

and have a lua function...
function say(character, mood, location, text) {
  --set character, stage function, and say function
}

And the second+ arguments would be assumed to be strings.

Hmmm... not sure about checking the LuaBindings to infer the meaning of a line of script. Feels like it could be brittle and maybe give confusing error messages when things aren't set up correctly? I'd prefer a simple, clear transformation that only depends on the text in the script, even if it needs a bit more markup. That way it could work for any Lua function call which would be super powerful.
Ok, here's another idea for a format using a special leading # character to indicate a line that should be transformed. For this to work we'd need to put string parameters in quotes, though I really like the idea of assuming that the last parameter after a colon is a long string (and no quotes needed).
-- This transformation would work for any Lua function call
#wait 1
wait(1)

-- You can use a colon before the last parameter to indicate a long string
#say w, "happy", "left": La la la
say(w, "happy", "left", "La la la")

-- Leaving out the #say at the start is interpreted as a say command (special case)
w, "happy", "left": La la la
say(w, "happy", "left", "La la la")

Hope you don't mind bouncing ideas for this format around a bit more. Once we implement the format it'll be hard to change so worth getting it right I think!

I like where this is headed. I don't mind bouncing ideas back and forth. Maybe we should mention this convo on the forums and get other opinions too?

Yup, good idea!

Now I'm kind of back tracking. I don't want to confuse new users to Lua by conflicting syntax. My original intention was to have this be a logic-less language for pure dialog previews.

Ok! here's another iteration!
SimpleScript blocks+keep strings (or single quotes?? Does lua do that?)
--some standard lua
wait(1)

#say
  w: Hi!
  s,'angry','right': Don't \"Hi!\" me!
#end

wait(2)
#say w: What was that for??

Everything in the script blocks are assumed to be scripted says

Interesting! Gives me another idea, but let's continue on the forum thread and see what others think.

Continued on the forums: http://fungusgames.com/forum/#!/fungus-3-beta:simpler-dialog-in-lua

Moved to #510


Control actions from allocation

As discussed we want to set the flow rates of pumps and weirs to the value that is required by allocation flows.
Since (after https://github.com/Deltares/Ribasim/issues/706) we are back to doing an allocation solve per priority, it also has to be tracked how much flow goes trough the pumps and weirs over the various priorities (and the basin demands). This is already done implicitly by reducing the capacity of edges be the amount of flow taken up by allocation of a certain priority.

Also make sure that there are no conflicts between 'normal' control and control coming from allocation. This is probably a validation issue.

Let's try whether allocation can update the setpoints for control instead of setting the control actions itself.

For a subnetwork with an inlet to the main network, we want to:

sunetwork determine the desired inflow from the inlet, assuming max inlet capacity
top-level allocation subnetwork has all subnetworks aggregated as users, and sets the flow to the inlets
subnetwork allocates the flow over the inlet to the individual users

Flow over an inlet (Outlet or Pump) can be set by either allocation or control, but not both. Initially this can be up to the user to avoid conflicts, though perhaps we can add validation for this later.

@visr this issue is not about connections between the main network and subnetworks, I propose moving that discussion to https://github.com/Deltares/Ribasim/issues/768.

It came out of a discussion with @SnippenE @visr that a good way to approach this is to actually expand the capabilities of DiscreteControl, in the sense that conditions can be placed on allocation flows.

For an downstream demand driven Outlet or Pump, we can support setting a special control state "allocation", which will set the flow_rate to the cumulative allocation flows over all priorities on the outcoming (or ingoing) edge.

After discussing this together, I have the following proposal:

We don't add a controlled_by column to static. We can track this internally as a ControlType enum. The network and our logic determines the ControlType. This helps to avoid specifying things in two places.
If there is an active incoming PID controller, ControlType is PID.
DiscreteControl can change ControlType by deactivating the PID controller.
DiscreteControl can change ControlType to allocation by setting ribasim.allocation to be the control_state, irrespective of if that exists in the static table.
If the static table has a control state of ribasim.allocation but no incoming control edge, ControlType is allocation.


Birth number hyperlink in Razor Promotion Board redirects to wrong page

Describe the bug
When placing mouse cursor over the birth number for CX-C Bastil, the page shows that it's going to redirect the user to a trooper page that does not coincide with his actual birth number.
To Reproduce
Steps to reproduce the behavior:

Go to Razor Promotion Board
Click on Birth Number for CX-C Bastil
See error

Expected behavior
Should be redirected to the correct trooper page.
Screenshots
https://imgur.com/a/EWhCJqg
Platform
All browsers
Notes
I am able to go to his trooper page without issue when accessing it from any of the rosters, just not from the promotion board.

Eligible for promotion links are directed to the account ID and not the users Birth Number preventing user display page from loading.


Error: Unable to load the requested

Geting this error on server : Unable to load the requested class: Authorization_token
In localhost it's working fine, can you help me on this

Geting this error on server : Unable to load the requested class: Authorization_token
In localhost it's working fine, can you help me on this

managed to solve ? I have the same problem


Support for mapping enums as numeric values in array column

Hi. Here #823 you asked to create an issue if there would be any errors with mapping enums as numeric values. But I am not sure if you has meant behavior with List<T>.
However this test fails.
public enum Label
{
  Label1 = 1,
  Label2 = 2,
  Label3 = 3
}

public class Blog
{
  public int Id { get; set; }
  public string Name { get; set; }
  public List<Label> Labels { get; set; }
}

public class BlogContext : DbContext
{
  public const string ConnectionString =
    "Host=localhost;Database=test;Username=postgres;Password=sa";

  public DbSet<Blog> Blogs { get; set; }

  protected override void OnConfiguring(DbContextOptionsBuilder builder)
    => builder.UseNpgsql(ConnectionString);
}

static void Main(string[] args)
{
  using (var ctx = new BlogContext())
  {
    ctx.Database.EnsureDeleted();
    ctx.Database.EnsureCreated();

    ctx.Add(new Blog
    {
      Name = "WAT",
      Labels = new List<Label> { Label.Label2, Label.Label3 },
    });
    ctx.SaveChanges();
  }
}

The CLR array type System.Collections.Generic.List`1[WebApplication.Label] isn't supported by Npgsql or your PostgreSQL. If you wish to map it to an  PostgreSQL composite type array you need to register it before usage, please refer to the documentation.

Closed in favor of #1031, which is a more general case of this.


Edited areas loose some syntax highlighting color, often enums & switch case, in C

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.74 and <IP_ADDRESS>
OS Version: Debian 11 x68

This is a re-open of  #109929
I've noticed this affecting enums (names/types and values) in addition to switch/case structures. Once a section of code has this, all the variables used in that block drop from navy back to black.
Steps to Reproduce:

Do stuff? seems to mostly affect "touched" code areas
slowly, your file will lose color
Reboot, it is re-colored correctly

I've noticed this while editing the files in this autotools project: https://github.com/byteit101/libsigrok/tree/tek_tds2000b/src/hardware/tektronix-tds2000b

I have upgraded to 1.76.0 and the color malaise is still spreading

prob more of a vscode issue
unless it's the semantic highlighting that's breaking
are you aware? @jeff-hykin

"Edited areas" sounds very much like semantic highlighting issue, but I can't rule out that this is a textmate parsing problem.
@byteit101
If you disable the C++ extension and reload, does the issue still happen?
If yes, then we can move this to https://github.com/jeff-hykin/better-c-syntax

Quite possibly semantic highlighting, as enums and #defines are usually different colors, but both are black disabled and with the malaise. If I disable the extension I only get a subset of colors that looks like the malaise, but never get "normal" coloring to appear. Right now things are sort of working ATM. Sometimes builds get it to go away, and sometimes not

Yeah that sounds like semantic highlighting.
Also woth noting, you might want to try using the C++ syntax highligher on C files. One day the C++ updates will be backported to C but not anytime soon.

How do I do that?

@byteit101  in settings.json it would look like:
"files.associations": {
        "*.c": "cpp",
}

/extCpp

It looks like this is caused by the C++ extension. Please file the issue to the C++ extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


Add 'clone' action to release client command.

JIRA: PDC-1149

Looks good to me.

Looks good to me.

Looks good.


[Zulip->Discord] Failed because of invalid avatar url

First, thanks for the Zulip fix in the last release! :)
Describe the bug
I tested the latest release of matterbridge today, but got an error, when sending a message from Zulip to Discord. (see debug log below)
Sending messages from Discord to Zulip works fine.
To Reproduce

Install matterbridge 1.18.2
Write the config

Set up the Zulip bridge
Set up the Discord bridge to use webhook (as described here: https://github.com/42wim/matterbridge/wiki/Section-Discord-(basic)#usernameavatar-spoofing)

Run matterbridge
Write a message on Zulip

Expected behavior
The message is sent to discord.
Screenshots/debug logs
[0012] DEBUG zulip:        [handleQueue:bridge/zulip/zulip.go:127] receiving error: <nil>
[0012] DEBUG zulip:        [handleQueue:bridge/zulip/zulip.go:133] == Receiving gozulipbot.EventMessage{AvatarURL:"/user_avatars/2/f25df852e3ed925881cc11014faf67597a805c39.png?x=x&version=3", Client:"ZulipElectron", Content:"blubb", ContentType:"text/x-markdown", DisplayRecipient:gozulipbot.DisplayRecipient{Users:[]gozulipbot.User(nil), Topic:"XXXXX"}, GravatarHash:"", ID:26603, RecipientID:17, SenderDomain:"", SenderEmail:"xxxxx", SenderFullName:"Sebastian", SenderID:9, SenderShortName:"", Subject:"DiscordBridge", SubjectLinks:[]interface {}(nil), StreamID:5, Timestamp:1598434960, Type:"stream", Queue:(*gozulipbot.Queue)(0xc000864e10)}
[0012] DEBUG zulip:        [handleQueue:bridge/zulip/zulip.go:146] <= Sending message from Sebastian on zulip.xxxxx to gateway
[0012] DEBUG zulip:        [handleQueue:bridge/zulip/zulip.go:147] <= Message is config.Message{Text:"blubb", Channel:"XXXXX/topic:DiscordBridge", Username:"Sebastian", UserID:"9", Avatar:"/user_avatars/2/f25df852e3ed925881cc11014faf67597a805c39.png?x=x&version=3", Account:"zulip.xxxxx", Event:"", Protocol:"", Gateway:"", ParentID:"", Timestamp:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}, ID:"", Extra:map[string][]interface {}(nil)}
[0012] DEBUG gateway:      [SendMessage:gateway/gateway.go:421] => Sending config.Message{Text:"blubb", Channel:"XXXXX/topic:DiscordBridge", Username:"Sebastian", UserID:"9", Avatar:"/user_avatars/2/f25df852e3ed925881cc11014faf67597a805c39.png?x=x&version=3", Account:"zulip.xxxxx", Event:"", Protocol:"zulip", Gateway:"zulipdiscord", ParentID:"", Timestamp:time.Time{wall:0xbfc9a9840642f919, ext:12686312130, loc:(*time.Location)(0x318f8a0)}, ID:"", Extra:map[string][]interface {}(nil)} from zulip.xxxxx (XXXXX/topic:DiscordBridge) to discord.xxxxx (ID:XXXXX)
[0012] DEBUG discord:      [Send:bridge/discord/discord.go:192] => Receiving config.Message{Text:"blubb", Channel:"ID:XXXXX", Username:"Sebastian ", UserID:"9", Avatar:"/user_avatars/2/f25df852e3ed925881cc11014faf67597a805c39.png?x=x&version=3", Account:"zulip.xxxxx", Event:"", Protocol:"zulip", Gateway:"zulipdiscord", ParentID:"", Timestamp:time.Time{wall:0xbfc9a9840642f919, ext:12686312130, loc:(*time.Location)(0x318f8a0)}, ID:"", Extra:map[string][]interface {}(nil)}
[0012] DEBUG discord:      [Send:bridge/discord/discord.go:246] Broadcasting using Webhook
[0012] DEBUG discord:      [Send:bridge/discord/discord.go:273] Processing webhook sending for message config.Message{Text:"blubb", Channel:"ID:XXXXX", Username:"Sebastian ", UserID:"9", Avatar:"/user_avatars/2/f25df852e3ed925881cc11014faf67597a805c39.png?x=x&version=3", Account:"zulip.xxxxx", Event:"", Protocol:"zulip", Gateway:"zulipdiscord", ParentID:"", Timestamp:time.Time{wall:0xbfc9a9840642f919, ext:12686312130, loc:(*time.Location)(0x318f8a0)}, ID:"", Extra:map[string][]interface {}(nil)}
[0012] ERROR discord:      [webhookSend:bridge/discord/discord.go:429] Could not send text (blubb) for message &config.Message{Text:"blubb", Channel:"ID:XXXXX", Username:"Sebastian ", UserID:"9", Avatar:"/user_avatars/2/f25df852e3ed925881cc11014faf67597a805c39.png?x=x&version=3", Account:"zulip.xxxxx", Event:"", Protocol:"zulip", Gateway:"zulipdiscord", ParentID:"", Timestamp:time.Time{wall:0xbfc9a9840642f919, ext:12686312130, loc:(*time.Location)(0x318f8a0)}, ID:"", Extra:map[string][]interface {}(nil)}: HTTP 400 Bad Request, {"avatar_url": ["Not a well formed URL."]}
[0012] ERROR discord:      [Send:bridge/discord/discord.go:276] Could not broadcast via webook for message (*discordgo.Message)(nil): HTTP 400 Bad Request, {"avatar_url": ["Not a well formed URL."]}
[0012] ERROR gateway:      [handleMessage:gateway/handlers.go:228] SendMessage failed: HTTP 400 Bad Request, {"avatar_url": ["Not a well formed URL."]}

Environment (please complete the following information):

OS: Ubuntu 18.04
Matterbridge version: 1.18.2 88d371c7
Zulip version: 3.1

Additional context
[discord]
	[discord.xxxxx]
	Token=""      # removed
	Server=""     # removed
	RemoteNickFormat="{NICK} "
	ShowEmbeds=true
	EditSuffix=" (edited)"

[zulip]
	[zulip.xxxxx]
	Token=""      # removed
	Login=""      # removed
	Server=""     # removed
	RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[[gateway]]
name="zulipdiscord"
enable=true

	[[gateway.inout]]
	account="discord.xxxxx"
	channel=""    # removed

	[gateway.inout.options]
	WebhookURL="" # removed

        [[gateway.inout]]
	account="zulip.xxxxx"
	channel=""    # removed

After a quick look on the code and without knowing golang, I changed one line, which fixed it for me:
diff --git a/bridge/zulip/zulip.go b/bridge/zulip/zulip.go
index 9fcc54af..50d5f54d 100644
--- a/bridge/zulip/zulip.go
+++ b/bridge/zulip/zulip.go
@@ -141,7 +141,7 @@ func (b *Bzulip) handleQueue() error {
                                Channel:  b.getChannel(m.StreamID) + "/topic:" + m.Subject,
                                Account:  b.Account,
                                UserID:   strconv.Itoa(m.SenderID),
-                               Avatar:   m.AvatarURL,
+                               Avatar:   b.GetString("server") + m.AvatarURL,
                        }
                        b.Log.Debugf("<= Sending message from %s on %s to gateway", rmsg.Username, b.Account)
                        b.Log.Debugf("<= Message is %#v", rmsg)

But I don't know whether this is the correct place to do this or not. :)

Seems like they did some changes with the avatar_url and do not include the full URI anymore.;
Is this an upload avatar image?

Yes, the path in AvatarURL is the avatar image. If I concat the server with the AvatarURL, the avatar is loaded.

Strange I've tested this on the zulipchat servers and it show a correct AvatarURL
I guess it's the only the path if the avatar is stored on the same domain as the server runs and the whole URL if a different storage backend, like s3, is used.

Neverless, thanks for the fix :)


Breakpoints don't work in IntelliJ IDEA with Dartium 50

Execution doesn't halt on breakpoints in web applications (works fine on console apps)
Dart VM version: 1.24.0-edge.ca3d90c4cd7155709a7836d0830b1f712925a8cd (Thu May 11 19:41:00 2017) on "linux_x64"

Tested with 2017.2 EAP and 2017.1.3 EAP
Related to #28280

/cc @jwren

/cc @jacob314

@zoechi, is this just when used from IntelliJ, or does it show up in devtools as well?

@davon I haven't tried with devtools.
I also since moved away from Linux to Mac and away from bleeding-edge to dev.

/cc @terrylucas
If it helps, attached is a minimal project to reproduce. The project also contains logs of IDE<->Dartium communication both for Dartium 1.23.0 (successful debugging) and 1.24.0-dev.6.0 (no success). The biggest difference I see is that Dartium 1.23.0 sends "Debugger.scriptParsed" events, but Dartium 1.24.0-dev.6.0 sends "Debugger.scriptFailedToParse" instead.

Hint: to get a nice files comparison select 2 files in the Project View and right-click -> Compare Files :).

This issue looks like a 1.24 blocker. I'm adding area-dartium tag.
If you think it is an IDE-level problem please let me know. But so far it looks more like a Dartium problem caused by Dartium sending "Debugger.scriptFailedToParse" events instead of "Debugger.scriptParsed".
Not sure who's the right person to ask. @jacob314? @terrylucas? I need to make sure no actions at the IDE end required.
Thanks for taking a look!

@terrylucas, I'm tentatively assigning this issue to you - please re-assign if appropriate.

alexander-doroshko I have a build of dartium with output to stdout how can I capture/see that information?  Webstorm has started my version of dartium (short of me logging to a file).

Help -> Find Action, type Registry, search for js.debugger.wip.log property, set it to some log file path. This file will be rewritten on each debug session.

Found the problem in DartInspectorDebuggerAgent::didParseSource the parameters to this function changed in a flipped way.
Dartium 45:  (const String& scriptId, const Script& parsedScript, CompileResult compileResult)
Dartium 50:  (const String& scriptId, const Script& parsedScript, bool success)
The problem is that CompileResult was an enum
enum CompileResult { CompileSuccess, CompileError };
Unfortunately, 0 == CompileSuccess and 1 == CompileError    Ugh!

Fixed by CL https://codereview.chromium.org/2915643002, rolled in DEPS by https://github.com/dart-lang/sdk/commit/b987a126c541590cd201d54bc1002dd603cc86af
Fix is landed in both 1.24 and 1.25 branches.


TabNine sometimes locks directories when they're moved into project dir.

Basically, I have often run into issues when reorganizing folders when I have sublime + tabnine open.
TabNine appears to lock a directory as it scans it's contents, and sometimes can apparently be reluctant to release the lock, requiring me to close my editor to force tabnine to close before I can move the directory in question.

This is quite annoying when it happens, and I'm not sure why it's happening at all. I could see tabnine locking files, but I have no idea why it's locking an entire directory (note: sndlib_swig in the above screenshot is a folder).
It seems to me that the ideal operation is that it should never hold file-handles open, or at least everything should be opened in a non-blocking/non-locking mode, if at all possible.
Note that unlocking the directory via external tools (IOBit unlocker) doesn't appear to break anything, and autocompletion continues to work.
Platform:

Windows 7
Sublime Text 3.2.1
TabNine 1.0.14

This is surprising -- indeed TabNine should not hold file handles open. My first thought when you say it locks directories is that it's a result of TabNine watching for filesystem events, but it seems that the directories are opened with sharing enabled (link to source).

Did the problem appear within the last 5 days (i.e. since the release of TabNine 1.0.14)?
Does typing TabNine::restart cause TabNine to release the lock?

The simplest fix would be to globally prevent TabNine from acquiring locks, but I can't find a way to do this.

Did the problem appear within the last 5 days (i.e. since the release of TabNine 1.0.14)?

I don't think so, but it's just been a thing that's happened a few times and if finally annoyed me enough to post an issue.  I think it's been happening for at least a few weeks, but between tabnine, tortoisegit (which also locks stuff sometimes), I'm not really able to say when it started.

Does typing TabNine::restart cause TabNine to release the lock?

If I'm able to get the issue to reoccur, I'll give that a shot!

Also, FWIW, tabnine is very nice (I do python & C++), it's quite handy.

Happy to hear it!

Is there a page that lists magic strings somewhere?

I just made one: https://tabnine.com/faq#magic_strings

Neat! Once I can come up with the money I'll definitely pick up a personal license.

Does typing TabNine::restart cause TabNine to release the lock?

It does release the lock.

This is getting somewhat annoying:

Is there anything I can do to help resolve this? I do do development on this machine, so I have full VS and other tools available.
Attaching to the running tabnine process shows every thread is either in >	ZwWaitForSingleObject() or NtWaitForKeyedEvent(), though there is one potentially interesting stack:

I'm sorry for the trouble. I'm keeping this issue in mind, and I'll try to reproduce and fix it when I get the chance. Is there a sequence of actions I could perform which would reliably reproduce the bug?

It seems to be somewhat-repeatably triggerable when I move a large directory of existing source files into the sublime text project directory.
Every time I've had this happen, it's been because I was adding a big chunk of an existing codebase into a new project.
FWIW, this is really a pretty minor issue. I've had it happen maybe 3-4 times, and it's not exactly hard to deal with. Mostly, I thought it was interesting.

It's possible that it is this issue from the underlying notify crate: https://github.com/passcod/notify/issues/206

Ok, this is even weirder:

I have no idea why tabnine is even looking at these directories, they're not even selected in sublime text. Additionally, this is on a different computer from the previous bug reports!

Tabnine searches whole files in the current directory not even opening them by editor.

Yeah, but I was moving files from a zip to a folder sublime text didn't know about at all. The only way I can see what happened happening is if it's watching all changes on the entire filesystem.

Does it still reproduce?

@amircodota Just reproduced it.


Add ping endpoint for status monitoring.

Should just respond with a fixed string, "OK", but be handled by gunicorn.

Just going to respond with 200 OK.


Watch mode?

I think that changes can be handled just by node doing the watch.

Not needed, it already watches well.


[1.28.2] Refactor renaming class-method not renaming bind(this) assignments

VSCode Version: 1.28.2
OS Version: Windows 10

Steps to Reproduce:

Refactor-rename class method (by hitting F2 to rename)
VS Code has not renamed the first methodname in this format:
this.method = this.method.bind(this);

Does this issue occur when all extensions are disabled?: Yes

The problem is that we don't understand that the user is trying to overwrite onClick here, so this.onClick is not included on rename

I understand  and I could agree that it's not the most elegant way of doing things, but that's Javascript sometimes. This is a very common practise in Javascript that happens a lot and and are a great / best / easiest way to do things in certain situations instead of binding this in the event-binding or use arrows. This structure is used all over the internet in examples too.
Rightnow after renaming a method with this construction we get issues that are not always easy to spot and it makes us distrust the refactor-renaming, 'cause it's missing things that needs to be renamed. And if we don't trust renaming we are leaning towards doing it ourselfs manually. I don't think it should be that way. It would be great if this could get a fix instead. Thanks!


NTR: multi-eIF complex

Hi,
I'd like to request a term for a multifactor translation initiation
complex. Based on the paper listed below, it could be called "multi-eIF
complex". Another, longer, option might be "multifactor translation
Initiation factor (eIF) complex", and the one not used for the term name
could be the synonym.
A possible def would be:
A multifactor complex composed of multiple translation initiation
factors and the initiatior tRNAiMet, which is ready to bind to the small
(40S) ribosome to form the 43S preintiation complex. In S. cerevisiae,
this complex is composed of eIF1, eIF2, eIF3, and eIF5.
Here are some relevant quotes from the paper and the citation and
pubmed ID are below.
thanks,
-Karen
In cerevisiae, the (eukaryotic) translation Initation Factors (eIF's) eIF1,
eIF2, eIF3, and eIF5 form a multifactor complex free of 40S ribosomes.
The multi-eIF complex is associated with initiator tRNAiMet in vivo
The ability of eIF1, eIF3, eIF5, and the ternary complex to associate
independently of the 40S ribosome raises the possibility that these
factors bind to the 40S ribosome as a preformed unit. This could
facilitate rapid assembly of 43S preinitiation complexes containing
these factors, requiring only the addition of eIF1A and the mRNA/
eIF4F/PAB1 complex to produce a 48S complex capable of locating the
AUG start codon and hydrolyzing the GTP bound to eIF2.
Asano K, Clayton J, Shalev A, Hinnebusch AG (2000) A multifactor
complex of eukaryotic initiation factors, eIF1, eIF2, eIF3, eIF5, and
initiator tRNA(Met) is an important translation initiation intermediate in
vivo. Genes Dev 14(19):2534-46
PubMed ID: 11018020
Reported by: krchristie
Original Ticket: "geneontology/ontology-requests/3110":https://sourceforge.net/p/geneontology/ontology-requests/3110

thanks www.movied.org


Feature: Terminal button to restart last command

What
A small 🔁 Restart last command button on the terminal's toolbar would be so useful.
Clicking the button will kill the command running in the terminal (if there is one) and automatically re-execute the last one.
Why
It is sometimes necessary to stop the current command execution and rerun it.
Example 1:
A compilation command takes time to complete, during which you change some code and want to recompile.
Example 2:
An always-on process like a server (e.g. ng serve, nodemon, ng test) needs a restart to start with new configuration.
Seriously why
Currently, this is how I execute it:

Change something that requires relaunching the last command
Focus terminal using keyboard
Anxiously press Ctrl + C
Anxiously press Ctrl + C
Anxiously press Ctrl + C
Anxiously press Ctrl + C faster, repeatedly until the process is stopped.
Press Up then Enter

Great job on VSCode,
Cheers 🥂

I don't think we should add a feature like this to core because it would be inherently unreliable by design. As you call our that you anxiously await ctrl+c to do something, that's what the feature would do as well (although once should be enough?). Here are some alternatives that would probably work even better though:

Set up a task for the command, these are essentially processes that VS Code own the lifecycle of so you can actually run a restart task command for example.
Set up a keybinding to send ctrl+c, up, enter like so:

{
	"key": "ctrl+shift+enter",
	"command": "workbench.action.terminal.sendSequence",
	"when": "terminalFocus",
	"args": { "text": "\u0003\u001b[A\u0013" }
}


Support additional options on DatagramSocket

See PR #1

Hi @WhittlesJr, thanks for the PR. I apologize as I've been terribly busy, I will try to get this done as soon as I can.

No worries! Thank you.


Added orthogonalization to TwoVectors w unit tests

Updated TwoVector constructor of SO3 to orthogonalize the vectors so a valid rotation is always produced. Also added checks for the number of vectors and unit tests.

Shoot, ya those ran automatically. I'll clean those out.

Updated and removed the formatting changes


Add Event Reminder and refactor old reminders

Refactored reminders to comply with the other storage implementations

Codecov Report

Merging #179 into master will decrease coverage by 4.99%.
The diff coverage is 17.02%.

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


"Global by-function code"

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.
[X] I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
[X] I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

🔖 Feature description
I have various helper JS functions that I find myself copy-pasting into every custom filter/sorting query block. This turns into a maintenance problem whenever a change is required in those functions: I have to change them everywhere.
So it would be great to be able to define those functions globally so that they are available to every custom filter/sorting query block.
✔ Solution
Just like there is a setting for a "global query" that gets inserted into every query, there could be a "global by function code" setting that gets inserted into every by function block.
❓ Alternatives
Maybe it could be implemented with something like the macros mentioned in issue #2443. However I suspect that its scope doesn't really apply here.
📝 Additional Context
No response

Good news. This is possible already using the CustomJS plugin - and just needs documenting!
Credit: @mathijsvdv in this comment: https://github.com/obsidian-tasks-group/obsidian-tasks/issues/2219#issuecomment-2091515791
See some of my custom functions below, and the @example block shows how to use each function.
class Tasks {

    /**
     * group by recurring, but only if there is a happens date.
     *
     * @example
     * group by function \
     *     const {Tasks} = customJS; \
     *     return Tasks.recurringIfHasHappensDate(task);
     */
    recurringIfHasHappensDate(task) {
        if (task.happens.moment === null) return '';
        if (task.recurrence !== null) return ['Recurring'];
        return ['Not Recurring'];
    }

    /**
     * group by all IDs in a task - its id, and anything it depends on
     *
     * @example
     * group by function \
     *     const {Tasks} = customJS; \
     *     return Tasks.allIds(task);
     */
    allIds(task) {
        const combinedIds = Array.from(task.dependsOn);
        if (task.id !== '') combinedIds.push(task.id);
        return combinedIds;
    }

    /**
     * Group tasks by whether they are:
     *  - Blocked (and cannot be done).
     *  - Blocking (and can be done).
     *  - Or are neither, and can be done in any order.
     *
     * @example
     * group by function \
     *     const {Tasks} = customJS; \
     *     return Tasks.blockingAndBlockedLabel(task, query);
     */
    blockingAndBlockedLabel(task, query) {
        const blocked = task.isBlocked(query.allTasks);
        const blocking = task.isBlocking(query.allTasks);
        if (blocked) {
            return '%%3%% 🔒 Blocked';
        }
        if (blocking) {
            return '%%1%% 🚧 Blocking';
        }
        // Maybe 🌀 or 🎲 ?
        return '%%1%% 🌀 Do in any order';
    }

    /**
     * Return true if no tasks have the given ID
     * @param id
     * @param allTasks
     */
    idMissing(id, allTasks) {
        return ! allTasks.some((task) => task.id === id);
    }

    /**
     * Return true if the task depends on any IDs which do not match any tasks in the vault.
     * @param task
     * @param query
     * @returns {boolean}
     */
    dependsOnMissingID(task, query) {
        return task.dependsOn.some((id) => this.idMissing(id, query.allTasks));
    }

    /**
     * @example
     * sort by function \
     *   const {Tasks} = customJS; \
     *   return Tasks.randomSortKey(task);
     *
     * Credit: @qelo in https://github.com/obsidian-tasks-group/obsidian-tasks/discussions/330#discussioncomment-8902878
     */
    randomSortKey(task) {
        const TSH = s => {
            for (var i = 0, h = 9; i < s.length;) h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);
            return h ^ h >>> 9
        };
        return TSH(moment().format('Y-MM-DD') + ' ' + task.description)
    }
}

That's perfect, thank you.
I just found a problem: if I use const {Tasks} = customJS; as in these examples, if the page is the first one loaded by Obsidian, the query fails with "ReferenceError: customJS is not defined".
To avoid that problem, the CustomJS docs recommend to start with something like const {Tasks} = await cJS(); . However, await in a task query block fails with "SyntaxError: await is only valid in async functions and the top level bodies of modules"
So I'm having to reload that first page.


Add a MongoDB Connector

Add functionality to use MongoDB on Cloud Foundry

If you have the a9s MongoDb for PCF tile configured in your environment, I'd like to work with you to validate this connector!


New Design

I had this idea to make a better design

Screenshot?

There is definitely some potential there (and thanks for the effort!), but as it currently stands I find the strokes (borders) way too conspicuous and distracting and the text in this screenshot is effectively unreadable.
In any case, I’m not quite sure why this is better, it’s just a completely different design. I would welcome some critique on the existing one much more. I’m sure there is a lot that can be done on the current retro-ish design to improve it without having to switch to an entirely different aesthetic.


Add DOS And/Or DDos Analysis Support

Hi there, I would love to see this feature that loophole will automatically analyse incomming requests and monitor the requests based on their IP. I want this feature because when I was benchmarking my server, my node server could handle the requests but loophole crashed
It was sending about 300 requests in 2.75 seconds
But, the loophole side of my server got crashed while my node server was handling these requests.
Also, if this suggestion is currently not possible, pease consider as a bug since it is very crucial that loophole server should not crash as the service that you provide will be down and the domain may be taken by someone else!
So, please consider this one...

Hello,
we will check the stability of the server under the load, but just to highlight:

Also, if this suggestion is currently not possible, pease consider as a bug since it is very crucial that loophole server should not crash as the service that you provide will be down and the domain may be taken by someone else!

is not true, no-one can take your domain as it is being bound to your account.

Ok 👍


Taking photos from the carousel shouldn't block the view

What

[ ] Taking photos from the carousel shouldn't block the view
[ ] It should probably show a snackbar after successful upload

Screenshot

https://github.com/openfoodfacts/smooth-app/pull/1600

Given the sizeable amount of time to do this right before release, and the stability risk, I would unassign you @cli1005 (and reassign you on something more tactical)
I would welcome commentary from @g123k and possibly @monsieurtanuki for the next step on this

Fixed, closing?


HttpClient.applyInterceptors always resolves the promise.

I'm submitting a bug report

Library Version:
1.0.1

Operating System:
Windows 10

Node Version:
4.6.0

NPM Version:
3.10.8

JSPM Version
0.16.46

Browser:
all

Language:
TypeScript X.X

Current behavior:
HttpClient.applyInterceptors always resolves the promise.
Expected/desired behavior:
HttpClient.applyInterceptors should reject promises yet still try and finish the code given in responeError and requestError.

What is the motivation / use case for changing the behavior?
Just because a function is used during the request/response does not mean it should resolve to true. Maybe there could be a way to decide whether interceptors like responseError and requestError resolve or reject the promise but default should be to reject the promise.

Example
A custom 4XX response is returned with a helpful message pertaining to the error, such as "Unable to login". That information must be parsed with json() but there is no intermediary step to do so. Currently the promise is returned and then left up to the consumer to parse the results on every request but defaults should allow for this to take place every time.

I misread the documentation on this. It looks like you can re-throw the error in these functions.


fix: #6 and other refactors

in try-except: print replaced by logger.error
status register, print replaced by return IntFlag
set_frequency, args: freq, ftf (fine tuning was never performed)
add wait function, to wait for operation complete

@alexrkaufman Can you please give a check at set_frequency function?

I am a fan of the atomic commits approach (not that I have always adhered to it). If possible I think this should be split into 4 commits. This will aid in debugging later if issues arise. Let me know if you want to divide and conquer splitting these commits up and which ones youd like me to take.

[ ] prints updated to logger, fixing #6 and introduction of IntFlag for statuses
[ ] Update set_frequency to include fine tune frequency
[ ] Adding wait function.

Currently looking into the changes to the set_frequency function. Will follow up about that in a separate comment.

re: set_frequency function changes
I like the goal of consolidating setting frequency into a single function.
From what I recall, and forgive me if I am incorrect because it has been a hot minute since I had access to an ITLA, the fine tune frequency register does not reset to zero when you set the frequency registers. This could cause confusion for a user where someone sets the frequency but finds that it the frequency is offset without a clear reason because the fine tune frequency was set previously. This is why the old set_frequency function reset the fine tune frequency to zero each time it was called.
Maybe something like this would work? The problem I see here is that it does provide for an option that leaves the fine tune frequency alone.
def set_frequency(self, freq, ftf=0):

... the rest of the function ...

    try:
        self.set_fine_tuning(ftf)
    except CPException:
        self.wait()
    except ExecutionError:
        self.nop()

Pure Photonics ITLA are ITLA12, so no fcf3 register!

something like https://github.com/alexrkaufman/pytla/tree/example-atomic-commits maybe?

thanks. that looks really good!

would still need to align on the right approach for set_frequency but maybe we split that into it's own issue/PR?

Yes, we can certainly split the set_frequency function into its own issue/PR. It might indeed be misleading as it currently stands. Ultimately, one builds their own set_frequency in the way they find most appropriate to their purposes.

Pure Photonics ITLA are ITLA12, so no fcf3 register!

Ah! That would make sense then. I'll open a PR for that as well. I think as it stands the pplaser module inherits from ITLA13.

That was already right:
https://github.com/alexrkaufman/pytla/blob/13517c7b9fb84d5fbae48cd55df3a318fa6b9d3b/itla/pplaser.py#L6C1-L6C23

closed by 4719ac6b9d802974d106c36bc0545b9993c10cb8


fix some broken links in the readme

one link was to play-ui - to place it's age
I haven't restructured anything, just fixed the broken links
but given the age of that play-ui link, maybe we should be revisiting the readme of this repo to see if we can improve it
out of scope for this quick fix, which is being made in response to a support request

Let me know if you need any input @oscarduignan as part of review.


Creating a folder opens the selected file

Close all open editors
Focus the explorer, use the arrow keys to move focus to a file
Click the "new folder" button
The focused file is opened

We alwasy beahved like this.
Issue being: whenever explorer gets focused if there is no file open we open the focused file. More details https://github.com/microsoft/vscode/issues/67708
The issue which surfaces this is that when the new folder is clicked, we always focus the explorer.
I understand that this is not nice behavior, however I will not change it atm.

This is fixed in latest I belive, thus closing


receive error after clone - TypeError: Cannot read property 'forEach' of undefined

$ node /var/www/html/ssptool/main.js server
Loading data...
Initializing...
    pgq[''].forEach(addPage);
           ^

TypeError: Cannot read property 'forEach' of undefined
    at addPages (/var/www/html/ssptool/lib/routes.js:188:12)
    at Object.buildSite (/var/www/html/ssptool/lib/routes.js:289:5)
    at EventEmitter.app.initialize (/var/www/html/ssptool/app.js:66:12)
    at startServer (/var/www/html/ssptool/main.js:63:15)
    at opencontrol.load (/var/www/html/ssptool/main.js:72:31)
    at async.series (/var/www/html/ssptool/lib/opencontrol/index.js:34:22)
    at /var/www/html/ssptool/node_modules/async/dist/async.js:3861:9
    at /var/www/html/ssptool/node_modules/async/dist/async.js:421:16
    at replenish (/var/www/html/ssptool/node_modules/async/dist/async.js:941:25)
    at iterateeCallback (/var/www/html/ssptool/node_modules/async/dist/async.js:931:17)`````

Ah! Sorry, dumb mistake on my part.  This will happen if there are no markdown pages. Fix on the way.

FYI. Used ssptool to visualize changes made to OpenControl content live during OpenStack Sydney:
https://www.openstack.org/summit/sydney-2017/summit-schedule/events/20012/openstack-compliance-speed-and-agility-yes-its-possible
Super helpful tool! Great work.


Windows Local Install

Getting the following error:
json11 failed to build!
Call Stack (most recent call first):
  third_party/CMakeLists.txt:10 (build_target)

Following steps for Windows in [1]. Went more-or-less smooth until Local Install option. The error is from the following call:
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -H.
[1] https://mavsdk.mavlink.io/develop/en/contributing/build.html#sdk_local_install

There must be more logs explaining why json11 failed to build. Can you copy that here? Or worst case, link your full build log?

It was terribly long! Didn't want to copy paste a wall of logs!
I don't have the logs open in front of me but I'll keep this updated when I try it again later on. Just wanted to update you and thanks for fast response!

@SelimOzel

It was terribly long! Didn't want to copy paste a wall of logs!

Fair enough. Sometimes I just post these into gists and then link.

I'll carry on where @SelimOzel left off since I have exactly the same problem.
Let me mention that I have to use the following in order to build in the first place:
cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -Bbuild/default -H.
cmake --build build/default --config Debug

Then, I try the following for local install with -DCMAKE_INSTALL_PREFIX=install, but notice that it ignores this, and also errors. In Command Prompt:
C:\Users\Anthony\git\MAVSDK>cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -H.
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
-- Preparing external project "json11" with args:
-- -- -DCMAKE_INSTALL_PREFIX:PATH=C:/Users/Anthony/git/MAVSDK/build/default/third_party/install
-- -- -DCMAKE_TOOLCHAIN_FILE:PATH=
-- -- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
-- -- -DBUILD_SHARED_LIBS=OFF
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Anthony/git/MAVSDK/build/default/third_party/json11
Microsoft (R) Build Engine version 16.1.76+g14b0a930a7 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Performing update step for 'json11'
  Performing patch step for 'json11'
CUSTOMBUILD : error : patch failed: CMakeLists.txt:23 [C:\Users\Anthony\git\MAVSDK\build\default\third_party\json11\json11.vcxproj]
CUSTOMBUILD : error : CMakeLists.txt: patch does not apply [C:\Users\Anthony\git\MAVSDK\build\default\third_party\json11\json11.vcxproj]
CMake Error at third_party/cmake/build_target.cmake:54 (message):
  C:/Users/Anthony/git/MAVSDK/build/default/third_party/json11 failed to
  build!
Call Stack (most recent call first):
  third_party/CMakeLists.txt:10 (build_target)

-- Configuring incomplete, errors occurred!
See also "C:/Users/Anthony/git/MAVSDK/build/default/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Anthony/git/MAVSDK/build/default/CMakeFiles/CMakeError.log".

I have attached the two CMake error logs.
CMakeError.zip

error : CMakeLists.txt: patch does not apply

So what it does is:

Download json11 from https://github.com/dropbox/json11, at tag v1.0.0.
git apply our patch, which is this file.

Apparently, it fails at this point. Can you try to understand why? I would look for:

Is git installed in the first place? After all, it calls git apply
Download json11 v1.0.0 and export_config.patch manually, and try to apply the patch with git apply export_config.patch.

Git is installed.
I shall try to do the manual git apply.
It is nothing to do with not being able to find pthread.h on a Windows system?

Download json11 v1.0.0 and export_config.patch manually

I don't know how to do this.

Jonas, I'll only have the chance to try this out maybe mid-week next week? Just wanted to update you. And thanks for instructions.

@imfatant: for json, you can go to the link I provided and download it through the "download" button of GitHub. For the patch, you can just open the link I provided and save that file.
Does that make sense?

@JonasVautherin: Yes, I've done that. Now, where do I place the json11-1.0.0 directory after I've applied the patch?

Now, where do I place the json11-1.0.0 directory after I've applied the patch?

Well, the question is actually about that: "does git apply work on your Windows, or not?
So did it work? You could patch json11 with export_config.patch? If yes, can you try a clean build again (by removing build/default, e.g. rm -rf build/default)?

git apply did work. I'll try a clean build, but I think we're going to have a problem with zlib.

but I think we're going to have a problem with zlib.

Why is that?

Let's go back a bit. I can download json11-1.0.0 and patch it. But can you confirm where I'm going to put the patched directory back into the MAVSDK directory structure?

I presume one simply copies the manually patched json11-1.0.0 directory (having renamed it to json11) over MAVSDK\build\default\third_party\json11. It would tres helpful if you could confirm this.
I have tried this, and it seems to work, but then one runs into the same problem for zlib, and then, having patched that, the same problem for curl.. which appears not to have a patch. After which one gives up.

No you won't do anything with that anymore. The message says "CMakeLists.txt: patch does not apply". I wanted to check if git apply was working, and it seems like git apply does work. So maybe it's because it is not a clean build.

I have tried this

Did you try the clean build?

Yes, I did try a clean build, and no it doesn't work.
Now it's failing before I even get to trying the local install:
C:\Users\Anthony\git\MAVSDK>cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -Bbuild/default -H.
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
-- The C compiler identification is MSVC 19.21.27702.2
-- The CXX compiler identification is MSVC 19.21.27702.2
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.21.27702/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
...
   -- Installing: C:/Users/Anthony/git/MAVSDK/build/default/third_party/install/lib/cmake/CURL/CURLConfig.cmake
    -- Installing: C:/Users/Anthony/git/MAVSDK/build/default/third_party/install/lib/libcurl-d.lib
    -- Installing: C:/Users/Anthony/git/MAVSDK/build/default/third_party/install/bin/curl.exe
  Completed 'curl'
  Building Custom Rule C:/Users/Anthony/git/MAVSDK/third_party/curl/CMakeLists.txt
fatal: not a git repository (or any of the parent directories): .git
-- Version:
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
CMake Error at src/CMakeLists.txt:85 (add_subdirectory):
  The source directory

    C:/Users/Anthony/git/MAVSDK/src/third_party/gtest

  does not contain a CMakeLists.txt file.

-- BUILD_BACKEND not set: not building grpc backend
-- Configuring incomplete, errors occurred!
See also "C:/Users/Anthony/git/MAVSDK/build/default/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Anthony/git/MAVSDK/build/default/CMakeFiles/CMakeError.log".

CMake Error at src/CMakeLists.txt:85 (add_subdirectory):

Can you clean build with -DBUILD_TESTS=OFF?

@SelimOzel in what command line thing are you running this on Windows? I tried in the MSVC console and could not reproduce it.

Hey! I tried it in default command line and not the console that pops-up from MSVC. Is that the preferred one?

So you tried in cmd?

I did everything in cmd. How does one get a console in MSVC? I thought it was for output only?

I have tested this in cmd and it works fine for me.

Did you guys try a clean build with -DBUILD_TESTS=OFF?

OK, this works for a local install:
git clone https://github.com/mavlink/MAVSDK.git
cd MAVSDK
git checkout develop
git submodule update --init --recursive
cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -H.)
cmake --build build/default --target install

So what was the issue before? What did you change to get it to work?

I don't have the dll's though. Only the .lib static library files and the headers. Where are the dll's?
The way I was doing it before was:
cd MAVSDK
git checkout develop
git submodule update --init --recursive
cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -Bbuild/default -H.
cmake --build build/default --config Debug
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -H.)
cmake --build build/default --target install

The last two commands were the problem.

Only the .lib static library files and the headers.

So you get libmavsdk_telemetry.lib and not libmavsdk_telemetry.dll, for instance? You set -DBUILD_SHARED_LIBS=ON, so you should get shared libraries... :thinking:

Has this been resolved @SelimOzel or @imfatant ?

Yes, I think so.

Haven't had the chance to take a look. I'll try to squeeze it in and test sometime next week.

Only the .lib static library files and the headers.

So you get libmavsdk_telemetry.lib and not libmavsdk_telemetry.dll, for instance? You set -DBUILD_SHARED_LIBS=ON, so you should get shared libraries... 🤔

I have exactly this problem, in master branch and develop branch. On Windows 10 64-bit to be specific.

@bvandonselaar can you share the steps that you did and the error that you see? That way I can try to reproduce.

I do not have any errors, but I only receive static libraries after building. When I link them in a project, I get the error that the .dll version is missing on runtime.
Here are the commands I used to build:
cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -S.

cmake --build build/default --target install

Yes I have used the -S. flag instead of -H. because H wasn't working, I believe that the cmake version I use is too new for -H.?

Can you try the following?

Check in build/default/CMakeCache.txt the value of BUILD_SHARED_LIBS and let us know what it is set to (if set at all).
Clean build: rm -rf build/default && <your cmake commands above>.

CMakeCache.txt partly copied:
########################
# EXTERNAL cache entries
########################

//Build gRPC backend server
BUILD_BACKEND:BOOL=OFF

//Builds the googlemock subproject
BUILD_GMOCK:BOOL=ON

//Build core as shared libraries instead of static ones
BUILD_SHARED_LIBS:BOOL=ON

//Build tests
BUILD_TESTS:BOOL=ON

//Use ccache if available
CCACHE:BOOL=ON

I also get this warning when running my first cmake command:
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_SHARED_LIBS

I also get this warning when running my first cmake command

Did you try the clean build, i.e. rm -rf build/default and re-run cmake? Does it still say that?

Yes I did, but what I said about the "Manually-specified variables were not used by the project" is wrong. It said that for curl, zlib etc. I'm sorry.
But when building it just says:
Building Custom Rule C:/<my-path>/Downloads/MAVSDK/src/plugins/shell/CMakeLists.txt
  shell.cpp
  shell_impl.cpp
  Generating Code...
  Auto build dll exports
     Creating library C:/<my-path>/Downloads/MAVSDK/build/default/src/plugins/shell/Debug/mavsdk_shell.lib and object C:/<my-path>/Downloads/MAVSD
  K/build/default/src/plugins/shell/Debug/mavsdk_shell.exp
  mavsdk_shell.vcxproj -> C:\<my-path>\Downloads\MAVSDK\build\default\src\plugins\shell\Debug\mavsdk_shell.dll

In the directory of C:\<my-path>\Downloads\MAVSDK\build\default\src\plugins\shell\Debug\ I can see both a .dll version and a .lib version of the library. So maybe the install phase is wrong?

In the directory of C:<my-path>\Downloads\MAVSDK\build\default\src\plugins\shell\Debug\ I can see both a .dll version and a .lib version of the library.

Oh, that's interesting. I'm a bit confused, though, as I would not expect you to get both shared and static libs. Could you try to write a small toy project that just builds a simple library, and check if it behaves similarly there? I can't see what could cause that in the MAVSDK CMakeLists files :confused:.

Successfully got install/lib and install/include
c:\Qt\Tools\CMake_64\bin\cmake.exe -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=install -Bbuild/default -S.
c:\Qt\Tools\CMake_64\bin\cmake.exe --build build/default --target install

I'm trying to create a simple application in Qt Creator on Windows with MAVSDK installed locally
#include <QCoreApplication>
#include <QDebug>
#include <mavsdk/mavsdk.h>
#include <mavsdk/plugins/action/action.h>
#include <mavsdk/plugins/telemetry/telemetry.h>

using namespace mavsdk;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

        Mavsdk dc;

    return a.exec();
}

I Get

14:33:23: Running steps for project test_mavsdk...
14:33:23: Starting: "C:\Qt\Tools\CMake_64\bin\cmake.exe" --build . --target clean
14:33:23: The process "C:\Qt\Tools\CMake_64\bin\cmake.exe" exited normally.
14:33:23: Starting: "C:\Qt\Tools\CMake_64\bin\cmake.exe" --build . --target all
[ 25%] Automatic MOC and UIC for target test_mavsdk
[ 25%] Built target test_mavsdk_autogen
Scanning dependencies of target test_mavsdk
[ 50%] Building CXX object CMakeFiles/test_mavsdk.dir/test_mavsdk_autogen/mocs_compilation.cpp.obj
[ 75%] Building CXX object CMakeFiles/test_mavsdk.dir/main.cpp.obj
[100%] Linking CXX executable test_mavsdk.exe
CMakeFiles\test_mavsdk.dir/objects.a(main.cpp.obj): In function main': C:/Qt/proj/test_mavsdk/main.cpp:13: undefined reference to mavsdk::Mavsdk::Mavsdk()'
C:/Qt/proj/test_mavsdk/main.cpp:13: undefined reference to mavsdk::Mavsdk::~Mavsdk()' C:/Qt/proj/test_mavsdk/main.cpp:13: undefined reference to mavsdk::Mavsdk::~Mavsdk()'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[2]: *** [CMakeFiles\test_mavsdk.dir\build.make:103: test_mavsdk.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:76: CMakeFiles/test_mavsdk.dir/all] Error 2
mingw32-make.exe: *** [Makefile:83: all] Error 2
14:33:26: The process "C:\Qt\Tools\CMake_64\bin\cmake.exe" exited with code 2.
Error while building/deploying project test_mavsdk (kit: Desktop Qt 5.14.1 MinGW 64-bit)
When executing step "CMake Build"
14:33:26: Elapsed time: 00:04.

my CMakeLists.txt
cmake_minimum_required(VERSION 3.5)

project(test_mavsdk LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt5Core)

include_directories(
    mavsdk/include
)

link_directories(
    mavsdk/lib
)

add_executable(test_mavsdk
    main.cpp
)
target_link_libraries(test_mavsdk Qt5::Core)

target_link_libraries(test_mavsdk
    mavsdk
    mavsdk_action
    mavsdk_telemetry
)

MAVSDK is located in the same directory as the project

I'm not sure if this matters but I would put all library dependencies in one:
target_link_libraries(test_mavsdk
    Qt5::Core
    mavsdk
    mavsdk_action
    mavsdk_telemetry
)

And you should also be able to do a find_package(MAVSDK REQUIRED) and then do:
target_link_libraries(test_mavsdk
    Qt5::Core
    MAVSDK::mavsdk
    MAVSDK::mavsdk_action
    MAVSDK::mavsdk_telemetry
)

Have same issue while I am trying to build MAVSDK libs on Windows using CMake and MinGW:
Using MAVSDK master branch.
Command I used to start build:
cmake -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -Bbuild/default -H.
Error log below..
Scanning dependencies of target jsoncpp
[ 12%] Creating directories for 'jsoncpp'
[ 25%] Performing download step (git clone) for 'jsoncpp'
Cloning into 'jsoncpp'...
Note: checking out '1.8.4'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b
HEAD is now at ddabf50... 1.8.4; soversion=20
[ 37%] Performing patch step for 'jsoncpp'
[ 50%] Performing update step for 'jsoncpp'
F:/Projects/MAVSDK/third_party/jsoncpp/fixlibname.patch:9: trailing whitespace.
NAMESPACE JsonCpp::
F:/Projects/MAVSDK/third_party/jsoncpp/fixlibname.patch:24: trailing whitespace.
ADD_LIBRARY(jsoncpp SHARED ${PUBLIC_HEADERS} ${jsoncpp_sources})
F:/Projects/MAVSDK/third_party/jsoncpp/fixlibname.patch:25: trailing whitespace.
SET_TARGET_PROPERTIES( jsoncpp PROPERTIES VERSION ${JSONCPP_VERSION} SOVERSION ${JSONCPP_SOVERSION})
F:/Projects/MAVSDK/third_party/jsoncpp/fixlibname.patch:26: trailing whitespace.
SET_TARGET_PROPERTIES( jsoncpp PROPERTIES OUTPUT_NAME jsoncpp
F:/Projects/MAVSDK/third_party/jsoncpp/fixlibname.patch:32: trailing whitespace.
SET_TARGET_PROPERTIES( jsoncpp PROPERTIES INSTALL_RPATH<EMAIL_ADDRESS>)
error: patch failed: CMakeLists.txt:148
error: CMakeLists.txt: patch does not apply
error: patch failed: src/lib_json/CMakeLists.txt:69
error: src/lib_json/CMakeLists.txt: patch does not apply
CMakeFiles\jsoncpp.dir\build.make:118: recipe for target 'jsoncpp/src/jsoncpp-stamp/jsoncpp-patch' failed
mingw32-make.exe[2]: *** [jsoncpp/src/jsoncpp-stamp/jsoncpp-patch] Error 1
mingw32-make.exe[2]: *** Waiting for unfinished jobs....
CMakeFiles\Makefile2:94: recipe for target 'CMakeFiles/jsoncpp.dir/all' failed
mingw32-make.exe[1]: *** [CMakeFiles/jsoncpp.dir/all] Error 2
Makefile:102: recipe for target 'all' failed
mingw32-make.exe: *** [all] Error 2
CMake Error at third_party/cmake/build_target.cmake:48 (message):
F:/Projects/MAVSDK/build/default/third_party/jsoncpp failed to
build!
Call Stack (most recent call first):
third_party/CMakeLists.txt:10 (build_target)
-- Configuring incomplete, errors occurred!
Can someone help me through this?

@svatambeti ok, thanks for the info. Why are you using Mingw rather than MSVC?

error: patch failed: CMakeLists.txt:148
error: CMakeLists.txt: patch does not apply
error: patch failed: src/lib_json/CMakeLists.txt:69
error: src/lib_json/CMakeLists.txt: patch does not apply
CMakeFiles\jsoncpp.dir\build.make:118: recipe for target 'jsoncpp/src/jsoncpp-stamp/jsoncpp-patch' failed

I think that you need a clean build. When building the dependencies (in this case jsoncpp), we apply a patch. It turns out that it's not so easy to do in Windows, because there doesn't seem to be a default system patch executable. Hence I believe that it sometimes ends up in situations where the patch was already applied, and it fails to apply it again.
Can you try a clean build and let us know if that works?

@JonasVautherin  I have already tried all of the above suggestions that were suggested in this post, did not help. I am stuck.
If this does not resolve, then I may have to consider cross-compiling option

@svatambeti ok, thanks for the info. Why are you using Mingw rather than MSVC?

My end application I am working is using MingGW toolchain to build. MAVSDK will be one of the libs this end application uses. Hence I need to build MAVSDK libs using Mingw so that all dependent libs are built using same toolchain.

Are you sure it is a clean build? Could you try for instance to make a clean checkout somewhere else and run the build? I mean, it really says that the patch does not apply...

@JonasVautherin after a few failed attempts of deleting build/default folder and then rebuild, I tried it on a completely fresh setup on a different computer. The only difference between these two machines is first one uses MinGW64, later used Ming32.
On second machine, jsoncpp did not complain, went well but then got stuck with same patch error on zlib.
So I removed zlib from CMakeLists since MinGW will have a zlib already installed. So with this change, I was able to successfully build static libs.
Though my work around is not a solution, thought I will share what worked for me. It would be nice to have a clean working build setup for Windows as well.

@svatambeti: got it, thanks. This is how we patch the two dependencies:

jsoncpp: https://github.com/mavlink/MAVSDK/blob/develop/third_party/jsoncpp/CMakeLists.txt#L25
zlib: https://github.com/mavlink/MAVSDK/blob/develop/third_party/zlib/CMakeLists.txt

Essentially by running PATCH_COMMAND git apply ${PROJECT_SOURCE_DIR}/<patch>.
Now I'm not a Windows user, and I am not sure what the best way is. Is there a generic way for Windows (on Linux, you can assume that the patch function exists, and here we assume that git exists because patch definitely doesn't exist on Windows :sweat_smile:).
What's your take on that? How would you do it?

Hi, I am on Windows too and have the same problem :
error: patch failed: CMakeLists.txt:148
error: CMakeLists.txt: patch does not apply
error: patch failed: src/lib_json/CMakeLists.txt:69
error: src/lib_json/CMakeLists.txt: patch does not apply
CMakeFiles\jsoncpp.dir\build.make:118: recipe for target 'jsoncpp/src/jsoncpp-stamp/jsoncpp-patch' failed

"patch does not apply" suggests that the command works (git apply ...) but that the patch itself doesn't. E.g. because it was already patched before.
@clementgoiz: Is this a clean build?

I'm closing this because there was no response. If someone runs into this again and can provide more data, please re-open and comment below.

In some configurations, windows/unix line feeds can cause a patch failed symptom.
I saw it when building in Git-Bash on a Windows machine. Using git apply patch -v path/to/patch/file helped see why the patch failed.
I converted the patch files to unix LF and the patch worked.

That's odd. So you're saying the patches are in Windows format? I would have thought they come with Unix line endings.

That's odd. So you're saying the patches are in Windows format? I would have thought they come with Unix line endings.

Yes in my case, but it depends on how everything's setup. I was using Windows for Git, which converts the files to Windows format when it downloads. I was using a Docker image to cross-compile for arm64, so it needed Linux. I should have made sure to configure GIT to download with Unix line endings.


window.THEME_CONFIG = JSON.parse('<%- JSON.stringify(theme) %>') causes syntax error if theme contains single quotation mark '

If deploy options  in _config.yml are set as: (contains single quotes)
deploy:
  type: git
  repo: git@repo:repo.repo.git
  branch: master
  message: "Updated: {{ now('YYYY-MM-DD HH:mm:ss') }}"

The following line (line226 of layout.ejs) will cause error since the quotation marks are not escaped.
window.THEME_CONFIG = JSON.parse('<%- JSON.stringify(theme) %>')

thanks for your issues, I will try to solve this problem in next versions

If deploy options in _config.yml are set as: (contains single quotes)
deploy:
  type: git
  repo: git@repo:repo.repo.git
  branch: master
  message: "Updated: {{ now('YYYY-MM-DD HH:mm:ss') }}"

The following line (line226 of layout.ejs) will cause error since the quotation marks are not escaped.
window.THEME_CONFIG = JSON.parse('<%- JSON.stringify(theme) %>')

I

thanks  for your pull request,

close this issue


Schedule ZkBarrierChangeHandler into debounce thread for execution.

In existing implementation, ZkBarrierChangeHandler is executed from the ZkEventThread and has following drawbacks:

ZkWatch events are buffered into a in-memory queue(maintained by ZkClient) and delivered one at a time to ZkClient listener implementations. If the exeuction of a delivered ZkWatch event is in progress, then no other ZkWatch event will be delivered to the listeners. If ZkBarrierChangeHandler is executed from ZkEventThread,  any increase in processing latency will delay the delivery of other ZkWatch events(buffered in in-memory queue of ZkClient).
During session expiration(zkConnection error scenario), buffering all events into ScheduleAfterDebounceTime helps us to garbage collect older generation events(to ensure correctness and not execute older generation ZkWatch events).

@vjagadish1989 @xinyuiscool @dnishimura
Please take a look when you get a chance.

edit the title with the created JIRA: SAMZA-1723


[POC] add missing stats

Context
It is essential for current users of demcompare, such as QI or IGN, to have a quick and concise way of obtaining a wide range of basic metrics when performing DEM analysis. This ticket aims to address this need.
Although it is clear that, thanks to its ability to work with rasters and its coupling with NumPy for basic metric calculations, we must ensure that these metrics are easy to manipulate, retrieve, and potentially process, especially for automation tasks like implementing a CLI.
Implementation
:warning: This ticket will be created under the XDEM project, but the developments will be carried out in geoutils.
We propose creating a get_metrics() function in the raster module.
get_metrics(self, metrics_list: list = None):

If None:
    Returns the full dictionary of global metrics.
If metrics_list:
    Iterate through it and build the dictionary accordingly.

return metrics_dict

Example usage:
dem = load(dem)
metrics_dict = dem.get_metrics(["mean", "nmad", "rmse"])

:warning: This function should be callable within the .info() method of the DEM.
List of metrics:

[ ] Mean
[ ] Median
[ ] Max
[ ] Min
[ ] Sum
[ ] Sum of squares
[ ] 90th percentile
[ ] NMAD
[ ] RMSE
[ ] Standard deviation

:warning: We need to discuss the NMAD implementation in xDEM.
Tests
Add tests for the get_metrics() function:

[ ] A test with None that returns all metrics.
[ ] A test with a valid list.
[ ] A test with an invalid list.

Additionally, verify the behavior of the .info() method.
Documentation
Update the documentation for both geoutils and xDEM to include this new functionality.
Internal Testing
Ensure that it works seamlessly with xDEM.
Estimation
3 days

Looks good! Link to our previous discussion: https://github.com/GlacioHack/geoutils/issues/602 (forgot it was in GeoUtils).
I only have a couple remarks:

The term "metric" is more commonly used to geometric settings (metric space) or for unit VS unitless description. For this type of statistical function, the most common terms would be "statistic" or "estimator". For instance SciPy uses "statistic": https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binned_statistic.html, which would be my preferred choice here! :slightly_smiling_face:
This issue joins the more generic planned main feature of "Raster zonal/binned statistics" for GeoUtils, which can be computed not only on all the Raster but for any Mask/Vector input (or potentially classified Raster input?). We mentioned for instance inspiring ourselves from the small https://pythonhosted.org/rasterstats/ package in one of our past meetings, (or using https://github.com/corteva/geocube once we have the Xarray accessor). We don't need to add all of this now. But maybe it will eventually makes sense to have all these features grouped in the same function, which could take a "zonal" and "binning" argument, and the default "zonal" argument would be to use all the Raster, and the default "binning" to not bin, which would give the same result as the proposed function in this issue?

This is linked to what we discussed for classification: https://github.com/GlacioHack/xdem/issues/620

Not so much to add to @rhugonnet comments, already large ;)
Ok for statistic vs metric naming, or even stat would do for me if consistent with naming conventions in xdem. No problem to get something more accurate and expressive.
Other question: where is the status of more complex demcompare metric or stats for non scalar element such as hillshade, svf .  I remember the discussion that a structure in xdem would be better to automate more "stats" possibilities than only scalar and to put the metric structure in xdem then.
My question: will it be possible to automate other type of "metric"/stat such as PDF, CDF, hillshide through a pipeline with a common unified interface ? afterwards but to be sure nothing will block.
Hoping I am clear.
thanks for the work


Extension - Add Swap button

Describe the task
Add Swap button for extension

When click button -> Navigate to the Swap feature on WebApp
Design: https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=243-8468&mode=design&t=G7e7C0KVkIu1Gfl4-4
https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=1115-36215&mode=design&t=G7e7C0KVkIu1Gfl4-4

Version test : http://<IP_ADDRESS>:8900/s/NnseSxLo5T9rFkJ

[ ] In case there is no account in the wallet
Actual : After create new account then navigate to Home screen
Expect : After create new account then navigate to Swap screen

[ ] In case specific account mode, after click button -> Navigate to the Swap feature on WebApp
Actual : Can not select account type
Expect : Auto select account

Version test : http://<IP_ADDRESS>:8900/s/98NJQ5W9t8PARqE
Link test : https://webapp-dev.subwallet-webapp.pages.dev/redirect-handler/swap
Validation passed in case :

The wallet does not have an account

The wallet has an account

Version test :

[ ] UI bug when balance is long
Expect : When scroll screen, temporarily hide the Buy button

Version test :

[ ] Align it close to the margin

[ ] UI bug when balance is long on Token detail screen
Expect : When scroll screen, temporarily hide the Buy button

[ ] Only remove button Buy when the balance affects the UI

Version test : http://<IP_ADDRESS>:8900/s/7faFXeK98WQb8Nd
Validation passed


update ruby-version

Update the ruby version to 2.2.3 in .ruby-version file and Travis configuration file

LGTM


Export as PNG

Export the image as a PNG

If the user really wants a bitmap image you could use the PrintScreen button.
Also, I think all the image export stuff should be moved outside interaction-viewer because its not possible to reliably control file downloads entirely on client side (and I think we don't want to, for example, hard code the address of a certain server into the viewer code). See #71
I'm gonna tag as 'wont fix' and close, but add comments if you see this as a live issue


Shader compilation errors

When I try to compile the shader,
(defun-g vert ((vert :vec2))
  (values (v! (+ vert *pos*) 0.0 1.0)
          (v! 0 0)))

I get a compilation error (backtrace attached).
This is probably not a cepl error, but I don't know how to debug it
vertex-error.txt
.

Good catch, thanks, I have been doing a fair bit of work on the compiler recently so will use this as a test for that branch. Will let you know how it goes

Fixed by changes earlier this year. Sorry for the slow responce


reflect two issues 反映两个问题

The Chinese version is only in traditional Chinese, which is not suitable for users in mainland China. I hope to have a simplified version soon.
The Chinese version currently has spaces between each Chinese character, please delete
中文版只有繁体中文，不适合中国大陆用户。我希望尽快有一个简化版本。
中文版目前每个汉字之间有空格，请删除

中文版只有繁體中文，不適合中國大陸用戶。我希望盡快有壹個簡化版本。
中文版目前每個漢字之間有空格，請刪除

Thanks for the feedback.😂
I will keep an eye for finding the CUV Simplify Chinese version.
At current stage, I didn't find a proper Chinese CUV bible API. 😭

Hi, the CUV version of the Bible is in Traditional Chinese. Most of China has been using Simplified Chinese for 90 years, and many people born after the 1980s in mainland China have some degree of difficulty reading Traditional Chinese. Traditional Chinese is still commonly used in Hong Kong and Taiwan. Please consider adding a Simplified Chinese version.
Another issue is that both Simplified and Traditional Chinese do not use spaces to separate each Chinese character, which is not suitable for Chinese speakers. Please consider fixing this issue.

Hi, the CUV version of the Bible is in Traditional Chinese. Most of China has been using Simplified Chinese for 90 years, and many people born after the 1980s in mainland China have some degree of difficulty reading Traditional Chinese. Traditional Chinese is still commonly used in Hong Kong and Taiwan. Please consider adding a Simplified Chinese version.
Another issue is that both Simplified and Traditional Chinese do not use spaces to separate each Chinese character, which is not suitable for Chinese speakers. Please consider fixing this issue.

I just checked the API. @chenxin0397 for this space rendering issue.

It is not very safe to remove the space in between each characters/words in Chinese, because the API return them with space.

For the work update,
I did some check online, I could not find one for CUV (simplified Chinese), if you can find something to share about API please let me know. @chenxin0397
Thanks, for now I will leave this as closed


Fix jest config / fix card test

Fix jest setup for typecript.
Fix card test, now we can start to fix other tests.

Related Issue
solves #27
solves #28
solves #35

I cloned this and ran yarn test:watch and got a missing dependency error.

Do we need to add this a dev dep of the project?

Sorry for the delay!

I cloned this and ran yarn test:watch and got a missing dependency error.
Do we need to add this a dev dep of the project?

i have removed this dependency. Note that this branch is on my fork of this repo, maybe you dont have the branch updated.

I just updated the CI to run the tests. You can see that it is running without the dependency