#934 Fixed the Mobile mock logic

This fixes #934.
But but meta-tests hangs on testTestSendData # should run test with 5 peers with error:
StartBroadcasting returned error Error: device-identifier-me

This change is

PR is added to the queue for testing as 4. task. (f6f0d7d)

Hi @artemjackson, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

PR is added to the queue for testing as 5. task. (f3b5a80)

PR is added to the queue for testing as 6. task. (b9d3848)

PR is added to the queue for testing as 7. task. (8d30c13)

Test (Fail) 82865362 build is completed (f6f0d7d)
See https://github.com/ThaliTester/TestResults/tree/82865362f6f0d7d_Fixed_a_Mobile_mock_logic_artemjackson/ for the logs

Test (Fail) 82865362 build is completed (f3b5a80)
See https://github.com/ThaliTester/TestResults/tree/82865362f3b5a80_Fixed_a_Mobile_mock_logic_artemjackson/ for the logs

Test (Fail) 82865362 build is completed (b9d3848)
See https://github.com/ThaliTester/TestResults/tree/82865362b9d3848_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

Test (Fail) 82865362 build is completed (8d30c13)
See https://github.com/ThaliTester/TestResults/tree/828653628d30c13_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

@yaronyg  the test that hanged passed after specified timeout (25 minutes)
# should run test with 5 peers
testSendData created {"timeout":1500000,"rounds":1,"dataTimeout":10000,"dataAmount":1000000,"conReTryTimeout":50,"conReTryCount":5,"peerCount":5}bt-address length : 5
daya1000000
check server
serverPort is 8889
StartBroadcasting returned error Error: device-identifier-me
// hangs here for 25 minutes
timeout now
weAreDoneNow, resultArray.length: 0
sendReportNow
ok 11 received a result to the done event
// other tests output
1..18
# tests 18
# pass  18

# ok

PR is added to the queue for testing as 2. task. (44f8192)

Test (Success) 82865362 build is completed (44f8192)
See https://github.com/ThaliTester/TestResults/tree/8286536244f8192__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

@yaronyg well, I found out what was wrong with test and fixed it.

Test<PHONE_NUMBER>f8192(44f8192) has failed
See https://github.com/ThaliTester/TestResults/tree/8286536244f8192__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the fail logs

@yaronyg Why vNext_yarong_417_812 that has been just updated with vNext doesn't contain #924?

PR is added to the queue for testing as 6. task. (163efc7)

Test (Success) 82865362 build is completed (163efc7)
See https://github.com/ThaliTester/TestResults/tree/82865362163efc7__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

Test<PHONE_NUMBER>3efc7(163efc7) has failed
See https://github.com/ThaliTester/TestResults/tree/82865362163efc7__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the fail logs

It is a botched merge but alas it wasn't mine. If I'm reading the history correctly then I believe the mistake was introduced in the commit immediately after Ilya's, see https://github.com/thaliproject/Thali_CordovaPlugin/commit/d6c913da811ca5f25fbfa9a0f43d8fe099e28d1c

Reviewed 1 of 1 files at r2, 2 of 2 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

@yaronyg now this PR fails with another error while executing tests.
08-29 16:11:04.705  3836  3887 I jxcore-log:
,08-29 16:11:04.734  3836  4308 D io.jxcore.node.StreamCopyingThread: Exiting thread (ID: 463, name: My test thread name), during the lifetime of the thread the total number of bytes read was 143 and the total number of bytes written 143
,08-29 16:11:05.132  3836  3887 W jxcore-log: !!! js_ReportOverRecursed called !!!
,08-29 16:11:05.206  4311  3887 W google-breakpad: -----BEGIN BREAKPAD MICRODUMP-----

....

--------- beginning of crash
08-29 16:11:05.331  3836  3887 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 3887 (Thread-333)

I've never seen such error before. Can this error be inherited from #928?

Can we increase the stack size for Android and iOS to whatever it is for Desktop because we don't see this bug on desktop.

PR is added to the queue for testing as 2. task. (403aafb)

Test (Success) 82865362 build is completed (403aafb)
See https://github.com/ThaliTester/TestResults/tree/82865362403aafb__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

Test<PHONE_NUMBER>3aafb(403aafb) has failed
See https://github.com/ThaliTester/TestResults/tree/82865362403aafb__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the fail logs

PR is added to the queue for testing as 2. task. (c4ce6b4)

Test (Success) 82865362 build is completed (c4ce6b4)
See https://github.com/ThaliTester/TestResults/tree/82865362c4ce6b4__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

Test 82865362c4ce6b4(c4ce6b4) has failed
See https://github.com/ThaliTester/TestResults/tree/82865362c4ce6b4__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the fail logs

PR is added to the queue for testing as 1. task. (3f51f5b)

Test (Success) 82865362 build is completed (3f51f5b)
See https://github.com/ThaliTester/TestResults/tree/828653623f51f5b__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

Test 828653623f51f5b(3f51f5b) has failed
See https://github.com/ThaliTester/TestResults/tree/828653623f51f5b__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the fail logs

PR is added to the queue for testing as 1. task. (e858c08)

Test (Success) 82865362 build is completed (e858c08)
See https://github.com/ThaliTester/TestResults/tree/82865362e858c08__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the logs

Test 82865362e858c08(e858c08) has failed
See https://github.com/ThaliTester/TestResults/tree/82865362e858c08__934_Fixed_the_Mobile_mock_logic_artemjackson/ for the fail logs

@yaronyg I made some investigations and what are results:

all tests pass when using jxcore <IP_ADDRESS> with v8
unpredictable tests behavior when using jxcore <IP_ADDRESS> with sm (let us discuss it during the call)

@artemjackson btw to simplify the SM issues I would suggest using the changes you made to let us just run in pure wifi only mode on the desktop. This would let us get the wifi based mock completely out of the way and would also make sure we aren't running both 'native' (via the mock) and 'wifi' code simultaneously. This would help us narrow down the number of players causing problems. I'd also suggest starting to run just one test file at a time to see if we can get a reasonable repo with a short run time.

@yaronyg This PR does not relate to #916 directly. It just fixes #928 bugs.
I think that once it passed CI then we will be able to work with #916 and choose desirable network type.

PR is added to the queue for testing as 3. task. (80ed803)

PR is added to the queue for testing as 2. task. (b4391eb)

Test (Fail) 82865362 build is completed (b4391eb)
See https://github.com/ThaliTester/TestResults/tree/82865362b4391eb__934_Fixed_bunch_of_bugs_from__928_artemjackson/ for the logs

Test (Success) 82865362 build is completed (80ed803)
See https://github.com/ThaliTester/TestResults/tree/8286536280ed803__934_Fixed_bunch_of_bugs_from__928_artemjackson/ for the logs

Test<PHONE_NUMBER>ed803(80ed803) has failed
See https://github.com/ThaliTester/TestResults/tree/8286536280ed803__934_Fixed_bunch_of_bugs_from__928_artemjackson/ for the fail logs

Reviewed 6 of 7 files at r5, 1 of 1 files at r6, 1 of 1 files at r7.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Group By and Aggregated Values

 Issue by sorenbs
Tuesday Nov 21, 2017 at 11:26 GMT
Originally opened as https://github.com/graphcool/prisma/issues/1312

#70 Was a wide ranging discussion of how to support GroupBy and Aggregations in a type safe GraphQL API. This issue takes the learnings from previous discussions and provides a final API Proposal.
Throughout this proposal the examples will be based on this data schema:
type User {
  id: ID! @unique
  name: String!
  age: Int!
  salaryBracket: String!
  city: String!
}

Note: According to #353 we will introduce a new API version that combines the capabilities of the Simple and Relay API. The API is not final yet, but there will be a relay-style connection field for all relations, providing us a convenient place to introduce aggregation fields.

Retrieving all users who live in Aarhus:
{
  allUsersConnection(filter: {city: "Aarhus"}) {
    edges {
      node { id, name }
    }
  }
}

See example return value
Data:
[
  {id: "1", name: "Søren", age: 23, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Tim", age: 43, salaryBracket: "50-80", city: "Aarhus"},
  {id: "3", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Magdeburg"}
]

Return value:
{
  allUsersConnection {
    edges: [
      { node: { id: "1", name: "Søren" } },
      { node: { id: "2", name: "Karl" } }
    ]
  }
}

Aggregations
Aggregate functions

avg
median
max
min
count
sum

API
Getting the average age of people living in Aarhus is accomplished like this in SQL:
SELECT AVG(age) FROM User WHERE city = 'Aarhus'

With Graphcool it would look like this:
{
  allUsersConnection(filter: {city: "Aarhus"}) {
    aggregate {
      avg {
        age
      }
    }
  }
}

See example return value
Data:
[
  {id: "1", name: "Søren", age: 23, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Tim", age: 43, salaryBracket: "50-80", city: "Aarhus"},
  {id: "3", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Magdeburg"}
]

Return value:
{
  allUsersConnection: {
    aggregate: {
      avg: {
        age: 33
      }
    }
  }
}

Limiting the scope of aggregations
The normal filter, skip, first and orderBy arguments can be used to limit the scope of data included in the aggregations:
{
  allUsersConnection(filter: {city: "Aarhus"}, first: 5, orderBy AGE_DESC) {
    aggregate {
      avg {
        age
      }
    }
  }
}

This will return the average age of the 5 oldest people in Aarhus

See example return value
Data:
[
  {id: "1", name: "Søren", age: 99, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Tim", age: 99, salaryBracket: "50-80", city: "Aarhus"},
  {id: "3", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Aarhus"},
  {id: "4", name: "Johannes", age: 99, salaryBracket: "0-5", city: "Aarhus"},
  {id: "5", name: "Mathias", age: 99, salaryBracket: "50-80", city: "Aarhus"},
  {id: "6", name: "Marcus", age: 5, salaryBracket: "0-5", city: "Aarhus"}
]

Return value:
{
  allUsersConnection: {
    aggregate: {
      avg: {
        age: 99
      }
    }
  }
}

Larger example
combining aggregations and data retrieval:
{
  allUsersConnection(filter: {city: "Aarhus"}) {
    aggregate {
      avg {
        age
      }
      max {
        age
      }
    }
    edges {
      node { name, age }
    }
  }
}

See example return value
Data:
[
  {id: "1", name: "Søren", age: 23, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Tim", age: 43, salaryBracket: "50-80", city: "Aarhus"},
  {id: "3", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Magdeburg"}
]

Return value:
{
  allUsersConnection {
    aggregate: {
      avg: {
        age: 33
      }
      max: {
        age: 43
      }
    }
    edges: [
      { node: { name: "Søren", age: 23 } },
      { node: { name: "Tim", age: 43 } }
    ]
  }
}

Group
In relational databases, GROUP BY is most often used together with aggregation functions like this SELECT city, AVG(age) FROM User GROUP BY city
Because GraphQL returns tree structured data, it is quite compelling to use groupBy without aggregation functions:
{
  allUsersConnection {
    groupBy {
      city {
        key
        connection {
          edges {
            node { id, name }
          }
        }
      }
    }
  }
}

See example return value
Data:
[
  {id: "1", name: "Søren", age: 23, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Tim", age: 43, salaryBracket: "50-80", city: "Aarhus"},
  {id: "3", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Magdeburg"}
]

Return value:
{
  allUsersConnection: {
    groupBy: {
      city: [
        {
          key: "Aarhus"
          connection: {
            edges: [
              { node: { id: "1", name: "Søren" } },
              { node: { id: "2", name: "Tim" } }
            ]
          }
        },
        {
          key: "Magdeburg"
          connection: {
            edges: [
              { node: { id: "3", name: "Nilan" } }
            ]
          }
        }
      ]
    }
  }
}

Or even in multiple levels:
{
  allUsersConnection {
    groupBy {
      city {
        key
        connection {
          groupBy {
            salaryBracket {
              key
              connection {
                edges {
                  node { id, name }
                }
              }
            }
          }
        }
      }
    }
  }
}

See example return value
Data:
[
  {id: "1", name: "Søren", age: 23, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Tim", age: 43, salaryBracket: "50-80", city: "Aarhus"},
  {id: "3", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Magdeburg"},
  {id: "4", name: "Dom", age: 99, salaryBracket: "50-80", city: "Aarhus"}
]

Return value:
{
  allUsersConnection: {
    groupBy: {
      city: [
        {
          key: "Aarhus"
          connection: {
            groupBy: {
              salaryBracket: [
                {
                  key: "0-5"
                  connection: {
                    edges: [
                      { node: { id: "1", name: "Søren" } }
                    ]
                  }
                },
                {
                  key: "50-80"
                  connection: {
                    edges: [
                      { node: { id: "2", name: "Tim" } },
                      { node: { id: "4", name: "Dom" } }
                    ]
                  }
                ]
              }
            }
          }
        },
        {
          key: "Magdeburg"
          connection: {
            groupBy: {
              salaryBracket: [
                {
                  key: "0-5"
                  connection: {
                    edges: [
                      { node: { id: "3", name: "Nilan" } }
                    ]
                  }
                }
              ]
            }
          }
        }
      ]
    }
  }
}

Combining groupBy and aggregations
The following query will group by city, return first 5 Users, average age of first 5 users and average age of everyone in city
{
  allUsersConnection {
    groupBy {
      city {
        key
        firstTwo: connection(first: 2, orderBy: AGE_DESC) {
          edges {
            node { name }
          }
          aggregate {
            avg {
              age
            }
          }
        }
        allInCity: connection {
          aggregate {
            avg {
              age
            }
          }
        }
      }
    }
  }
}

See example return value
Data:
[
  {id: "1", name: "Emanuel", age: 11, salaryBracket: "0-5", city: "Aarhus"},
  {id: "2", name: "Søren", age: 23, salaryBracket: "0-5", city: "Aarhus"},
  {id: "3", name: "Tim", age: 43, salaryBracket: "50-80", city: "Aarhus"},
  {id: "4", name: "Nilan", age: 99, salaryBracket: "0-5", city: "Magdeburg"}
]

Return value:
{
  allUsersConnection: {
    groupBy {
      city: [
        {
          key: "Aarhus"
          firstTwo: {
            edges: [
              { node: { name: "Tim" } },
              { node: { name: "Søren" } }
            ]
            aggregate: {
              avg: {
                age: 33
              }
            }
          }
          allInCity: connection {
            aggregate: {
              avg: {
                age: 25.666
              }
            }
          }
        },
        {
          key: "Magdeburg"
          firstTwo: {
            edges: [
              { node: { name: "Nilan" } },
              { node: { name: "Søren" } }
            ]
            aggregate: {
              avg: {
                age: 99
              }
            }
          }
          allInCity: connection {
            aggregate: {
              avg: {
                age: 99
              }
            }
          }
        }
      ]
    }
  }
}

Limitations
Both groupBy and aggregations are on single fields only. You can filter the data that goes into the aggregation, but there is no way to use expressions as keys in a group by query.

@marktani I'm wondering how'd deal with a large number of groups, so large that you kinda want to implement some sort of pagination in the groupBy itself.
Let's say you goupBy date, in total you have 10 000 entitities and each data contians 2 entities. So if you groupBy date, you'd get a list of 5000 keys. How would the query look like (example below)?
{
  allUsersConnection {
    groupBy {
      city(first: 2) {
        edges {
          node {
            key
            connection {
              edges {
                node {
                  id
                  name
                }
              }
            }
          }
        }
      }
    }
  }
}


Add support for remote files through GDAL's VFS interface

Resolve #21
from localtileserver import get_folium_tile_layer
from localtileserver import TileClient
from folium import Map

url = 'https://opendata.digitalglobe.com/events/california-fire-2020/pre-event/2018-02-16/pine-gulch-fire20/1030010076004E00.tif'
# First, create a tile server from local raster file
tile_client = TileClient(url)

# Create folium tile layer from that server
t = get_folium_tile_layer(tile_client)

m = Map(location=tile_client.center())
m.add_child(t)
m

Codecov Report

Merging #23 (fbe125d) into main (c694f1b) will increase coverage by 0.23%.
The diff coverage is 52.50%.

@@            Coverage Diff             @@
##             main      #23      +/-   ##
==========================================
+ Coverage   76.68%   76.92%   +0.23%
==========================================
  Files          12       12
  Lines         519      533      +14
==========================================
+ Hits          398      410      +12
- Misses        121      123       +2

Note: this would be dramatically improved by #10. When using the TileServerThread through the TileClient, there is only one request thread. Whereas in the web app viewer launched with flask there is more than one. This means only one tile can be fetched at a time. For local files this isn't much of a problem, but for remote files, especially large ones, it can begin to have an impact on performance.


replace PII with PII.Sensitive, finance with Purpose.finance, and sensitive with PersonalData.Personal

Signed-off-by: Doron Chen<EMAIL_ADDRESS>

PII and PersonalData pretty much overlap. Why not to have Privacy and Purpose as categories with Privacy.Sensitive, Privacy.Confidential, etc. ?

PII and PersonalData pretty much overlap. Why not to have Privacy and Purpose as categories with Privacy.Sensitive, Privacy.Confidential, etc. ?

Wherever possible, I prefer to work with tags that are built into OpenMetadata


[WIP] Counterion

[x] add counterion decoupling in topology_proposal for charge-changing mutations
[x] write test to identify appropriate counterions to decouple
[ ] update to master

Awesome! Let's have @mikemhenry also help with reviewing this PR.
Note that the branch is out of date, and you'll need to rebase or merge master.

@mikemhenry @jchodera -- I've added fixes per John's suggestions: 1) change the flag names for PointMutationExecutor to be more descriptive and 2) removed the hard coded counterion/water nonbonded parameters and 3) set the temperature back to 300 K (because using 298 K broke things).
Please review again -- hopefully this is ready to be merged.


complement weed mount: add read and delete

Add file read and directory/file delete.

This is nice. Please add to wiki doc, or write some examples, to show how to use this feature, and document all the things a user need to do to mount and unmount a directory.

@chrislusf Wiki doc has been added.


firebird connection

How to change the dialect of a connection.
I'm with the error
SQL Error [335544793] [42000]: Dynamic SQL Error; SQL error code = -817; Metadata update statement is not allowed by the current database SQL dialect 1 [SQLState:42000, ISC error code:335544793]

probably, you could find more info here https://www.firebirdsql.org/pdfmanual/html/gfix-dialect.html

thank you very much, THE DB is in the correct dialect, I use with other tools, I believe it is some config of DBeaver in the format of connection dialect, has to change the format?


Git with override withLibsecret = true fails to build, tests fail

Steps To Reproduce
Steps to reproduce the behavior:

build pkgs.git.override {withLibsecret = true;}

Build log
Full Logs
error: builder for '/nix/store/01516izzw990xv1ggqhbffljnjrfqy0i-git-2.37.3.drv' failed with exit code 2;
       last 20 log lines:
       > t9901-git-web--browse.sh ........................... ok
       > t9903-bash-prompt.sh ............................... ok
       > t9902-completion.sh ................................ ok
       >
       > Test Summary Report
       > -------------------
       > t0021-conversion.sh                              (Wstat: 256 (exited 1) Tests: 42 Failed: 1)
       >   Failed test:  31
       >   Non-zero exit status: 1
       > t0050-filesystem.sh                              (Wstat: 0 Tests: 11 Failed: 0)
       >   TODO passed:   9-10
       > t3910-mac-os-precompose.sh                       (Wstat: 256 (exited 1) Tests: 25 Failed: 10)
       >   Failed tests:  1, 4, 6, 8, 11-16
       >   TODO passed:   23
       >   Non-zero exit status: 1
       > Files=959, Tests=24405, 966 wallclock secs (15.30 usr  3.52 sys + 751.97 cusr 1737.84 csys = 2508.63 CPU)
       > Result: FAIL
       > make[1]: *** [Makefile:56: prove] Error 1
       > make[1]: Leaving directory '/build/git-2.37.3/t'
       > make: *** [Makefile:3065: test] Error 2
       For full logs, run 'nix log /nix/store/01516izzw990xv1ggqhbffljnjrfqy0i-git-2.37.3.drv'.

Notify maintainers
@primeos @wmertens @globin
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.19.14, NixOS, 22.11 (Raccoon), 22.11.20221009.34c5293`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.0`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Are you by any chance using ZFS? Apparently those two tests regularly cause issues when using ZFS or rather UTF-8 normalization: https://github.com/NixOS/nixpkgs/pull/191423
It should be fixed by https://github.com/NixOS/nixpkgs/pull/191423 either way though as that disables the two problematic tests. You can either cherry-pick that commit or wait until it lands in master / any channels: https://nixpk.gs/pr-tracker.html?pr=191423
Alternatively you can use doInstallCheck = false (I'd probably recommend that anyway as the tests take a significant amount of time, tend to fail for unrelated reasons, and I'm not sure if they've ever catched a Nixpkgs regression (they're more useful for upstream/development but we run them just in case)).

Are you by any chance using ZFS? Apparently those two tests regularly cause issues when using ZFS or rather UTF-8 normalization: https://github.com/NixOS/nixpkgs/pull/191423
It should be fixed by https://github.com/NixOS/nixpkgs/pull/191423 either way though as that disables the two problematic tests. You can either cherry-pick that commit or wait until it lands in master / any channels: https://nixpk.gs/pr-tracker.html?pr=191423
Alternatively you can use doInstallCheck = false (I'd probably recommend that anyway as the tests take a significant amount of time, tend to fail for unrelated reasons, and I'm not sure if they've ever catched a Nixpkgs regression (they're more useful for upstream/development but we run them just in case)).

Yes, I use ZFS. I already disabled the install checks. This is good to know.
Not mecessarily going to concern myself with it, but can I cherry pick a commit with overrideAttrs using a new src?
Why is doInstallCheck true by default?


Ensure that on Windows all the symbols of shared libraries are usable

Fix https://github.com/conda-forge/gsl-feedstock/issues/50
Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

The PR is finally ready @conda-forge/gsl . It fixes https://github.com/conda-forge/gsl-feedstock/issues/50 using the same strategy used in vcpkg. The PR was previously not working due to https://github.com/conda-forge/autotools_clang_conda-feedstock/issues/13 , but now that problem is solved.

@conda-forge-admin, please rerender

As in https://github.com/conda-forge/gsl-feedstock/pull/54, I am not sure why the drone build is failing, but it also failing with the recipe in the master branch.


Implement MapBox mapping and navigation

MapBox should be implemented as an alternative map implementation alongside Google Maps. MapBox does not include a restriction on showing their maps in a car and has a very generous free tier, which means it can be enabled by default in the public builds. It also provides a modern 3D navigation view, unlike Google which disallows replicating the Google Navigation experience.

How can I download a build with MapBox? Only Nomap build available. Or just fork and build it yourself?

A link to the Mapbox build has been added to the Readme, try it out!

I've tried it and I've created issue #531 :)

Yes yes I've been reading your log for the last 30 minutes ;) <3


Strange behavior while getting method parameter from body in ApiController

From @Abarbz on July 23, 2018 7:4
Hello,
While testing one of the methods in my Asp.Net Core Web API, I witnessed a strange behavior.
The method, sitting in an [ApiController], has the following signature:
[HttpPost("myPath")]
[ProducesResponseType(200)]
public IActionResult MyMethod(MyObject obj)

And the MyObject looks like this:
public struct MyObject
{
	    public readonly bool MyBoolean;
	    public MyObject(bool myBoolean)
	    {
		    MyBoolean= myBoolean;
	    }
}

I was manually testing some behaviors using Postman, and when posting the following objects, I was surprised by the results:

{ afdqgdqgdsgqdgdg: false } : yields a proper MyObject instance, with its MyBoolean field set to false
{ afdqgdqgdsgqdgdg: false, myBoolean: true } yields a proper MyObject instance, with its MyBoolean field set to true
{ afdqgdqgdsgqdgdg: false, jfghdfhfdhf: true } yields a proper MyObject instance, with its MyBoolean field set to false
{ afdqgdqgdsgqdgdg: 3 }: yields a proper MyObject instance, with its MyBoolean field set to false

In those 5 cases, I was actually expecting an error due to model mismatch (except maybe in the second case, where at least one of the properties was matching).
What is happening here? Is this behavior expected?
Copied from original issue: aspnet/Home#3350

From @Abarbz on July 23, 2018 8:20
Thanks for the quick answer.
I can understand invalid properties being ignored, but what about no property matching the model (case 1, 3 & 4)? Shouldn't they fail? Case 4 does not even contain any boolean value.
I also tried with a class, and the behavior is similar in all 4 scenarios.
When you say "check  ModelState for error", do you mean checking ModelState.IsValid?  I though it was checked implicitly when using the [ApiController] attribute?

From @khellang on July 23, 2018 7:58
Yes, this is expected. If you post JSON properties that doesn't match the POCO, they're just ignored. You can configure Newtonsoft to throw on these properties by setting the MissingMemberHandling setting to Error instead of Ignore.
I probably wouldn't use a struct for this, or at least I'd make it nullable in the parameter so you'd be able to tell if it was bound properly. It's also important to check ModelState for errors in all your actions.

From @khellang on July 23, 2018 8:49

I though it was checked implicitly when using the [ApiController] attribute?

Ah, yes it should. Assuming you've also set the compatibility version to 2.1 in your startup.
What happens to case 1, 3 & 4 if you change it to a class, or make the parameter nullable?

From @Abarbz on July 23, 2018 9:12

What happens to case 1, 3 & 4 if you change it to a class, or make the parameter nullable?

Just tried, and the behavior is actually exactly the same, no matter if I use struct, struct? or class for MyObject.

@Abarbz I just did what @khellang suggested and it worked. Do you get expected result with this configuration in your Startup.cs ConfigureServices method?
    services
        .AddMvc()
        .AddJsonOptions(options =>
        {
            options.SerializerSettings.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Error;
         })
         .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

In short, getting no error when the object being sent does not match at all the expected model is the expected behavior.
Kind of surprising, but good to know!
Thanks @khellang & @AlexejTimonin !

Thanks for contacting us. We believe that the question you've raised have been answered. If you still feel a need to continue the discussion, feel free to reopen it and add your comments.


[WIP] Add AMP Conversion support for BucketingModule

Description

Add conversion APIs for bucketing module
Add support for saving and loading BucketingModule from a checkpoint
Add support for loading BucketingModule from a dict of bucket keys to symbols
Add tests

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@mxnet-label-bot add [Module, Python, pr-work-in-progress]


Revert "Add support for RHEL 7" in favor of #148

This reverts commit a45104593779e8c7acf46a3585fe18f43b8c8715.
Conflicts:
spec/spec_helper_acceptance.rb

Do you actually want to just rebase 148 on top of master and send a PR of that? Since we still want the spec helper, right?

Sure.


No support for Laravel 5

Just tried installing via composer ( "vinelab/itunes": "dev-master",), but get the following output. Just FYI. It would be much more convenient for incoming developers like myself if there was a notice in the readme that indicated Laravel 5 was unsupported.
^@Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove laravel/framework v5.0.28
    - Conclusion: don't install laravel/framework v5.0.28
    - Conclusion: don't install laravel/framework v5.0.27
    - Conclusion: don't install laravel/framework v5.0.26
    - Conclusion: don't install laravel/framework v5.0.25
    - Conclusion: don't install laravel/framework v5.0.24
    - Conclusion: don't install laravel/framework v5.0.23
    - Conclusion: don't install laravel/framework v5.0.22
    - Conclusion: don't install laravel/framework v5.0.21
    - Conclusion: don't install laravel/framework v5.0.20
    - Conclusion: don't install laravel/framework v5.0.19
    - Conclusion: don't install laravel/framework v5.0.18
    - Conclusion: don't install laravel/framework v5.0.17
    - Conclusion: don't install laravel/framework v5.0.16
    - Conclusion: don't install laravel/framework v5.0.15
    - Conclusion: don't install laravel/framework v5.0.14
    - Conclusion: don't install laravel/framework v5.0.13
    - Conclusion: don't install laravel/framework v5.0.12
    - Conclusion: don't install laravel/framework v5.0.11
    - Conclusion: don't install laravel/framework v5.0.10
    - Conclusion: don't install laravel/framework v5.0.9
    - Conclusion: don't install laravel/framework v5.0.8
    - Conclusion: don't install laravel/framework v5.0.7
    - Conclusion: don't install laravel/framework v5.0.6
    - Conclusion: don't install laravel/framework v5.0.5
    - Conclusion: don't install laravel/framework v5.0.4
    - Conclusion: don't install laravel/framework v5.0.3
    - Installation request for vinelab/itunes dev-master -> satisfiable by vinelab/itunes[dev-master].
    - Conclusion: don't install laravel/framework v5.0.2
    - Conclusion: don't install laravel/framework v5.0.1
    - vinelab/itunes dev-master requires illuminate/cache 4.* -> satisfiable by illuminate/cache[v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.24, v4.1.25, v4.1.26, v4.1.27, v4.1.28, v4.1.29, v4.1.3, v4.1.30, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.1, v4.2.12, v4.2.16, v4.2.17, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9].
    - don't install illuminate/cache v4.0.0|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.1|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.10|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.2|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.3|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.4|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.5|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.6|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.7|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.8|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.0.9|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.0|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.1|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.10|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.11|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.12|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.13|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.14|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.15|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.16|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.17|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.18|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.19|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.2|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.20|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.21|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.22|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.23|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.24|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.25|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.26|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.27|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.28|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.29|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.3|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.30|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.4|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.5|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.6|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.7|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.8|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.1.9|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.1|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.12|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.16|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.17|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.2|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.3|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.4|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.5|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.6|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.7|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.8|don't install laravel/framework v5.0.0
    - don't install illuminate/cache v4.2.9|don't install laravel/framework v5.0.0
    - Installation request for laravel/framework 5.0.* -> satisfiable by laravel/framework[v5.0.0, v5.0.1, v5.0.10, v5.0.11, v5.0.12, v5.0.13, v5.0.14, v5.0.15, v5.0.16, v5.0.17, v5.0.18, v5.0.19, v5.0.2, v5.0.20, v5.0.21, v5.0.22, v5.0.23, v5.0.24, v5.0.25, v5.0.26, v5.0.27, v5.0.28, v5.0.3, v5.0.4, v5.0.5, v5.0.6, v5.0.7, v5.0.8, v5.0.9].

@rex yes this hasn't been updated to support L5 yet, appreciate a PR if you can.

Any news on this?

Will give it a shot, if not tonight tomorrow max 😀

@Mulkave I wish I had cycles to dedicate to this because I'd love to help! Let me know if you have any luck implementing Laravel 5 support :smile:

@Mulkave if you need any testing, do not hesitate to ping! ;-)

I went on and tried to play a little with the code, and there is also a problem of dependencies coming from vinelab/http at which point I decided that it was maybe a little too deep for me to spend more time in it, so I'll be just waiting if you have time to update (because frankly, your caching feature makes it worthwhile!).

hey guys, just given it a shot in the https://github.com/Vinelab/iTunes/tree/l5 branch so please try it out and let me know how it goes so that I merge and update docs.
You can do that by lowering your minimum-stability to dev and requiring "vinelab/itunes": "dev-l5"

@Mulkave : I just installed l5 branch perfectly. I'll test if everything works with Laravel in the coming hours.

@Mulkave I'm getting a ConfigurationException in Agent.php line 238: Incomplete Configuration error. Here is the complete output.
in Agent.php line 238
at Agent->request('search', array('term' => 'Metallica')) in Agent.php line 81
at Agent->search('Metallica') in Facade.php line 210
at Facade::__callStatic('search', array('Metallica')) in routes.php line 34
at Agent::search('Metallica') in routes.php line 34
at RouteServiceProvider->{closure}()
at call_user_func_array(object(Closure), array()) in Route.php line 155
at Route->runCallable(object(Request)) in Route.php line 130
at Route->run(object(Request)) in Router.php line 704
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Router.php line 706
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 671
at Router->dispatchToRoute(object(Request)) in Router.php line 631
at Router->dispatch(object(Request)) in Kernel.php line 237
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 50
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 54
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 62
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 123
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 88
at Kernel->handle(object(Request)) in index.php line 54

@jpmurray you're gonna need a php artisan vendor:publish after installation

@Mulkave well, now I'm not an undercover Laravel student anymore ;-) Ok, so in php artisan tinker calling for ITunes::search('Metallica') will yield results! Although trying to use it in a controller will get me a class not found error.
I tried adding an aliases to config/app.php with no avail. Honestly, it's my first time using a custom package in Laravel, and I'm a bit lost. I thought that if it worked with tinker it should be all set for controllers, what am I doing wrong in your opinion?

@jpmurray totally fine mate, thanks for trying. Will check it out on my side and try to reproduce the issue and will get back to you on it.

@Mulkave nevermind, I wasn't using the right depedency name. Here's what I did, and everything works fine:

Install via composer;
Add Vinelab\ITunes\ITunesServiceProvider::class, to the provider array in config/app.php
Add 'ITunes' => Vinelab\ITunes\Facades\Agent::class,  to the aliases array in config/app.php
In my controller add use ITunes; to the beggining of the file (I was using Vinelab\ITunes before, that's what didn't worked!)

And then, using $test = ITunes::search('Metallica'); in my controller works perfectly fine!

@jpmurray awesome! Seems like this bit of code in the service provider that used to auto-alias the class doesn't work anymore.
$this->app->booting(function () {

        $loader = \Illuminate\Foundation\AliasLoader::getInstance();
        $loader->alias('ITunes', 'Vinelab\ITunes\Facades\Agent');
});

@Mulkave it would appear so, commenting it out won't impact the results anywhere.

@jpmurray hmmm weird, I just tried it with the latest l5 version and it worked without manually aliasing the class, here's my controller code:
<?php

namespace App\Http\Controllers;

use ITunes;

class AController extends Controller
{
    public function check()
    {
        return ITunes::search('Metallica');
    }
}

Can you please try a composer update then removing the alias from your config? I know it's silly not so major but am just curious :smile:

@Mulkave sure thing, I'd ask the same ;-) So I'm getting an exception:
ErrorException in Agent.php line 41: Argument 2 passed to Vinelab\ITunes\Agent::__construct() must be an instance of Vinelab\Http\Client, instance of Illuminate\Cache\CacheManager given, called in /home/vagrant/Code/joornal/vendor/vinelab/itunes/src/Vinelab/ITunes/ITunesServiceProvider.php on line 36 and defined

@jpmurray yep that's true, weird error though. Can you please make sure of the commit ID in your composer.lock file? by looking near vinelab/itunes the reference should be 88c926989ce00ff49e09772ebb08bdae23fbf5f0

@Mulkave Yep, it's good. I'll look into my code, maybe I made a mistake somewhere, because I honestly can't see any changes from when it was working. I'll be back with that in a few moments.

@Mulkave yeah, so I reset my local developpement branch and started all from scratch, now it works. Go figure! ;-)
I guess congratulations are in order, your packages have 5.1 LTS support ! ;-)

yep, that's awesome :smile: thanks for the constant feedback @jpmurray, merging into master now!

Thanks to you for thoses updates!


fix(src): fixed faulty url in network config file

fix for issue #224

I will merge this into dev and wait till Monday for a release as this is not a major bug and there is a available workaround by overrwriting the network configuration manually.


Add Operator to operatorhub.io

Update OLM assets for the changes made in the repository and add to operatorhub.io

Operator has been added to operatorhub.io https://github.com/operator-framework/community-operators/pull/703


Fsck command

This PR is built on #280 by @zeroshirts and #290 by @technoweenie.
I transferred the test to the new test environment. Should be enough to close #262.
@zeroshirts:
I squashed a05e331 (Add LFS fsck command) and 1c8c54d (code review changes) together and moved  file.Close() right after _, err = io.Copy(oidHash, f).¹  I hope this is ok with you!?
¹ See comment in 2f6c3be.  If io.Copy fails, we still want to close the file.

Some comments on questions raised in #290:
Is fsck the right name?
Consistent with git and git-annex. → Yes
Is deleting the corrupt objects the right default?
Potential data loss. → No

I'm not sure what we could do to fix files.

Not git-lfs' job.
Observations (not necessarily blockers for this PR)
Nice things we should document somewhere in order to do them in other PRs.  I'd say the current user interface is a good default.

LGTM

Awesome, thanks for picking this back up. I'd like to ship this with Git LFS v0.5.2 some time next week.
We do need to add a man page for this.

:+1: I've put the man page on my todo list for the next days.

sha256sum: command not found

I use shasum -a 256, but it may be easier to write one in Go. I have no idea what we can use that will work cross platform.

Here's one idea: https://gist3.github.com/technoweenie/85e1611dff2289bd7e18

The gist3 link returns a 404. This one works, though: https://gist.github.com/technoweenie/85e1611dff2289bd7e18
I changed sha256sum to shasum -a 256. Other tests are using shasum -a 256 too, therefore I thing it's out of scope for this PR to move to a custom hash program.

I added a man page. From my POV this PR is ready.

Other tests are using shasum -a 256 too, therefore I thing it's out of scope for this PR to move to a custom hash program.

Ideally all shell scripts in git-lfs are written for lowest common denominator sh environments. I have no idea what the standard shasum command is, or if there even is one. I agree that it's not worth adding a custom command until we need to though.


[Feature]: eslint flat config

Package Scope
etc
Description
eslint flat config
Possible Solution
No response
etc.
No response

@manudeli I would like to work on this issue if it is open for contribution.

Sure! Make draft pr please to share your work early and when you ready to get review, request review to me please

@vr-varad Share your plan trying to resolve this issue please if you can

Absolutely! Before making a pull request, I'll share a detailed plan as soon as possible. I'm currently working on it. @manudeli

@manudeli This is what I am thinking of implementing.
Feel free to suggest changes whenever u are free

@manudeli This is what I am thinking of implementing. Feel free to suggest changes whenever u are free

So good! Actually I tried to resolve this issue once and failed. I will try to help you in your PR. Let's implement it


Atomic clone and updates for git-sync

The git-sync sidecar container pulls Git content into a shared volume, but another container may begin accessing the incomplete repository while the initial pull is occurring. There has been some discussion of the matter here: https://github.com/kubernetes/kubernetes/issues/17676.
This change provides the option to make the initial clone/pull atomic (i.e. the target directory will not appear in the filesystem until the pull is complete). I've included atomic.md as a readme with more information about usage and implementation, but can merge that into the existing README.md instead if that is preferred.
@thockin @huggsboson

I'm with Box and am covered under Box's CLA

Thanks for this!  I promise I or someone will look at it ASAP.  I may not
get to it this week, though.
@mikedanese - got any free time?
On Tue, Jul 12, 2016 at 11:55 AM, Gregory Lyons<EMAIL_ADDRESS>wrote:

The git-sync sidecar container pulls Git content into a shared volume, but
another container may begin accessing the incomplete repository while the
initial pull is occurring. There has been some discussion of the matter
here: kubernetes/kubernetes#17676
https://github.com/kubernetes/kubernetes/issues/17676.
This change provides the option to make the initial clone/pull atomic
(i.e. the target directory will not appear in the filesystem until the pull
is complete). I've included atomic.md as a readme with more information
about usage and implementation, but can merge that into the existing
README.md instead if that is preferred.
@thockin https://github.com/thockin @huggsboson
https://github.com/huggsboson
You can view, comment on, or merge this pull request online at:
https://github.com/kubernetes/contrib/pull/1356
Commit Summary

Atomic initial pull for git-sync

File Changes

A git-sync/atomic.md
https://github.com/kubernetes/contrib/pull/1356/files#diff-0 (70)
A git-sync/git-sync
https://github.com/kubernetes/contrib/pull/1356/files#diff-1 (0)
M git-sync/main.go
https://github.com/kubernetes/contrib/pull/1356/files#diff-2 (38)

Patch Links:

https://github.com/kubernetes/contrib/pull/1356.patch
https://github.com/kubernetes/contrib/pull/1356.diff

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/contrib/pull/1356, or mute the thread
https://github.com/notifications/unsubscribe/AFVgVAD21p6a1fjcYyS_jwVKg9fAZ7YLks5qU-MWgaJpZM4JKtXW
.

Heh. Yes, i can take a look.

Why do we need an option to enable this? Why don't we always want this?

The idea of making it optional came from some discussion in https://github.com/kubernetes/kubernetes/issues/17676 regarding the GIT_SYNC_DEST environment variable and the necessity of putting the repo in a subdirectory of the volume. In the current implementation, I think the expected behavior would be for the repo to end up in the volume root, so requiring another subdirectory env var seemed like it would be a burden worth making optional.
However, I think with an implementation like the one I mentioned above (https://github.com/kubernetes/contrib/pull/1356#discussion_r70564309) we could make this atomic pull the default behavior. The user shouldn't care where the volume is mounted within this sidecar container, they should only care about the relative path of the Git repo within the volume (so they can access it from within the volume mount in whatever other container is using it).
We would need documentation that the required volume mountPath for git-sync is /git, but then we could combine the GIT_SYNC_DEST and GIT_SYNC_SUBDIR env vars into a single env var (probably still named GIT_SYNC_DEST?), which will be the relative path within the volume where the repo actually ends up.

Unfortunately, the way that bind mounts work means that when you bind mount
a symlink, it will resolve the link to the final target.  The normal way to
do an atomic flip of multiple files is with a symlink, so while it might be
an atomic flip, anyone who bind mounted it will not see the update.
On Thu, Jul 14, 2016 at 10:52 AM, Gregory Lyons<EMAIL_ADDRESS>wrote:

The idea of making it optional came from some discussion in
kubernetes/kubernetes#17676
https://github.com/kubernetes/kubernetes/issues/17676 regarding the
GIT_SYNC_DEST environment variable and the necessity of putting the repo in
a subdirectory of the volume. In the current implementation, I think the
expected behavior would be for the repo to end up in the volume root, so
requiring another subdirectory env var seemed like it would be a burden
worth making optional.
However, I think with an implementation like the one I mentioned above (#1356
(comment)
https://github.com/kubernetes/contrib/pull/1356#discussion_r70564309)
we could make this atomic pull the default behavior. The user shouldn't
care where the volume is mounted within this sidecar container, they should
only care about the relative path of the Git repo within the volume (so
they can access it from within the volume mount in whatever other container
is using it).
We would need documentation that the required volume mountPath for
git-sync is /git, but then we could combine the GIT_SYNC_DEST and
GIT_SYNC_SUBDIR env vars into a single env var (probably still named
GIT_SYNC_DEST?), which will be the relative path within the volume where
the repo actually ends up.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/contrib/pull/1356#issuecomment-232741022,
or mute the thread
https://github.com/notifications/unsubscribe/AFVgVE6AxPQTd8-PXwjHZfWUzS4_sdZTks5qVndogaJpZM4JKtXW
.

@thockin just to clarify, you are saying that we won't be able to do atomic pull into the root of the mounted volume? I think we're in agreement that the subdir is necessary.

Given that the subdir is necessary, do we want to make this atomic pull the default behavior? We would require a GIT_SYNC_SUBDIR env var, but could get rid of the existing GIT_SYNC_DEST env var and put the data in /git/$GIT_SYNC_SUBDIR (where /git is the mount).

I actually implemented this without symlinks, using Go's os.Rename (which is implemented with a rename syscall and behaved atomically in some testing I did), but I see that for atomic update pulls (i.e. after the initial pull), we will want to use symlinks. I can go ahead and fix the implementation for this PR to make things easier for the followup PR.

I've gone ahead and made some implementation changes in a followup commit, focused on making this the default behavior and using symlinks. When I started using symlinks, I found that it wouldn't be too difficult to go ahead and implement atomic updates as well, so I hope it's alright that I did that in this PR as well. I also split up some parts of the big syncRepo function into smaller functions.

I have not had a chance to really look at the PR yet, so this is sort
of hand-waving.  I took a look at the doc, but I don't think it is
quite clear enough.  I will say, though, that we really should not
make an incompatible change unless we're willing to rev the major
version of the resulting container.
On Fri, Jul 15, 2016 at 10:37 AM, Gregory Lyons
<EMAIL_ADDRESS>wrote:

@thockin just to clarify, you are saying that we won't be able to do atomic pull into the root of the mounted volume? I think we're in agreement that the subdir is necessary.

Well, we USED to be able to do this, so we need to either support that
or rev the major version.

Given that the subdir is necessary, do we want to make this atomic pull the default behavior? We would require a GIT_SYNC_SUBDIR env var, but could get rid of the existing GIT_SYNC_DEST env var and put the data in /git/$GIT_SYNC_SUBDIR (where /git is the mount).

Again, compatible or major rev

I actually implemented this without symlinks, using Go's os.Rename (which is implemented with a rename syscall and behaved atomically in some testing I did), but I see that for atomic update pulls (i.e. after the initial pull), we will want to use symlinks. I can go ahead and fix the implementation for this PR to make things easier for the followup PR.

Yeah, I think you NEED to use symlinks.    It has to be JUST RIGHT or it will break for users.

Just to be more specific, I think we need to do something like peek at
origin and see if it is the same hash as HEAD and, if not clone to a
new directory, make a symlink, rename it, clean up.  Or maybe git fetch origin, compare that to HEAD, and then clone from the current
dir to a new dir or something (git is magical, I am sure there's a
way...)
On Fri, Jul 15, 2016 at 5:03 PM, Tim Hockin<EMAIL_ADDRESS>wrote:

I have not had a chance to really look at the PR yet, so this is sort
of hand-waving.  I took a look at the doc, but I don't think it is
quite clear enough.  I will say, though, that we really should not
make an incompatible change unless we're willing to rev the major
version of the resulting container.
On Fri, Jul 15, 2016 at 10:37 AM, Gregory Lyons
<EMAIL_ADDRESS>wrote:

@thockin just to clarify, you are saying that we won't be able to do atomic pull into the root of the mounted volume? I think we're in agreement that the subdir is necessary.

Well, we USED to be able to do this, so we need to either support that
or rev the major version.

Given that the subdir is necessary, do we want to make this atomic pull the default behavior? We would require a GIT_SYNC_SUBDIR env var, but could get rid of the existing GIT_SYNC_DEST env var and put the data in /git/$GIT_SYNC_SUBDIR (where /git is the mount).

Again, compatible or major rev

I actually implemented this without symlinks, using Go's os.Rename (which is implemented with a rename syscall and behaved atomically in some testing I did), but I see that for atomic update pulls (i.e. after the initial pull), we will want to use symlinks. I can go ahead and fix the implementation for this PR to make things easier for the followup PR.

Yeah, I think you NEED to use symlinks.    It has to be JUST RIGHT or it will break for users.

I think it's worth updating the major version. In the current version, GIT_SYNC_DEST isn't very useful anyway, it only ever points at the root of the volume mount or somewhere inside of it. My thought is that we simplify things by choosing the mount location for the user (/git or something similar) and using GIT_SYNC_DEST to specify a subdir path within it (users shouldn't care where the volume root is mounted within git-sync, but they do care about where their repo is located within the volume).
With regards to implementation, I've already built it along the lines you're suggesting (updated in my more recent commit). Here is pseudocode for the looping syncRepo function (actual implementation uses helper functions):
if target repo does not exist
        clone/pull into tempdir
        make temp symlink to tempdir
        rename temp symlink to target repo name
else if target repo needs update
        copy .git from target repo to tempdir
        pull into tempdir
        make temp symlink to tempdir
        rename temp symlink to target repo name
        remove symlink's previous target

Pseudocode for checking if the repo needs an update:
git remote update
localHead = git rev-parse HEAD
remoteHead = git rev-parse @{u}
return localHead != remoteHead

@mikedanese @thockin anyone had a chance to take a look at the implementation yet?

Added a commit to fix a bug regarding absolute/relative paths. Anyone had a chance to take a look or think any more about default vs. optional behavior? @mikedanese @thockin

@bgrant0607 Any chance you could help me out with getting someone to take a look at this?

Your pseudo code seems to do approximately what git workspace does. Can you add some {unit,integration} tests for this?

CI is not passing either.

To clarify on work tree
git fetch upstream master
git worktree add ../rev-$(date '+%y%m%d%H%M') FETCH_HEAD
(switch symplinks)
(rm and prune old worktrees

This has the advantage of not required a copy of the git database which can become very large.

Awesome trick!
On Fri, Aug 5, 2016 at 4:53 PM, Mike Danese<EMAIL_ADDRESS>wrote:

To clarify on work tree
git fetch upstream master
git worktree add ../rev-$(date '+%y%m%d%H%M') FETCH_HEAD
(switch symplinks)
(rm and prune old worktrees
This has the advantage of not required a copy of the git database which
can become very large.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/contrib/pull/1356#issuecomment-237991445,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVDUvqKxO0_MCvG7ZIBTP5o04haplks5qc8zrgaJpZM4JKtXW
.

@foxish may also be interested.

@mikedanese I've been working on an implementation with worktree. Something to note is that before we can do "git worktree add", we need to have a .git directory that persists (worktrees are stored in .git/worktrees).
This brings back the conversation of what to do about "GIT_SYNC_DEST" given that we need the symlink to be inside of the volume and point to subdirectory within the volume (can't do swapping if the symlink points to the volume itself).
Here's my proposal:

GIT_SYNC_DEST should specify the name of the subdir (within the volume) that will "contain" the repo - this will be the name of the symlink that another program would wait for
Do the initial clone (with no checkout) in the volume root, so if /git is the mounted volume root we end up with /git/.git
"Pulls" are done with @mikedanese's pseudocode, by adding a worktree to a new subdir in the volume root, swapping the DEST symlink to point to the new worktree, and then pruning the old worktree

Volume directory will look like:
/git/
   .git/
   rev-$(date '+%y%m%d%H%M')/
   targetLink/

where targetLink is a symlink that points to the current rev-.../ directory

Took a stab at using git worktree in https://github.com/kubernetes/contrib/pull/1356/commits/88cfdeaddf3f0e5c27ae7025cb8b0fda7700cf26
Pseudocode is now:
if target repo does not exist
        clone into /git/.git (no checkout)
else if target repo does not need update
        return
endif
git fetch origin <branch>
git worktree add /git/rev-<random-int> origin/<branch>
(switch symlinks)
(rm and prune old worktrees)

I used random int for the rev-.../ naming instead of $(date '+%y%m%d%H%M'), because depending on how frequently and quickly we are polling the repo, we could end up with a collision if basing the naming off timing.

Looks good, we should add tests to this sometime...

Box, Inc. is a corporate CLA signer.

It's very weird that FETCH_HEAD does not work. Glad this does though. Thanks!

I think I owe you a shirt - didn't I put a bounty on this?  Send me your
address and size by email :)
On Wed, Aug 10, 2016 at 10:41 AM, Kubernetes Submit Queue <
<EMAIL_ADDRESS>wrote:

Merged #1356 https://github.com/kubernetes/contrib/pull/1356.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/contrib/pull/1356#event-751669411, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFVgVFlvdqkTUP0IFtGsBN8VopXqeKP0ks5qeg1dgaJpZM4JKtXW
.

docker run -d -e GIT_SYNC_REPO=https://github.com/thockin/dbg -e GIT_SYNC_DEST=/git -e GIT_SYNC_BRANCH=master -v /tmp/git:/git myrepo/git-sync:1.0
Trying to use this, I get a tmp-link -> rev. and an error "2016/08/19 04:35:29 error syncing repo: error replacing symlink: error running command "mv -T tmp-link /git" : exit status 1: mv: cannot overwrite directory '/git' with non-directory"
docker run -d -e GIT_SYNC_REPO=https://github.com/thockin/dbg -e GIT_SYNC_DEST=/git/dbg -e GIT_SYNC_BRANCH=master -v /tmp/git:/git myrepo/git-sync:1.0
I get "error syncing repo: error running command "git clone --no-checkout -b master https://github.com/thockin/dbg /git" : exit status 128: fatal: destination path '/git' already exists and is not an empty directory."
TL;DR: the docs don't actually give an example of this that can be used.


Title: Limiting the number of processes in codeium.vim

I'm using codeium.vim on a server where I don't have root access. The service only allows users to run up to 200 processes. However, codeium.vim creates too many processes as shown in the attached image. I was wondering if there's a way to limit the number of processes created by Codium.

Thanks in advanece

There should only be one codeium process per nvim process. The fact that you have so many suggests that maybe many processes are not being killed when nvim exits. I can look into this.

Curious if #102 fixes this issue for you. We now explicitly call jobstop upon VimLeave which should kill the language server process.

Indeed, after exiting Neovim, all processes of Codeium are terminated. However, my typical usage scenario involves opening two panes in Tmux - one to open Neovim and one to run a program, as shown in the figure below. Since Codeium uses too many processes, I have to exit Neovim in order to run the program with multithread.  Therefore, I hope to limit the number of processes so that I can run multi-threaded programs without closing Neovim.

Hmm, I'm not sure why we're launching so many processes then.
can you add the following line to function! s:ActuallyStart() abort inside codeium.vim/autoload/codeium/server.vim?
call codeium#log#Error('Starting language server.')

And then the following line to your init.nvim file:
let g:codeium_log_file = '/home/<user>/codeium.log`

Then tail the log file and let us know what actions cause Starting language server to get printed?

Sorry for the late reply.  I have attached the log file.
codeium.log

got similar issue, codeium created many curl task during usage

@ZSaberLv0, @xuwei152 have you solved this issue?

@ZSaberLv0 If curl is hanging, maybe you can try adding an argument like --max-time to the invocations of curl in the plugin. Is the service working otherwise? If we need to investigate further maybe you can make a new issue, seems like this is sufficiently different.

No, the issue is still there. I have to close neovim when I use a multithreading program like fzf.

same for me, however, for me, it is always exactly two codeium processes running:

neovim 0.9.1 (homebrew)
neovide 0.11.0 (homebrew)
macOS 13.4.1 (M1)

@chrisgrieser there will always be exactly 2 processes actually; one is the child process of the other.

I encountered the same problem. I just installed codeium today. I am using neovim. What configuration should I do to limit the number of processes?


Does Ontop support INSERT and DELETE operator to manage bottom data with it's own mapping?

Hi @nicholaslsq ,
No, as of now, it does not support these operators. It is a read-only system.
Best,
Benjamin

Thanks for your reply.By the way, is there any OBDA system implements these operations? Will ontop support them？
------------------ 原始邮件 ------------------
发件人:                                                                                "ontop/ontop"                                                                                @.>;
发送时间: 2021年3月18日(星期四) 下午2:46
@.>;
<EMAIL_ADDRESS>主题: Re: [ontop/ontop] Does Ontop support INSERT and DELETE operator to manage bottom data with it's own mapping? (#415)
Hi @nicholaslsq ,
No, as of now, it does not support these operators. It is a read-only system.
Best,
Benjamin
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi @nicholaslsq ,
We do want to support them, but we don't have a concrete plan yet. It is a challenging task also from a theoretical point of view.

Thanks, hope your working group solve this point soon. Good luck.
------------------ 原始邮件 ------------------
发件人:                                                                                "ontop/ontop"                                                                                @.>;
发送时间: 2021年3月18日(星期四) 下午3:05
@.>;
<EMAIL_ADDRESS>主题: Re: [ontop/ontop] Does Ontop support INSERT and DELETE operator to manage bottom data with it's own mapping? (#415)
Hi @nicholaslsq ,
We do want to support them, but we don't have a concrete plan yet. It is a challenging task also from a theoretical point of view.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


[Improvement] Manage user_agent in a smarter way

Situation: user_agent is either defined:

in tgtg module
in this module, as a default one - see this in the code
in this module, as a user configured string

Complication: this user_agent will change over time, as TGTG update their app and depreciate older ones
Improvement needed: how to make this sustainable? tell users how to look for it and update themselves the config?

If anybody has ideas, I'm listening :)

Use a file on GitHub to acces the client header. This file could be updated by the community. So every time tgtg starts it retrieves that data?

Hey @liudger thanks for your idea! I like it a lot.
Would you know by any chance python projects that works like this?
So we don't reinvent the wheel 😁

https://github.com/MaxWinterstein/toogoodtogo-ha-mqtt-bridge/pull/49
I just found out that the other tgtg addon is generating a random client?  Maybe have look at that code
https://github.com/MaxWinterstein/toogoodtogo-ha-mqtt-bridge/pull/49

Was thinking about it, I will do it in the tgtg package.
If it's not done in a week don't hesitate to open an issue on tgtg repo.

Was thinking about it, I will do it in the tgtg package. If it's not done in a week don't hesitate to open an issue on tgtg repo.

Love it, I was 5 min away to open an issue on the tgtg repo. Thanks a bunch!
I'll keep this issue open to keep track of the implementation in this Home Assistant integration

Awesome, I'll update this later this week

Live in 4.2.1


Difficult to figure how to contribute to docs

https://oai.github.io/Documentation/start-here.html - I wanted to contribute/raise a PR for an edit on the documentation, but there is no link to a GitHub repository that would lead me here. If we're hoping for individuals to participate and contribute at least to the docs, typos or factual errors even, we could add a link to this GitHub repository.
It was two-step navigation for me personally. Let's make this easier for others?
For instance - there's an Edit button on the top of the page - https://code.visualstudio.com/docs/setup/setup-overview

Possibly a fork me on Github ribbon would do the trick.

Went with a CSS only solution.


Add metadata (the graphql.core Node) to GraphQLField and GraphQLObject.

Clients can use this metadata do specializilation during the creation of client types.

Description
GraphQL is a very flexible language where custom directives can be added for a large number of purposes.  It's possible that in some cases, a custom directive on a query object or field could be used to impact what types are emitted on a client.  e.g. a client might want to make fields nullable if they have a@skip or @include directive.  Since directives can be as diverse as the people who make them, we should allow that information to be passed to the client generator plugin which can then be used or ignored as necessary.
Since it's unclear what these custom directives would do or how someone might use them in the general case, for now, I'm just passing the whole graphql node for the field or type through.  In my concrete use-case, I have reasons to want to supply default values to the generated types from the client -- e.g.:
@dataclass
class Foo:
     field: str = "Hello world"

Rather than
@dataclass
class Foo:
     field: str

which is what gets generated by my plugin currently.
My graphql would look something like:
query MyQuery {
    getFoo {
        field @defaultValue(value: "Hello world")
    }
}

And this is fine as long as the server is taught to ignore the directive (or the directive is stripped before the query actually gets issued which is how my plugin actually works).
Types of Changes

[ ] Core
[ ] Bugfix
[x] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to Matt Gilson for the PR 👏

Get it here 👉 https://beta.strawberry.rocks/release/(next)

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to Matt Gilson for the PR 👏

Get it here 👉 https://beta.strawberry.rocks/release/(next)

It looks like pyright released a new version yesterday -- I'm guessing that's why all the pyright tests are now failing :).
womp womp.


Add the profile-level-id and symmetry parameters

Hi,
We are using H264 video codec for our webrtc communication.
The updated firefox webrtc is sending the SDP with "profile-level-id" and the symmetry parameters.
If we are NOT sending the SDP answer with the  above parameters, the firefox browser is showing error like "Failed to negotiate codec".
If we just add the profile-level-id parameter in the SDP Answer, that error is not there now, but still there is no video going.
Does any one have this issue, and how to add this parameters in the openwebrtc stack?

The SDP parts are something that not OpenWebRTC does but that you have to do in your application. The JavaScript bridge implements it though.
In any case, what should be done here is to follow how the SDP<->caps mapping is done in GStreamer in other places. Then you'll get the profile-level-id and everything else you might need.
See https://bugzilla.gnome.org/show_bug.cgi?id=745880 for some other discussion around this.

As I recall you are using the test client. The offer or answer SDP will need to add those parameters to the a=fmtp line for the H.264 payload type.
Currently it looks like openh264enc does not set the uiLevelIdc in the SSpatialLayerConfig struct which I believe means that the default value will be used which is that the level will be automatically calculated based on resolution and framerate.
I suspect that an h264parse after the encoder would identify the profile-level-idc and put it into caps and then that can be used. Alternatively, a more not-implemented-here way of doing it is that OpenH264 will be configured to use constrained profile, which means the first four hexadecimal characters of the profile-level-idc will probably be 42e0 as in Firefox. Then the level IDC can be calculated based on the resolution and framerate to figure out the number of macroblocks per second and then use this table from the H.264 spec: https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels

You get all these fields in the rtph264pay srcpad caps already and can generically convert that to the SDP fields (generically as in "you don't need different code paths for h264, opus, etc").


Warning when running in verbose mode

A warning is printed to the console when running in verbose mode.
(node:34135) Warning: No such label 'End Recording' for console.timeEnd()

This is probably a result of https://github.com/nodejs/node/issues/6452

Thanks for tracking this down, I was wondering how that would even be possible without a change in the API 😅

No worries @gillesdemey, I've had a quick go at fixing it but I've not really got anywhere :(

This will be fixed in 1.0.0 where we no longer use console.time


Rendering images from remote url

Hi, @kempsteven, Im having trouble with the generated pdf, for some reason i am not able to get the image rendered. Kindly assist.
Here is my code:
`            <vue-html2pdf :show-layout="false" :float-layout="true" :enable-download="true" :preview-modal="true"
:paginate-elements-by-height="1400" :filename=event.event_name :pdf-quality="2"
:manual-pagination="false" pdf-format="a4" :pdf-margin="10" pdf-orientation="portrait" :html-to-pdf-options="htmlToPdfOptions"
pdf-content-width="800px" @progress="onProgress($event)" @beforeDownload="beforeDownload($event)"
@hasStartedGeneration="hasStartedGeneration()" @hasGenerated="hasGenerated($event)" ref="html2Pdf">

EVENT NAME
{{event.event_name}}

LOCATION
{{event.location}}, {{event.city}}

DATE
{{new Date
(event.start_date).toLocaleDateString('en-us', {
day: '2-digit',
month: 'short',
year: 'numeric',})
}}

TIME

{{
new Date(event.start_date).toLocaleTimeString('en-us', { hour:
'2-digit',
minute: '2-digit' })
}}

TICKET TYPE
{{ticket.ticket_name}}

TICKET PRICE

KES {{ticket.ticket_price}}

TICKET NUMBER:
{{details.ticket_number}}

 //this image is not rendered in the pdf generated//

 //this renders as its static//

htmlToPdfOptions() {
  return {
    html2canvas: {
      taintTest: true,
      useCORS: true
    }
  }

download(){
  this.$refs.html2Pdf.generatePdf();
},

`

here is my preview

Here is the generated pdf

My best guess is that this is a CORS issue, check your developer console. Its most likely the problem, make sure you have this on the header from where the image is being served --Access-Control-Allow-Origin: * , Access-Control-Allow-Methods: GET,OPTIONS.

    <!--
        If you have any image with a remote source
        set html2canvas.useCORS to true, although it is set to true by default
        Ex.
        html2canvas: {
            useCORS: true
        }
    -->

I tried html2canvas: { useCORS: true } but it persisted.
I managed to work around it by converting the image to base-64 before generating the pdf.


Ips120 driver upgrade

upgrade the magnet driver IPS120 by rewriting methods to match front panel operation.  Older methods are still in the driver, and call the new methods.  This is tested with a notebook in the pyscan/test/drivers folder.

Is there an update on this?

Not ready for pull.


Stacktrace Data can be an array

I've noticed that in one of my test files, the stacktrace data was actually being parsed as an array, instead of a string causing this error
Payload
{
  _attributes: {
    name: 'Response time is less than 1000ms',
    time: '6.287',
    classname: 'REDACTED'
  },
  failure: {
    _attributes: {
      type: 'AssertionFailure',
      message: 'expected 6287 to be below 1000'
    },
    _cdata: [
      'Failed 1 times.',
      'Collection JSON ID: REDACTED.',
      'Collection name: REDACTED.',
      'Request name: REDACTED.',
      'Test description: Response time is less than 1000ms.',
      'Error message: expected 6287 to be below 1000.',
      'Stacktrace: AssertionError: expected 6287 to be below 1000\n' +
        '   at Object.eval sandbox-script.js:2:1).'
    ]
  }
}

Going to parse results form tests/postman-node/newman/*.xml
Error: ((testcase.failure && testcase.failure._cdata) || (testcase.failure && testcase.failure._text) || (testcase.error && testcase.error._cdata) || (testcase.error && testcase.error._text) || "").trim is not a function

To fix this, simply calling toString before trim, will join the data if it's an Array.

Thank you so much for the pr.

Thank you so much for the pr.


Enchance the WinObjCRT shim to redirect memory management calls

Forward all heap call to one dll so that we can ensure the correct heap is used.
Additionally clean up CRT use in tests to be more app like.

Not super tested. It was validated by looking at the imports of WOCCatalog and doing some light testing with it. After the change we get:
WinObjCRT.dll
            46C484 Import Address Table
            524CD8 Import Name Table
                 0 time date stamp
                 0 Index of first forwarder reference

               1A free
               22 malloc

So I assume it works.


About NewsQA

Hi. Do you have the code to run the system on NewsQA?

It is the same code. You only need to covert NewsQA data format into SQuAD data format by using the official NewsQA tools. The SOTA system is reported here: https://github.com/xycforgithub/MultiTask-MRC.


chore(main): release 0.23.1

:robot: I have created a release beep boop
0.23.1 (2024-09-18)
Bug Fixes

add translations (0c8e28e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/GeotrekCE/Geotrek-rando-widget/releases/tag/0.23.1 :sunflower:


Don't crash server on MessageCodecException

This kind of exception is safe to catch and return (since it is a failure before invoke), so return it as an EntityUserException, instead of bringing down the server.

This was closed by c8cd630c757646dd5e9ef4b60d344d82d00104c5 (annotation missing in commit comment).


Use deployment instead of deploymentconfig and stateful set

Right now we create a deployment (velero), daemonset (restic), deploymentconfig (ui), and statefulset (controller). Unless we have a need, as in the case of restic, we should be consistent with the resources types we create.
After talking to Fabian the only benefit of a stateful set is PVC templating. As the controller doesn't use a PVC we can move this to a deployment. The primary benefit of a dc instead of a deployment is related to imagestreams so we can use a deployment here too.

https://github.com/fusor/mig-operator/commit/ad829a110275d4e5b8a383960363089c824e9131


test(hansbug): add cross platform support

Codecov Report

Merging #4 (d1cafe7) into main (7d6201a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #4   +/-   ##
=======================================
  Coverage   97.97%   97.97%
=======================================
  Files          30       30
  Lines        1335     1335
=======================================
  Hits         1308     1308
  Misses         27       27

Flag
Coverage Δ

unittests
97.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[Draft] Re-Add Convert To Stake Changes

Publish stage
What is the purpose of the change

ClickUp Task
ClickUp Task URL
Brief Changelog

Testing and Verifying

Documentation and Release Note

@jonator @ValarDragon This PR will re-add the reverted Convert to Stake changes. Please wait for #2292 to be in prod before merging this back

Do we have a fix for this?


Do not shut down BatchlogManager twice during drain (CASSANDRA-12504)

Merged into https://github.com/instaclustr/cassandra/pull/14


Resolve syncing conflicts from repo_sync_working_branch to main

Pull request opened by Docs to resolve syncing conflicts from repo_sync_working_branch to main.

Learn Build status updates of commit 883c1f8:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: CannotMergeCommit] Cannot merge commit 883c1f8fe84501040b2c35cb6cdac8656ab77eb8 in branch repo_sync_working_branch of repository https://github.com/MicrosoftDocs/powerbi-docs into branch main (commit 5f97770f94de1be37e96bbddb944487d619da5b0). Please follow this documentation: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/ to use git.exe to resolve you content conflicts locally and then push to remote.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit e53ed8a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

powerbi-docs/admin/desktop-admin-sign-in-form.md
:white_check_mark:Succeeded

powerbi-docs/admin/desktop-privacy.md
:white_check_mark:Succeeded

powerbi-docs/admin/service-admin-auditing.md
:white_check_mark:Succeeded

powerbi-docs/admin/service-admin-portal-export-sharing.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/media/service-dataset-external-org-share-admin/guest-user-shared-tenant-setting.png
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/media/service-dataset-external-org-share-admin/specific-users-allowed-share.png
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/media/service-dataset-external-org-share-provider/external-sharing-dataset.png
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/media/service-dataset-external-org-share-provider/share-dataset.png
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/media/service-how-to-collaborate-distribute-dashboards-reports/power-bi-apps-new-look.png
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-automate-paginated-integration.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-create-distribute-apps.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-dataset-external-org-share-about.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-dataset-external-org-share-admin.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-dataset-external-org-share-provider.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-dataset-external-org-share-view.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-how-to-collaborate-distribute-dashboards-reports.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-power-bi-powerpoint-add-in-about.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/service-power-bi-powerpoint-add-in-view-present.md
:white_check_mark:Succeeded

powerbi-docs/collaborate-share/TOC.yml
:white_check_mark:Succeeded

powerbi-docs/connect-data/desktop-assume-referential-integrity.md
:white_check_mark:Succeeded

powerbi-docs/connect-data/desktop-default-member-multidimensional-models.md
:white_check_mark:Succeeded

powerbi-docs/connect-data/desktop-enter-data-directly-into-desktop.md
:white_check_mark:Succeeded

powerbi-docs/connect-data/desktop-trusted-third-party-connectors.md
:white_check_mark:Succeeded

powerbi-docs/connect-data/desktop-tutorial-row-level-security-onprem-ssas-tabular.md
:white_check_mark:Succeeded

powerbi-docs/connect-data/refresh-excel-file-local-drive.md
:white_check_mark:Succeeded

This comment lists only the first 25 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off


Multi-dimensional arrays

Multi-dimensional arrays (waiting on the Memory type PR)

Ref: https://tshort.github.io/WebAssemblyCompiler.jl/stable/
FYI: That PR has now been merged. Not sure what the current state of these arrays are now that that has been merged.

Well, I tried WebAssemblyCompiler with Julia 1.11 to see if this magically worked. But it throws an error on this line as Base._unsafe_copyto!(...) isn't defined for Julia 1.11. Will see if I can debug when I get back.
@overlay MT Base._unsafe_copyto!(dest::Array{U, 1}, doffs::Integer, src::Array{T, 1}, soffs::Integer, n::Integer) where {T,U} =
@ccall _jl_array_copyto(dest::Array{U,1}, (doffs-1)::Int32, src::Array{T,1}, (soffs-1)::Int32, n::Int32)::Array{T,1}
@overlay MT function Base._unsafe_copyto!(dest::Array, doffs::Integer, src::Array, soffs::Integer, n::Integer)
@inbounds for i in 1:n
dest[i+doffs-1] = src[i+soffs-1]
end
return dest
end


Datagrid[EditableCells]: changing cell value via dropdown with keyboard not working

What package(s) are you using?

[X] Carbon for IBM Products (or Carbon for IBM Cloud & Cognitive)
[ ] Legacy/CDAI
[ ] Legacy/Security

Detailed description

Describe in detail the issue you're having.

When navigating through the editable cell Datagrid you should be able to change a cell's value via dropdown without any issues.

Is this issue related to a specific component?

Datagrid, useEditableCells

What did you expect to happen? What happened instead? What would you like to
see changed?

Expected to be able to change cell value via dropdown in editable cell/inline edit Datagrids

What browser are you working in?

Chrome

What version of the @carbon/ibm-products (or @carbon/ibm-cloud-cognitive)
package are you using?

Latest

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?

N/A
Steps to reproduce the issue
This behavior can be reproduced in our storybook, see story for editable cells

This appears to only be an issue in Carbon v11 so don't think we need a v1 PR for this one.


allow for snapshot agent installation and configuration

to have this playbook enable the consul snapshot agent, set consul_snapshot to true and other configurations to your need
such as snapshot dir location
snapshot interval
retention policy
etc
tested and works with TLS enabled and disabled

Thanks!


Strange error message on live server

Hi and thanks for nice and useful plugin. I have faced such error on my AWS endpoint

TypeError: Cannot read property 'Plaintext' of null at Response.kms.decrypt

Below please see the full stack trace.
at Response.kms.decrypt (/var/task/node_modules/serverless-crypt/dists/slscrypt/index.js:19:21)
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:360:18)
at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:678:14)
at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:680:12)
at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:678:14)
at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:680:12)
at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
at callNextListener (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:95:12)
at Request.RESET_RETRY_STATE (/var/task/node_modules/aws-sdk/lib/event_listeners.js:426:9)
at Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:101:18)
at Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:678:14)
at Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/task/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)

I did everything as described in read me file and it works fine on my local server .
Anyone can help with this ? Thanks in advance .

I just forgot to attach IAM policy, closing this thank you.


add init container - [closed]

In GitLab by @liyanq528 on Sep 18, 2019, 08:05
Merges add-init-container -> dev

In GitLab by @wknet123 on Nov 13, 2019, 11:48
The test coverage for backend is 16.7%  37.96%  , check  console log

In GitLab by @wknet123 on Nov 13, 2019, 11:48
closed