multi language support system added

Fixes: #82
https://github.com/user-attachments/assets/97eda078-b87e-4132-8926-94e8ee0212da
multi language support system done , there are total 16 languages I have implemented.

@vanshchauhan21 resolve conflicts button is not showing for me. can you brother plz say what to do?


Error response object is undefined

#### Summary
Hello,
I am making an API HTTP request using axios but i don't get an error object in response. The response for the error comes as undefined and I only get the instance of an error object if I console.log(error).
I have followed the same pattern for error handling which is in the documentation.
Here is the screenshot of the console showing only the instance of error when I do console.log(error).

Here is another screenshot showing error.response as undefined.

I have 404 as status code also the response body is in the image below.

axios version: v0.16.1
Environment: node v7.7.4, chrome 58, macOS Sierra

I have the same problem. Did something change?

Hey had this happen to me, the issue is that the api on what a rejected promise returns has changed. Before you did something like this
.catch( (response ) => {
  console.log(response.data.errors)
})

but now you have to do something like this
.catch(  (error) => {
  const response = error.response
  console.log(response.data.errors)
})

I had bumped from something pre v0.10.0 to v0.16.1

I'm having the exact same issue.

Thanks @tyleriguchi and @graysonlangford for the help. And yes the CORS header wasn't present for the response code.

This is maybe related...
It happens to me that on authenticated (value is set in store.getters.authToken), if I add extra data to axios.interceptors.request, I get the error.
// axios-config.js
import Vue from 'vue'
import axios from 'axios'
import store from '~/store'
import router from '~/router'

axios.interceptors.request.use(request => {
  if (store.getters.authToken) {
    request.headers.common['Authorization'] = `Bearer ${store.getters.authToken}`
  }

  request.data.locale = store.getters.locale // <- EXTRA DATA ATTACHED

  return request
})

// store/auth.js
// . . .
async fetchUser ({ commit }) {
    try {
      const { data } = await axios.get('/user/current') //  <-- I GET THE ERROR HERE

      commit(types.FETCH_USER_SUCCESS, { user: data })
    } catch (e) {
      console.error(e)
      commit(types.FETCH_USER_FAILURE)
    }
  },

For non successful login it works fine all. I get this error only there (when I try to get the current user). And is gone if I remove the extra data from the interceptors.
So, my problem is then the authToken is set.

I ended up to use cookies to get the locale value in my back-end, but... I don't understand why this happens.

For me the thrown error actually was not undefined, it just looked like that in Chrome's dev tools. (Not sure why but if anyone figures it out, please let me know)


limesuite  and   gr-limesdr

I have  lime sdr  mini  v1      purchased probably   2018/2019      and  am trying to use  with   fedora  fc39
Fedora     version  GNU Radio Companion <IP_ADDRESS>    I am unable to compile  gr-limesdr  for compatibility
Also had compile error  on  LimeSuite   --  workaround
edit file and add        #include
/usr/local/src/LimeSuite/src/lms7002m_mcu/MCU_File.cpp
Had  ABI  error   trying to start  gqrx   as  it  expects
/usr/local/lib64/libSoapy.so.0.8     instead of   /usr/local/lib64/libSoapy.so.0.8-3
tried to start gqrx  by modifying  the symbolic  link  but  it  doestn't  seem to  work
Initially  I  used    export SOAPY_SDR_PLUGIN_PATH=/usr/local/lib64/SoapySDR/modules0.8-3
then tried without the -3
gqrx  starts  but   is not working
I just  noticed   LimeSuiteNG     and compiled  it.    But   no  sucess

/usr/local/src/LimeSuite/src/lms7002m_mcu/MCU_File.cpp
had  to  add   #include


Ubuntu install steps mention 'libcurl-dev' but it doesn't exist

it seems like there is no longer a package called 'libcurl-dev'.  I've seen this on Ubuntu 14.04 and 16.04.  Here is the error in 14.04:
jay@jay-VirtualBox14:~$ sudo apt-get install build-essential libopencv-dev libboost1.55-all-dev libcurl-dev uuid-dev cmake
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libcurl-dev is a virtual package provided by:
  libcurl4-openssl-dev 7.35.0-1ubuntu2.10
  libcurl4-nss-dev 7.35.0-1ubuntu2.10
  libcurl4-gnutls-dev 7.35.0-1ubuntu2.10
You should explicitly select one to install.

E: Package 'libcurl-dev' has no installation candidate

What is the correct package to use?

libcurl4-openssl-dev

Is there any reasoning behind that?  I think that the libcurl-dev dependency should be removed from the steps because it compiles and runs without it.


Value range propagation.

@bhelyer @deadalnix  I can see some code for this in libd/src/d/semantic/vrp.d . Is this based on Jason Patterson's method or it is dominator tree based approach ? In which files this is used for simplification ? Is CTFE a probable candidate ?

I'm not sure what you mean. VRP is used when casting from an integral type to a smaller integral type. It is allowed in D if VRP can prove it is safe. It is called from caster.d as a fallback when regular integral cast fails.
vrp.d is very ad hoc right now, and could win from some improvement.
VRP here doesn't need to take into account flow analysis (that would make the front too slow) and is just exploring the expression tree and gathering possible value ranges.
VRP is also used by the optimizer, and take flow analysis into account, but this is the optimizer's job and is done by LLVM, not the frontend.

@deadalnix Ok I understand what you mean by VRP is used for check before casting.
As you pointed out correctly , compiler optimization VRP and for that matter I am referring very old but useful work http://www.lighterra.com/papers/valuerangeprop/Patterson1995-ValueRangeProp.ps.gz
It is more aggressive than constant propagation. LLVM has implementation for that but not in upstream compiler , it maintained separately by some research group ( as I recall ).
For the purpose of SDC what are some performance improvement ? Do you have any other reference implementation ( any other language) to compare with ?


[MB-7724] Eslint-plugin-ato checks for eslint-disable-line usage

Description
Eslint-plugin-ato checks for eslint-disable-line usage and asks the developer to use eslint-disable-next-line instead
Setup
In .eslintrc.js
Change 'ato/no-unapproved-annotation': 'off', to 'ato/no-unapproved-annotation': 'error',
Add const test = 'test'; // eslint-disable-line no-unused-vars to any file not in the scenes or shared direcotry
yarn run lint
Expected result: There should be a lint error
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

I'm only seeing the "this needs annotation" error and not the inline disable rule. I might be doing something wrong. . .

Yup, I was doing something wrong.  I needed to remove node_modules and then yarn install to register the changes to the code.  Everything checks out and I see both errors


perf: upgrade the azure cli version to v2

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 29.33%. Comparing base (d4c6d46) to head (dd6770b).

Additional details and impacted files

@@           Coverage Diff           @@
##              dev     #162   +/-   ##
=======================================
  Coverage   29.33%   29.33%
=======================================
  Files          70       70
  Lines        4305     4305
  Branches       88       88
=======================================
  Hits         1263     1263
  Misses       3042     3042

yes


Adding stats on mongodb

Coverage remained the same at 93.53% when pulling f9f7b9ff4bcbdc5420c4ac181f0c37ee9f9d8a9d on matiaspando:feat/stats2 into 9741b9f6908c26f95052c0aebaa554ac173a2a5b on bitpay:master.


Integrate Raygun or some monitoring service that is cheaper than New Relic

This is for Heighliner. @delianides let me know if you need help with this.

Not for launch right?
Drew Delianides
Web Developer, NewSpring Church
847-345-5404
http://newspring.cc
On Wed, Feb 24, 2016 at 7:30 PM -0800, "James Baxley"<EMAIL_ADDRESS>wrote:
This is for Heighliner. @delianides let me know if you need help with this.
—
Reply to this email directly or view it on GitHub.

@delianides I've set this up for heighliner and for apollos. It doesn't give us as much performance monitoring as new relic does for server timelines, however it is WAY better for client timelines. I'm not sure Raygun can 100% replace new relic but I have a 30 day trial so we can evaluate it

Lets see how it does for the next few days and evaluate it before closing this

we ended up paying for new relic


Infinite scrolling

I'm submitting a feature request
[ ] bug report => search github for a similar issue or PR before submitting
[x] feature request
[ ] support request => Please do not submit support request here

Current behavior

Expected behavior

Reproduction of the problem

What is the motivation / use case for changing the behavior?
When pulling data from an API, it'd be beneficial to auto-load the data once the scrollbar is at a certain percentage. The user wouldn't have to click next for separate pages.
Please tell us about your environment:

Table version: 0.7.x

Angular version: 2.0.x

Browser: all

Language: all

Is this not pretty much addressed with this demo?
http://swimlane.github.io/ngx-datatable/#virtual-paging
I see there is a demo in the repo:
https://github.com/swimlane/ngx-datatable/blob/master/demo/paging/scrolling-server.component.ts
However, the scrolling-server demo perplexes me. It loads the next page not near the end of scrolling (~60%-90% scrolled down), but more like around 10-20% scrolled. Is that demo complete or still considered buggy?
I am personally a bit perplexed by the use of offset that seems to be used as if it's a page number. Is that the intended use of it?

In response to your questions:

Is this not pretty much addressed with this demo?

We implement virtual scrolling. This is when the scrollbar represents the total height of the content. Infinite scrolling is when the page represents a set fixed number of elements and upon hitting bottom it fetches the next result set injecting those content items into the existing page.

Is that demo complete or still considered buggy?

I would assume the implementation needs some TLC. I am using this style of virtual pagination in my application and not having any issues.

I am personally a bit perplexed by the use of (page) event's offset property that seems to be used as if it's a page number. Is that the intended use of it? It doesn't seem that offset represents the page number. I am kind of confused by that.

Offset is a 0 based number and represents the actual pagination I need to request to the server. The page is a 1 based number that reflects the actual ui position on the page. You can use these exclusive of each other to prefetch pages ahead of the actual page the user is on.

Offset is a 0 based number and represents the actual pagination I need to request to the server. The page is a 1 based number that reflects the actual ui position on the page. You can use these exclusive of each other to prefetch pages ahead of the actual page the user is on.

With the event.pageSize=7, the offset changes from 0 to 1 when I scroll down when the 8th row is fully shown. Almost like the description you gave for the ui position on the page instead of what I need to request from the server.
So, what do I look for to know to request the next 7 rows from the server? I can prefetch 14 rows (first 2 pages), but how will I know when the user is getting to close to the last few rows already pre-fetched.
I must admit that I dug into the code and did something slightly drastic to accomplish this. Feels like a leaky abstraction to me, but it works:
<ngx-datatable #table
        ...
        [scrollbarV]="true"
        (page)='onPage($event, table.bodyComponent.indexes)'>

Then, in component code:
currentlyLoadedPage = 0;
onPage(event: any, indexes: any) {
    // not precise, but close enough for now
    const totalShown = (this.currentlyLoadedPage + 1) * this.pageSize;
    const percentScrolled = indexes.last / (totalShown / 100);

    // pre-fetch the next page
    if (percentScrolled > 80) {
      this.currentlyLoadedPage++;
      this.addPage(this.currentlyLoadedPage);
    }
  }

Thanks for the tip, I've also sketched up a few thoughts in https://github.com/swimlane/ngx-datatable/pull/740#issuecomment-310806538. We don't have to rely on the hidden datatable API to accomplish this.

Hi guys
I noticed that in the demo on a desktop browser, then scrolling using the arrows, I get stuck on page 7 when trying to scrool back. Is this by design? So I reach end of data at page 8, and can scroll one page back to top of page seven. If this is a bug, then I can't use this mode in my current project where I need real pageless/infinite scrolling.
Thanks


iscsi: Support master and kubeconfig options to run iscsi provisioner locally

This patch supports master and kubeconfig options to run iscsi
provisioner locally.

/lgtm
/area iscsi/targetd


C# 6.0 string interpolation does not recognize the end of string

From @RaulOnk on August 4, 2016 21:47

VSCode Version: Code 1.4.0 (6276dcb0ae497766056b4c09ea75be1d76a8b679, 2016-08-04T16:45:31.680Z)
OS Version: Windows_NT ia32 10.0.10586

Steps to Reproduce:
When doing string interpolation everything greys out. For example
public void GreetName() => Console.WriteLine($"Hello {this.Name}");
will grey out everything under that method. It does not recognize where the string ended.
Copied from original issue: Microsoft/vscode#10146

From @RaulOnk on August 4, 2016 22:32
Yes and it compiled just fine. It is just visually not working and anything under that does not have auto complete.

@RaulOnk do you have the C# extension installed?

From @RaulOnk on August 4, 2016 22:33

Had a quick look at this one and the root cause is that highlighting regex stuff doesn't support expression bodied members from what I can tell.


add back in rpm -V for java rpms since now on 7.6 rhel; don't try to …

…install 'install' RPM
no stutter in this one

/assign @bparees

/lgtm
will manually merge if needed

hey e2e-gcp passed .... who helped fix that :-)


Align cache according to requirements, dataservice read.

If the user do not provide a default cache, SDK will create a default one.
Remove CreateDefaultCache from CatalogClient.h
Changed CatalogClientImpl class constructor to take settings by value.
Resolves: OLPEDGE-872, OLPEDGE-908
Signed-off-by: Mykhailo Kuchma<EMAIL_ADDRESS>

If the user do not provide a default cache, SDK will create a default one.
Remove CreateDefaultCache from CatalogClient.h
Changed CatalogClientImpl class constructor to take settings by value.
Resolves: OLPEDGE-872, OLPEDGE-908
Signed-off-by: Mykhailo Kuchma<EMAIL_ADDRESS>
You should place the OLPEDGE-908 into a newline in order to update the corresponding JIRA ticket automatically.


upcoming research spotlight, Bird

Zinc transporters belonging to the Cation Diffusion Facilitator (CDF) family have complementary roles in transporting zinc out of the cytosol.
PMID: 29529046
Originally published in Plos Genetics
https://journals.plos.org/plosgenetics/article?id=10.1371/journal.pgen.1007262
(waiting on GO,FYPO and PECO)

[ ] Also need to post compose the GO terms a little

This session is through so this research spotlight can go live.
I must learn  how to do this!

That went live yesterday.

note to self The  publication page is blank
https://www.pombase.org/reference/29529046
although I thought I approved it before the shut down, it maybe did.'t make the data load.

I'll investigate that once oliver1 is back online.

note to self The publication page is blank
https://www.pombase.org/reference/29529046

I checked now that we have a fresh load and that page is still Sad Pombe.
But it turns out that the publication is in the main site and the link in the Spotlight was wrong.  I was able to check in a fix to the config file in SVN while logged in to oliver1 directly.  I still can't access pombe-embl externally though.


Additional ROVpp System Test Graphs

This is a set of graphs for the additional suggested system tests from Dr. Wang.

This does not work

All the test and checks are passing now

finally all clear!


tarps 2

WIP -- This changes the nature of tarp colorschemes to have more intuitive names and the ability to pull tailored foregrounds in various contexts.

welcome to the future

welcome to the future


2565: Consistent layout in search feedback

Short description
The space between the smiley and the comment is a bit large. Likewise between the question and the description
Proposed changes

I added a margin-top to the "div" at the bottom of the smiley and lowered the margin-top on the "div" with a description
Resolved issues

Fixes: #2565

@f1sh1918 this Ticket is already fixed in Main.
I undid my modification because this ticket is already fixed in Main


Setup instructions with apollo-boost?

Hi, I'm quite new to apollo and trying to get meteor accounts access setup through graphQL.
How do I go about using the latest apollo instructions in conjunction with this package?
import { ApolloServer, gql } from 'apollo-server-express'
import { WebApp } from 'meteor/webapp'
import { getUser } from 'meteor/apollo'

import typeDefs from './schema'
import resolvers from './resolvers'

const server = new ApolloServer({
  typeDefs,
  resolvers,
  context: async ({ req }) => ({
    user: await getUser(req.headers.authorization)
  })
})

server.applyMiddleware({
  app: WebApp.connectHandlers,
  path: '/graphql'
})

WebApp.connectHandlers.use('/graphql', (req, res) => {
  if (req.method === 'GET') {
    res.end()
  }
})

Ok I think i have the basics working.. hopefully this helps someone:
import { ApolloServer } from 'apollo-server-express'
import { WebApp } from 'meteor/webapp'
import { getUser } from 'meteor/apollo'
import {initAccounts} from 'meteor/nicolaslopezj:apollo-accounts'
import {loadSchema, getSchema} from 'graphql-loader'

import typeDefs from './schema'
import resolvers from './resolvers'

// Load all accounts related resolvers and type definitions into graphql-loader
initAccounts({
  loginWithFacebook: false,
  loginWithGoogle: true,
  loginWithLinkedIn: false,
  loginWithPassword: true
})

loadSchema({typeDefs, resolvers})
const AuthSchema = getSchema()

const server = new ApolloServer({
  typeDefs: [...typeDefs, AuthSchema.typeDefs],
  resolvers: [resolvers, AuthSchema.resolvers],
  context: async ({ req }) => ({
    user: await getUser(req.headers.authorization)
  })
})

server.applyMiddleware({
  app: WebApp.connectHandlers,
  path: '/graphql'
})

WebApp.connectHandlers.use('/graphql', (req, res) => {
  if (req.method === 'GET') {
    res.end()
  }
})


[BUG] Current transaction contains open cursors. Close cursors before run Commit() in 5.0.19

Version: LiteDB v5.0.19
Describe the bug
When processing through records to delete oldest, the following error is thrown:
Current transaction contains open cursors. Close cursors before run Commit()
Code to Reproduce
using (var db = new LiteDatabase(connSharedReadWrite))
{
    // .... set min/max records and step
    long min=0, max=10000000;
    int step = 10000;
    long recordsToDelete = 250000;
    long recordsDeleted = 0;

    // Process
    while (min < max)
    {
        //Process each step..
        foreach (DbObject item in col.Find(Query.All("ObjectDateTime", Query.Ascending)).Skip(0).Take(step).ToArray())
        {
            //Delete Record
            col.Delete(BsonMapper.Global.Serialize(item)["_id"]);

            recordsDeleted+=1;
            if (recordsDeleted >= recordsToDelete)
                break;
        }

        if (recordsDeleted >= recordsToDelete)
            break;

        //Update position
        min += step;
    }
}

Expected behavior
In v5.018 and lower, this functions as expected and deletes records.

It seems like the same issue as in #2440 and #2435 , #2436 change fixed it for us

Thank you for reporting this issue.
This issue has been resolved in the latest version of LiteDB.
Please update to the latest version of LiteDB to resolve this issue.
If the issue persists, please let us know.


[VM] secret format should print warning message when used with -o table / -o tsv

Is your feature request related to a problem? Please describe.
vm secret format's primary purpose is to generate json output for vm create --secret
Describe the solution you'd like
It would be good to inform the user that the command is intended to be used with json output.
See #7260

It seems you could also try erroring out if the user supplied an unsupported format or forcing output to JSON and issuing a warning that the output field is being overriden. You should not just have a chatty message that the command expects --o json.


ERROR    lxc_start - start.c:start:1439 - No such file or directory - failed to exec /sbin/init

os: ubuntu 14.04.1
kernel: 4.4.0-38-generic
$ lxc start causal-elk
error: Error calling 'lxd forkstart causal-elk /var/lib/lxd/containers /var/log/lxd/causal-elk/lxc.conf': err='exit status 1'
  lxc<PHONE_NUMBER>3307.005 ERROR lxc_start - start.c:start:1439 - No such file or directory - failed to exec /sbin/init
  lxc<PHONE_NUMBER>3307.005 ERROR lxc_sync - sync.c:__sync_wait:57 - An error occurred in another process (expected sequence number 5)
  lxc<PHONE_NUMBER>3307.005 ERROR lxc_start - start.c:__lxc_start:1354 - failed to spawn 'causal-elk'
  lxc<PHONE_NUMBER>3307.523 ERROR lxc_conf - conf.c:run_buffer:347 - Script exited with status 1
  lxc<PHONE_NUMBER>3307.523 ERROR lxc_start - start.c:lxc_fini:555 - failed to run post-stop hooks for container 'causal-elk'.

debug info
$ lxc info --show-log causal-elk
Name: causal-elk
Architecture: x86_64
Created: 2016/09/28 09:44 UTC
Status: Stopped
Type: persistent
Profiles: default

Log:

            lxc<PHONE_NUMBER>3256.696 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 3
            lxc<PHONE_NUMBER>3256.696 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 7
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_container - lxccontainer.c:do_lxcapi_start:797 - Attempting to set proc title to [lxc monitor] /var/lib/lxd/containers causal-elk
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 7
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_lsm - lsm/lsm.c:lsm_init:48 - LSM security driver AppArmor
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: ..
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for  action 0
            lxc<PHONE_NUMBER>3256.711 WARN     lxc_seccomp - seccomp.c:do_resolve_add_rule:228 - Seccomp: failed to resolve syscall:
            lxc<PHONE_NUMBER>3256.711 WARN     lxc_seccomp - seccomp.c:do_resolve_add_rule:229 - This syscall will NOT be blacklisted
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for  action 0
            lxc<PHONE_NUMBER>3256.711 WARN     lxc_seccomp - seccomp.c:do_resolve_add_rule:228 - Seccomp: failed to resolve syscall:
            lxc<PHONE_NUMBER>3256.711 WARN     lxc_seccomp - seccomp.c:do_resolve_add_rule:229 - This syscall will NOT be blacklisted
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .reject_force_umount  # comment this to allow umount -f;  not recommended.
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for reject_force_umount action 0
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:do_resolve_add_rule:216 - Setting seccomp rule to reject force umounts

            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for reject_force_umount action 0
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:do_resolve_add_rule:216 - Setting seccomp rule to reject force umounts

            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .[all].
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .kexec_load errno 38.
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for kexec_load action 327718
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for kexec_load action 327718
            lxc<PHONE_NUMBER>3256.711 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .open_by_handle_at errno 38.
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for open_by_handle_at action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for open_by_handle_at action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .init_module errno 38.
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for init_module action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for init_module action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .finit_module errno 38.
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for finit_module action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for finit_module action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:342 - processing: .delete_module errno 38.
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:446 - Adding native rule for delete_module action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:449 - Adding compat rule for delete_module action 327718
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_seccomp - seccomp.c:parse_config_v2:456 - Merging in the compat seccomp ctx into the main one
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/bin/lxd callhook /var/lib/lxd 36 start' for container 'causal-elk', config section 'lxc'
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 3
            lxc<PHONE_NUMBER>3256.712 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 7
            lxc<PHONE_NUMBER>3256.713 INFO     lxc_monitor - monitor.c:lxc_monitor_sock_name:178 - using monitor sock name lxc/d78a9d7e97b4b375//var/lib/lxd/containers
            lxc<PHONE_NUMBER>3306.874 DEBUG    lxc_start - start.c:setup_signal_fd:290 - sigchild handler set
            lxc<PHONE_NUMBER>3306.874 DEBUG    lxc_console - console.c:lxc_console_peer_default:469 - no console peer
            lxc<PHONE_NUMBER>3306.874 INFO     lxc_start - start.c:lxc_init:489 - 'causal-elk' is initialized
            lxc<PHONE_NUMBER>3306.874 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3306.874 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3306.874 DEBUG    lxc_start - start.c:__lxc_start:1327 - Not dropping cap_sys_boot or watching utmp
            lxc<PHONE_NUMBER>3306.874 INFO     lxc_start - start.c:resolve_clone_flags:1014 - Cloning a new user namespace
            lxc<PHONE_NUMBER>3306.876 DEBUG    lxc_conf - conf.c:instantiate_veth:2615 - instantiated veth 'veth7VVTWJ/vethTK6IPX', index is '20'
            lxc<PHONE_NUMBER>3306.876 INFO     lxc_cgroup - cgroups/cgroup.c:cgroup_init:68 - cgroup driver cgroupfs-ng initing for causal-elk
            lxc<PHONE_NUMBER>3306.932 DEBUG    lxc_conf - conf.c:lxc_assign_network:3058 - move 'eth0' to '13891'
            lxc<PHONE_NUMBER>3306.932 NOTICE   lxc_start - start.c:do_start:778 - switching to gid/uid 0/0 in new user namespace
            lxc<PHONE_NUMBER>3306.932 DEBUG    lxc_conf - conf.c:setup_rootfs:1215 - mounted '/var/lib/lxd/containers/causal-elk/rootfs' on '/usr/lib/x86_64-linux-gnu/lxc'
            lxc<PHONE_NUMBER>3306.932 INFO     lxc_conf - conf.c:setup_utsname:843 - 'causal-elk' hostname has been setup
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:setup_hw_addr:2146 - mac address '00:16:3e:0c:1c:42' on 'eth0' has been setup
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:setup_netdev:2373 - 'eth0' has been setup
            lxc<PHONE_NUMBER>3306.948 INFO     lxc_conf - conf.c:setup_network:2394 - network has been setup
            lxc<PHONE_NUMBER>3306.948 INFO     lxc_conf - conf.c:mount_autodev:1072 - Mounting container /dev
            lxc<PHONE_NUMBER>3306.948 INFO     lxc_conf - conf.c:mount_autodev:1095 - Mounted tmpfs onto /usr/lib/x86_64-linux-gnu/lxc/dev
            lxc<PHONE_NUMBER>3306.948 INFO     lxc_conf - conf.c:mount_autodev:1113 - Mounted container /dev
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /dev/fuse on /usr/lib/x86_64-linux-gnu/lxc/dev/fuse to respect bind or remount options
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /dev/fuse was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 4096, skipping remount
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/dev/fuse' on '/usr/lib/x86_64-linux-gnu/lxc/dev/fuse', type 'none'
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /dev/net/tun on /usr/lib/x86_64-linux-gnu/lxc/dev/net/tun to respect bind or remount options
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /dev/net/tun was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 4096, skipping remount
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/dev/net/tun' on '/usr/lib/x86_64-linux-gnu/lxc/dev/net/tun', type 'none'
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /proc/sys/fs/binfmt_misc on /usr/lib/x86_64-linux-gnu/lxc/proc/sys/fs/binfmt_misc to respect bind or remount options
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /proc/sys/fs/binfmt_misc was 4110, required extra flags are 14
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/proc/sys/fs/binfmt_misc' on '/usr/lib/x86_64-linux-gnu/lxc/proc/sys/fs/binfmt_misc', type 'none'
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/firmware/efi/efivars on /usr/lib/x86_64-linux-gnu/lxc/sys/firmware/efi/efivars to respect bind or remount options
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/firmware/efi/efivars was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/firmware/efi/efivars' on '/usr/lib/x86_64-linux-gnu/lxc/sys/firmware/efi/efivars', type 'none'
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/fs/fuse/connections on /usr/lib/x86_64-linux-gnu/lxc/sys/fs/fuse/connections to respect bind or remount options
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/fs/fuse/connections was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/fs/fuse/connections' on '/usr/lib/x86_64-linux-gnu/lxc/sys/fs/fuse/connections', type 'none'
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/fs/pstore on /usr/lib/x86_64-linux-gnu/lxc/sys/fs/pstore to respect bind or remount options
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/fs/pstore was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>3306.948 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/fs/pstore' on '/usr/lib/x86_64-linux-gnu/lxc/sys/fs/pstore', type 'none'
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/kernel/debug on /usr/lib/x86_64-linux-gnu/lxc/sys/kernel/debug to respect bind or remount options
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/kernel/debug was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/kernel/debug' on '/usr/lib/x86_64-linux-gnu/lxc/sys/kernel/debug', type 'none'
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/kernel/security on /usr/lib/x86_64-linux-gnu/lxc/sys/kernel/security to respect bind or remount options
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/kernel/security was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/kernel/security' on '/usr/lib/x86_64-linux-gnu/lxc/sys/kernel/security', type 'none'
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /var/lib/lxd/devlxd on /usr/lib/x86_64-linux-gnu/lxc/dev/lxd to respect bind or remount options
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /var/lib/lxd/devlxd was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 4096, skipping remount
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/var/lib/lxd/devlxd' on '/usr/lib/x86_64-linux-gnu/lxc/dev/lxd', type 'none'
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /var/lib/lxd/shmounts/causal-elk on /usr/lib/x86_64-linux-gnu/lxc/dev/.lxd-mounts to respect bind or remount options
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /var/lib/lxd/shmounts/causal-elk was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 4096, skipping remount
            lxc<PHONE_NUMBER>3306.949 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/var/lib/lxd/shmounts/causal-elk' on '/usr/lib/x86_64-linux-gnu/lxc/dev/.lxd-mounts', type 'none'
            lxc<PHONE_NUMBER>3306.949 INFO     lxc_conf - conf.c:mount_file_entries:1927 - mount points have been setup
            lxc<PHONE_NUMBER>3306.949 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/share/lxcfs/lxc.mount.hook' for container 'causal-elk', config section 'lxc'
            lxc<PHONE_NUMBER>3306.986 INFO     lxc_conf - conf.c:fill_autodev:1141 - Creating initial consoles under container /dev
            lxc<PHONE_NUMBER>3306.986 INFO     lxc_conf - conf.c:fill_autodev:1152 - Populating container /dev
            lxc<PHONE_NUMBER>3306.986 INFO     lxc_conf - conf.c:fill_autodev:1189 - Populated container /dev
            lxc<PHONE_NUMBER>3306.986 INFO     lxc_conf - conf.c:setup_dev_console:1437 - console has been setup
            lxc<PHONE_NUMBER>3306.986 INFO     lxc_utils - utils.c:mount_proc_if_needed:1726 - I am 1, /proc/self points to '1'
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_rootfs_pivot_root:1050 - pivot_root syscall to '/usr/lib/x86_64-linux-gnu/lxc' successful
            lxc<PHONE_NUMBER>3307.004 INFO     lxc_conf - conf.c:setup_tty:995 - 0 tty(s) has been setup
            lxc<PHONE_NUMBER>3307.004 INFO     lxc_conf - conf.c:setup_personality:1393 - set personality to '0x0'
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'mac_admin' (33)
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'mac_override' (32)
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'sys_time' (25)
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'sys_module' (16)
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'sys_rawio' (17)
            lxc<PHONE_NUMBER>3307.004 DEBUG    lxc_conf - conf.c:setup_caps:2066 - capabilities have been setup
            lxc<PHONE_NUMBER>3307.004 NOTICE   lxc_conf - conf.c:lxc_setup:3850 - 'causal-elk' is setup.
            lxc<PHONE_NUMBER>3307.004 INFO     lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:238 - changed apparmor profile to lxd-causal-elk_</var/lib/lxd>
            lxc<PHONE_NUMBER>3307.005 NOTICE   lxc_start - start.c:start:1436 - exec'ing '/sbin/init'
            lxc<PHONE_NUMBER>3307.005 ERROR    lxc_start - start.c:start:1439 - No such file or directory - failed to exec /sbin/init
            lxc<PHONE_NUMBER>3307.005 ERROR    lxc_sync - sync.c:__sync_wait:57 - An error occurred in another process (expected sequence number 5)
            lxc<PHONE_NUMBER>3307.005 ERROR    lxc_start - start.c:__lxc_start:1354 - failed to spawn 'causal-elk'
            lxc<PHONE_NUMBER>3307.005 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/share/lxcfs/lxc.reboot.hook' for container 'causal-elk', config section 'lxc'
            lxc<PHONE_NUMBER>3307.514 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/bin/lxd callhook /var/lib/lxd 36 stop' for container 'causal-elk', config section 'lxc'
            lxc<PHONE_NUMBER>3307.523 ERROR    lxc_conf - conf.c:run_buffer:347 - Script exited with status 1
            lxc<PHONE_NUMBER>3307.523 ERROR    lxc_start - start.c:lxc_fini:555 - failed to run post-stop hooks for container 'causal-elk'.
            lxc<PHONE_NUMBER>3307.523 WARN     lxc_commands - commands.c:lxc_cmd_rsp_recv:172 - command get_cgroup failed to receive response
            lxc<PHONE_NUMBER>3307.523 WARN     lxc_commands - commands.c:lxc_cmd_rsp_recv:172 - command get_cgroup failed to receive response
            lxc<PHONE_NUMBER>3322.678 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3322.678 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3403.389 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3403.389 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3403.393 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 231072 range 65536
            lxc<PHONE_NUMBER>3403.393 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 231072 range 65536

I don't know what happens, or it is my operation fault,thanks.

Please include all the information requested in the bug reporting template. Especially important in this case is the output of "lxc info" (without any argument).

this is lxc info
$ lxc info causal-elk
Name: causal-elk
Architecture: x86_64
Created: 2016/09/28 09:44 UTC
Status: Stopped
Type: persistent
Profiles: default

the image is my Integrated image,which is my configrution.
metadata.yaml
$ cat metadata.yaml
architecture: "x86_64"
creation_date:<PHONE_NUMBER>
properties:
    architecture: "x86_64"
    description: "Ubuntu 14.04 LTS server (20160809.1)"
    os: "ubuntu"
    release: "trusty"
templates:
    /var/lib/cloud/seed/nocloud-net/meta-data:
        when:
            - create
            - copy
        template: cloud-init-meta.tpl
    /var/lib/cloud/seed/nocloud-net/user-data:
        when:
            - create
            - copy
        template: cloud-init-user.tpl
        properties:
            default: |
                #cloud-config
                {}
    /var/lib/cloud/seed/nocloud-net/vendor-data:
        when:
            - create
            - copy
        template: cloud-init-vendor.tpl
        properties:
            default: |
                #cloud-config
                {}
    /etc/network/interfaces.d/eth0.cfg:
        when:
            - create
        template: interfaces.tpl
    /etc/init/console.override:
        when:
            - create
        template: upstart-override.tpl
    /etc/init/tty1.override:
        when:
            - create
        template: upstart-override.tpl
    /etc/init/tty2.override:
        when:
            - create
        template: upstart-override.tpl
    /etc/init/tty3.override:
        when:
            - create
        template: upstart-override.tpl
    /etc/init/tty4.override:
        when:
            - create
        template: upstart-override.tpl

this is template directory,sorry,it copyed by a running lxd container, so like other running containers, and the rootfs/ comes from the running container and tared by myselftar ..., maybe it is my fault that is a wrong way to import  an iamge.Thanks

Closing this issue as the reporter is repeatedly not providing the required information.
The best guess for the error is an old version of LXD that's got the old zfs backend code, combined with the random unmounts caused by ZFS. LXD 2.0.4 or higher would fix this.

Sorry, this is my fault, because when I use tar starting with a directory rootfs, but  /(/bin /etc ...) , so ... ,Thank a lot. @stgraber


Confirm Django 2.2 support.

Ping @rpkilby. Could this PR be reviewed? We are planning to use Python 3.7 and Django 2.2, and it'd be  helpful to know this package is being tested in that configuration.

The only changes are to CI & packaging, so that implies the code is compatible with Django 2.2 and Python 3.7.
I haven't merged because there are a few packaging changes that I don't want to accept. Also, I'm planning on switching to Circle CI, which will obsolete this PR.

This has been resolved on master.


Separate Cargo profiles for server & client

De-scoped. With the workspace support, server and front projects can be two different packages allowing to use different profiles.


Getting `to_json': wrong argument type when running vagrant up

I get an error `to_json': wrong argument type when running vagrant up using the vagrant-aws plugin.
It occurs immediate after the 'VPC tenancy specification: default' line
Despite this error, the plugin does successful create an instance on EC2.
Versions:
Mac OS X 10.11.4 (15E65)
Vagrant 1.8.1
vagrant-aws 0.7.0

Debug Output:
==> origin:  -- VPC tenancy specification: default
 INFO machine: New machine ID: "i-388153b4"
ERROR warden: Error occurred: wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State)
 INFO warden: Beginning recovery process...
 INFO warden: Calling recover: #<VagrantPlugins::AWS::Action::RunInstance:0x0000010427ab00>
 INFO machine: Calling action: read_state on provider AWS (new)
 INFO interface: Machine: action ["read_state", "start", {:target=>:origin}]
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: machine_action_read_state #<Vagrant::Action::Builder:0x00000102908118>
 INFO warden: Calling IN action: #<Vagrant::Action::Builtin::ConfigValidate:0x00000102900a80>
 INFO warden: Calling IN action: #<VagrantPlugins::AWS::Action::ConnectAWS:0x00000102900a58>
 INFO connect_aws: Connecting to AWS...
 INFO warden: Calling IN action: #<VagrantPlugins::AWS::Action::ReadState:0x00000101d450b0>
 INFO warden: Calling OUT action: #<VagrantPlugins::AWS::Action::ReadState:0x00000101d450b0>
 INFO warden: Calling OUT action: #<VagrantPlugins::AWS::Action::ConnectAWS:0x00000102900a58>
 INFO warden: Calling OUT action: #<Vagrant::Action::Builtin::ConfigValidate:0x00000102900a80>
 INFO interface: Machine: action ["read_state", "end", {:target=>:origin}]
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
ERROR warden: Error occurred: wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State)
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
ERROR warden: Error occurred: wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State)
 INFO warden: Beginning recovery process...
 INFO warden: Calling recover: #<Vagrant::Action::Builtin::Call:0x000001049ea3b8>
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO environment: Released process lock: machine-action-eb1b08e8ee7bf929ee591291ccbb4fb7
 INFO environment: Running hook: environment_unload
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_unload #<Vagrant::Action::Builder:0x00000100e9f718>
/Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:366:in `to_json': wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State) (TypeError)
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:366:in `block in json_transform'
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:359:in `each'
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:359:in `json_transform'
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:341:in `to_json'
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:293:in `generate'
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/common.rb:223:in `generate'
	from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/common.rb:394:in `dump'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:310:in `block in unlocked_save'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:309:in `open'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:309:in `open'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:309:in `unlocked_save'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:227:in `block (2 levels) in set'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:323:in `block in with_index_lock'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:321:in `open'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:321:in `with_index_lock'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:192:in `block in set'
	from /opt/vagrant/embedded/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:191:in `set'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:318:in `id='
	from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/run_instance.rb:130:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/elb_register_instance.rb:16:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/warn_networks.rb:14:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/synced_folders.rb:87:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/provision.rb:80:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/connect_aws.rb:43:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:224:in `action_raw'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:199:in `block in action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/environment.rb:561:in `lock'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:185:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:185:in `action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'

I have created a vagrant-aws test project on github which can reproduce the issue if anyone would like to test it.
https://github.com/paulmaunders/vagrant-aws-test

I am facing same issue.
==> web1:  -- VPC tenancy specification: default
/VM/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:366:in `to_json': wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State) (TypeError)

The issue is, even though vm is successfully created, the provisioning step does not happen.


Update about-me.mdx

Bunnyshell created the Environment github-emilia-1 / qademosp-patch-1:master / PR-3 for PR #3:


Fix mixer_remove_event identity matching

This allows mixer events to use a single callback function with multiple contexts.
Previously, if the same callback was added multiple times with different contexts, attempting to remove a specific event context would only remove the first entry (for that callback) in the event list, which may not actually be the entry associated with the context provided.
This is especially problematic in C++ where:

GCC's nested function syntax is not available
C++ Lambdas require lifecycle management for asynchronous callbacks
std::function is not compatible with function pointers
Trampolines are the easiest way to interact with C-style APIs

This is not an API change, but is definitely a behavior change that may cause breakage, however I consider the old behavior to be a bug. The API implies that the identifying values of an event should be both the callback and the context, otherwise there would be no point in providing the context to mixer_remove_event.
@rasky

The only existing usage of this function is unaffected by this change: https://github.com/DragonMinded/libdragon/blob/63ee2dceb5e0cc25f93e7c5c8709372eff5a1240/src/audio/xm64.c#L237
My hope is that the mixer still too new for a change like this to have significant impact to the community, and that this change has such overwhelming benefits that it's worth adopting.

This change looks correct and necessary to me as well. Though might be nice to hear @rasky s opinion as well. Another idea: we can remove all listeners if the provided ctx is NULL

Yes I agree it is just a bug. Also the way it is used in xm64.c implies that the expected behavior is the one fixed in this PR. Thanks!


templates: Avoid confusing Mustache-style conditionals

Extracted from #32426, but seems like a clear readability improvement regardless.

Merged, thanks @andersk!


Starter Bootstrap ignores config discovery from application.yml

Hello Spring Cloud Config Team,
I have recently been making changes to a personal project, I have updated to the spring cloud version 2020.0.0 (with the spring-cloud-config-dependencies 3.0.1 fixes) and I am also modifying the configurations to use discovery first. I have a config server (port 8889) and a eureka server that we are going to assume well configured and they register correctly. I also have a client service with the following configuration and dependencies:
application.yml
spring:
  application:
    name: client-service
  cloud:
    config:
      discovery:
        enabled: true
        service-id: config-server
      username: user
      password: 1234
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

pom.xml
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-sleuth-zipkin</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>

  <!-- ... Test Dependencies, Mapstruct and Lombok -->

</dependencies>

<dependencyManagement>
  <dependencies>
    <!-- Temp Fix, see https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes#known-issues -->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-dependencies</artifactId>
      <version>3.0.1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>${spring-cloud.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

With this configuration the client tries to connect to http: // localhost: 8888 and debugging the start you can see this:
Condition OnPropertyCondition on org.springframework.cloud.netflix.eureka.config.EurekaConfigServerBootstrapConfiguration did not match due to @ConditionalOnProperty (spring.cloud.config.discovery.enabled) did not find property 'spring.cloud.config.discovery.enabled'

However if I rename the application.yml to bootstrap.yml it works fine, and the application ends up configured with the properties from config server. From what I understand in the documentation the new spring-cloud-starter-bootstrap replaces the need for the bootstrap.yml, right? or should some things still go there?
Thank you very much for the great job you do.

If you have the bootstrap starter it needs to be in bootstrap.yml

If you have the bootstrap starter it needs to be in bootstrap.yml

Oh I am sorry, in that case I misunderstood the documentation. I understood that the new starter came to replace the bootstrapping including the bootstrap.yml file.
Thank you very much for the quick response and excuse me for the inconvenience.
The incident can be closed, regards.

Oh I am sorry, in that case I misunderstood the documentation. I understood that the new starter came to replace the bootstrapping including the bootstrap.yml file.
Thank you very much for the quick response and excuse me for the inconvenience.
The incident can be closed, regards.


Link errors when building without xwayland

Attempting to build Hyprland when wlroots does not have xwayland support enabled results in linker errors even when -DNO_XWAYLAND=true is set. I would expect that setting that flag completely ifdefs out the XWayland code but it doesn't. As it currently stands even if you try to disable XWayland support in hyprland you must have wlroots built with XWayland support and therefore you must have the xwayland dependencies installed even if you do not wish to use them.

NO_XWAYLAND only disables xwayland run-time. It does not ifdef it. True.


Check if shift is full when adding employees

Closes #138

Pull Request Test Coverage Report for Build 332

4 of 6 (66.67%) changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 91.664%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/ptman/logic/commands/ApplyCommand.java
0
2
0.0%

Totals

Change from base Build 331:
-0.05%

Covered Lines:
3024

Relevant Lines:
3299

💛  - Coveralls


chore: fix unit broken unit tests and CI not running them

R: @kara
CC: @crisbeto merging #1741 caused Travis to no longer run any unit tests. Because of that, we didn't notice that #1716 broke a bunch of unit tests.
This PR fixes the broken tests from #1716 and reverts #1741.


IO Implementation using Go CDK

Extends PR #111
Implements #92. The Go CDK has well-maintained implementations for accessing objects stores from S3, Azure, and GCS via a io/fs.Fs-like interface. However, their file interface doesn't support the io.ReaderAt interface or the Seek() function that Iceberg-Go requires for files. Furthermore, the File components are private. So we copied the wrappers and implement the remaining functions inside of Iceberg-Go directly.
In addition, we add support for S3 Read IO using the CDK, providing the option to choose between the existing and new implementation using an extra property.
GCS connection options can be passed in properties map.

@dwilson1988 I saw your note about wanting to work on the CDK features, if you're able to provide some feedback that would be great.

@loicalleyne - happy to take a look. We use this internally in some of our software with Parquet and implemented a ReaderAt.  I'll do a more thorough review when I get a chance, but my first thought was to leave it completely separate from the blob.Bucket implementation and let the Create/New funcs simple accept a *blob.Bucket and leave the rest as an exercise to the user. This keeps it more or less completely isolated from the implementation. Thoughts on this direction?

My goal today was just to "get something on paper" to move this forward since the other PR has been stalled since July, I used the other PR as a starting point so I mostly followed the existing patterns. Very open to moving things around if it makes sense. Do you have any idea how your idea would work with the  interfaces defined in io.go?

Understood! I'll dig into your last question and get back to you.

Okay, played around a bit and here's where my head is at.
The main reason I'd like to isolated the creation of a *blob.Bucket is I've found that the particular implementation of bucket access can get tricky and rather than support it in this package for all situations, support the most common usage in io.LoadFS/inferFileIOFromSchema and change io.CreateBlobFileIO to accept a *url.URL and a *blob.Bucket. This enables a user to open a bucket with whatever implementation they so choose (GCS, Azure, S3, MinIO, Mem, FileSystem, etc) and there's less code here to maintain.
What I came up with is changing CreateBlobFileIO to:
// CreateBlobFileIO creates a new BlobFileIO instance
func CreateBlobFileIO(parsed *url.URL, bucket *blob.Bucket) (*BlobFileIO, error) {
	ctx := context.Background()
	return &BlobFileIO{Bucket: bucket, ctx: ctx, opts: &blob.ReaderOptions{}, prefix: parsed.Host + parsed.Path}, nil
}

The URL is still critical there, but now we don't have to concern ourselves with credentials to open the bucket except for in LoadFS.
Thoughts on this?

@dwilson1988
Sounds good, I've made the changes, please take a look.

@loicalleyne is this still on your radar?

hi @dwilson1988
yes, I'm wrapping up some work on another project and will be jumping back on this in a day or two.

Cool - just checking. I'll be patient. 🙂

@dwilson1988 made the suggested changes, there's a deprecation warning on the S3 config EndpointResolver methods that I haven't had time to look into, maybe you could take a look?

Hi @dwilson1988, do you think you'll have time to take a look at this?

Hi @dwilson1988, do you think you'll have time to take a look at this?

I opened a PR on your branch earlier today

@zeroshade hoping you can review when you've got time.

I should be able to give this a review tomorrow or Friday. In the meantime can you resolve the conflict in the go.mod? Thanks!

@loicalleyne looks like the integration tests are failing, unable to read the manifest files from the minio instance.

I did some debugging by copying some of the test scenarios into a regular Go program (if anyone can tell me how to run Delve in VsCode on a test that uses testify please let me know), running the docker compose file  and manually running the commands in iceberg-go\.github\workflows\go-integration.yml (note: to point to the local Minio in Docker I had to run export AWS_S3_ENDPOINT=http://<IP_ADDRESS>:9000).
It seems there's something wrong with the bucket prefix and how it interacts with subsequent calls, the prefix is assigned here
ie. it's trying to HEAD object
default/test_null_nan/metadata/00000-770ce240-af4c-49dd-bae9-6871f55f8be1.metadata.jsonwarehouse/default/test_null_nan/metadata/snap-2616202072048292962-1-6c011b0d-0f2a-4b62-bc17-158f94b1c470.avro

Unfortunately I don't have time to investigate any further right now, @dwilson1988 if you've seen this before please let me know.

I've been able to replicate and debug the issue myself locally. Aside from needing to make a bunch of changes to fix the prefix, bucket and key strings, I was still unable to get gocloud.dev/blob/s3blob to find the file appropriately.  I followed it down to the call to clientV2.GetObject and the s3v2.GetObjectInput has all the correct values: Bucket: "warehouse", Key: "default/test_all_types/....." etc. and yet minio still reports a 404. So I'm not sure what's going on.
I'll try poking at this tomorrow a bit more and see if i can make a small mainprog that is able to use s3blob to access a file from minio locally as a place to start.

Then I suspect it might be the s3ForcePathStyle option referred to  here. It affected Minio in particular once they moved to s3 V2.

@loicalleyne I haven't dug too far into the blob code, is it a relatively easy fix to handle that s3ForcePathStyle?

My understanding is that it's just another property to pass in props. Would also have to add it as a recognized property/constant in io/s3.go I should think.

s3.UsePathStyle
// Allows you to enable the client to use path-style addressing, i.e.,
// https://s3.amazonaws.com/BUCKET/KEY . By default, the S3 client will use virtual
// hosted bucket addressing when possible( https://bucket.s3.amazonaws.com/KEY ).
UsePathStyle [bool](https://pkg.go.dev/builtin#bool)

@loicalleyne can you take a look at the latest changes I made here?

Is it intended to not provide the choice between virtual hosted bucket addressing and path-style addressing?
LGTM otherwise - the tests are passing :)

@loicalleyne following pyiceberg's example, I've added an option to force virtual addressing. That work for you?

LGTM 👍

@dwilson1988 When you get a chance, can you take a look at the changes I made here. I liked your thought on isolating things, but there was still a bunch of specific options for particular bucket types that needed to get accounted for as the options are not always passed via URL due to how Iceberg config properties work.
So I'd like your thoughts or comments on what I ultimately came up with to simplify what @loicalleyne already had while solving the failing tests and whether it fits what you were thinking and using internally. Once this is merged, I'd definitely greatly appreciate contributions for Azure as you said :)

@zeroshade - I'll take a look this weekend!


[4.1-beta] select_nested inputs don't show up in MonsterCRUD

Bug report
What I did:

merged the relationship changes in Backpack; I mean https://github.com/Laravel-Backpack/CRUD/pull/2632 ;
merged Laravel-Backpack/demo#164 which adds relationship to Dummy CRUD;

What I expected to happen:

the exact same relationship fields to be shown both inside MonsterCRUD and DummyCRUD;

What happened:

some fields that were showing in MonsterCRUD before merging https://github.com/Laravel-Backpack/CRUD/pull/2632 no longer show in MonsterCRUD, but do show in DummyCRUD:

In MonsterCRUD:

In DummyCRUD:

I suspect this is because starting with https://github.com/Laravel-Backpack/CRUD/pull/2632 relationship fields have their stuff overwritten. More exactly "name". It looks like whenever there's an entity things go haywire - Backpack overwrites stuff that I've explicitly defined.
What I've already tried to fix it:
Nothing yet, will look at it in 30 min after lunch. But this highlights a big problem in how people might ALREADY be using Backpack. This should not be fixed in Demo, but in CRUD.
I don't know exactly how right now. But by default we should not overwrite people's stuff. Only in very very niche use cases. If the relationship field is the only one that benefits from this, maybe we'll actually hardcode something like - if $field['type'] == 'relationship' then $field['auto'] = true or something like that. A flag that would let the system know whether it's ok to overwrite what the developer defined. Or maybe $field['overwrite'] would be a better name for it.
Backpack, Laravel, PHP, DB version:
### PHP VERSION:
PHP 7.4.2 (cli) (built: Jan 22 2020 06:30:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.2, Copyright (c), by Zend Technologies

### LARAVEL VERSION:
v7.9.2@757b155658ae6da429065ba8f22242fe599824f7

### BACKPACK VERSION:
4.1.x-dev@00150a6e5c7e527d2f3121730dcf8ed4dcc2b6b9

I haven't gone through this, but as my eyes are vicious in this relationship work I would rather wait for you to have a look, and I am here to help you with what you want.
My first guess is that we introduced fields with same "name" (or after relationship inner works it gets the same name), so they edit the same column in database and the first defined does not appear.

Indeed, you and me were both right.
It happens because the field name changes, but well, field name changes because it's the name that is used by laravel in the relationship.
Eg: if you dd() select_grouped after makeSureFieldHasNecessaryAttributes() this is what you get:
rray:15 [▼
  "label" => "Select_grouped"
  "type" => "select_grouped"
  "name" => "select2_from_ajax"
  "fake" => true
  "entity" => "article"
  "model" => "Backpack\NewsCRUD\app\Models\Article"
  "attribute" => "title"
  "group_by" => "category"
  "group_by_attribute" => "name"
  "group_by_relationship_back" => "articles"
  "tab" => "Relationships"
  "wrapperAttributes" => array:1 [▶]
  "relation_type" => "BelongsTo"
  "multiple" => false
  "pivot" => false
]

Thing is, select2_from_ajax is the name of the related in the relationship:
    public function article()
    {
        return $this->belongsTo(\Backpack\NewsCRUD\app\Models\Article::class, 'select2_from_ajax');
    }

So in the end, if you are working with a relationship that should be the correct name for the relation to work.
Maybe I did not fully understand all the use cases for this field.
So, following the code:
        $entity_model = $crud->model;

        // here it's the only place where entity is used.
        $related_model = $crud->getRelationModel($field['entity']);

/*
could we assume that if entity is not set, use the defined $field['model'] ?
$related_model = !isset($field['entity']) ? $field['model'] : $crud->getRelationModel($field['entity']);
*/

        $group_by_model = (new $related_model)->{$field['group_by']}()->getRelated();
        $categories = $group_by_model::with($field['group_by_relationship_back'])->get();

        // if field model is not set, we don't have categoryless.
        if (isset($field['model'])) {
            $categorylessEntries = $related_model::doesnthave($field['group_by'])->get();
        }

     ........
     //again if field model is not set nothing is run.
   @if (isset($field['model']) && isset($field['group_by']))
                @foreach ($categories as $category)

So, like I write in the code we could remove the entity from field if we don't want to work with a relation. That way nothing gets overriden in crud.
Let me know.

It happens because the field name changes, but well, field name changes because it's the name that is used by laravel in the relationship.

Indeed. And usually that should be fine. But sometimes people want to define their own thing. For example, you'd like to be able to select a category from the relationship, but instead of storing it as the category_id, you'd like to store it in fallback_category_id, or in the extras JSON, as extras->secondary_category_id.
This was possible in 4.0. And it's what I was using in MonsterCrudController. But right now, with the guessing merged, it's impossible in 4.1.
Backpack should not stand in the way, if you're trying to do something. It should not overwrite things, when you know what you're doing. It's an architectural decision that I'm adamant about. Yes it should help fill in the blanks. But only overwrite stuff if we're very sure that's what the developer intended.

Maybe I did not fully understand all the use cases for this field.

Well in 4.0 developers can point a select2 to a relationship, but then store it somewhere else, by just specifying a different name. The same way they would do with any other field.
And they can have multiple selects on the same page, pointing to the same relationship. Because entity is the one defining the relationship, not name.
In 4.1 this is no longer possible, because the name gets overwritten by the guessing logic. Am I correct @pxpm ?

here it's the only place where entity is used.

It's also used in the fields themselves. In the blade files.

could we assume that if entity is not set, use the defined $field['model']

Hmmm this is interesting. But I see it exactly the other way around. If entity is set, then do not overwrite the name. It means the person know what he's doing. And we can remove entity entirely from the relationship field docs, so people never define it there. So that for 1-n relations the name can be guessed. Do you think this could work @pxpm ?
But then, it would mean this entity (which is was badly-named to begin with, it represents the relationship on the model, so entity is a bad name for that), will now take an extra meaning, "do not overwrite name". So one attribute, entity will mean two things:

this is the name of the relationship on the model;
do not overwrite name to make my life easier;

All that inside one badly-chosen name, entity... that's pretty cryptic. Not sure this is a good solution... But it's maybe a solution, and a solution is better than no solution 🥇

I'll take a deeper dive into this right now - maybe I can figure out a better solution. As of this moment, this basically breaks compatibility between 4.0 and 4.1 in a few niche use cases:

select fields can no longer be fake
select fields can no longer store their input somewhere else

Cover me, I'm going in 🤣  If you could point me to the exact place where the name is getting overwritten in this exact instance, that would help a lot 🙄

I agree with you.
I think this starts to get messy because now, imagine you have a belongsTo with article you could do only: $this->crud->addField('article');
So technically we tied the name with the possible relation. There is no field article in crud, atmost there is a article_id.
What I don't understand is why we would need the 'entity' and also the 'model'. Without model nothing will work, so we need to provide the model. Would the model ever be different from the one we get from entity ? They only way I say it's possible to have different $related_model is that you provide in entity address.icon where current model has a relation with address that has a relation with icon, in this scenario: $crud->getRelationModel('address.icon'); the model returned would be App\Models\Icon so you will get the related categories from Icon Model. The same will happen if you only setup model as App\Models\Icon and don't use the entity.
I don't know if I am making myself clear here. I just don't see the point of using entity here if you don't provide the model with the same result expected from whatever.entity.you.use
I am feeling dumb or lost, let devil come and choose!

Until we figure out a better way to do this, I've commented out makeSureFieldNameMatchesRelation() in https://github.com/Laravel-Backpack/CRUD/pull/2768

I think this starts to get messy because now, imagine you have a belongsTo with article you could do only: $this->crud->addField('article');

I've just tried it after https://github.com/Laravel-Backpack/CRUD/pull/2769 with:
$this->crud->addField('category_id'); // shows ok; saves ok;
$this->crud->addField('category'); // shows ok; saves ok;

// The only difference between the two of them is the VALIDATION.
// Inside the request, for one you need the validation rule to be for
// 'category_id', for the other you need it to be 'category'
// But I think that's actually better - if you write `category` in the controller
// you should write `category` in the request, it's more intuitive.

So they both work in my tests (with the caveat above). Please take a look at #2769

What I don't understand is why we would need the 'entity' and also the 'model'. Without model nothing will work, so we need to provide the model. Would the model ever be different from the one we get from entity ? They only way I say it's possible to have different $related_model is that you provide in entity address.icon where current model has a relation with address that has a relation with icon, in this scenario: $crud->getRelationModel('address.icon'); the model returned would be App\Models\Icon so you will get the related categories from Icon Model. The same will happen if you only setup model as App\Models\Icon and don't use the entity.
I don't know if I am making myself clear here. I just don't see the point of using entity here if you don't provide the model with the same result expected from whatever.entity.you.use

Ugh. I didn't get this sorry 😄 Please rephrase?

This was ultimately fixed by #2769 . So let's close it.


[Runtime] Fix high RAM usage when saving / loading paramters of big models

https://github.com/apache/tvm/pull/13877 lowered memory usage for VM runtime load / save. The same issue observed by @AndrewZhaoLuo is still present in the graph runtime counterpart, tvm.runtime.load_param_dict and tvm.runtime.save_param_dict. In addition, we are carelessly making another copy of ndarrays in save_param_dict.
All of this leads to absurd RAM requirement when loading / serializing stable diffusion UNet. The total size of its parameters is < 3.5G, but loading or saving these params take more than 16G of RAM (!!):
$ cat test_params.py
import tvm
with open("unet.params", "rb") as fi:
    params_ref = tvm.runtime.load_param_dict(fi.read())

with open("unet.params", "wb") as fo:
    fo.write(tvm.runtime.save_param_dict(params_ref))

$ /usr/bin/time -v python test_params.py
        ...
        System time (seconds): 9.57
        ....
        Maximum resident set size (kbytes): 16921216
        ...

I added new save / load utilities that bypass the intermediate byte buffer in the same way as https://github.com/apache/tvm/pull/13877. After this PR, saving / loading SD UNet takes only bare-minimum RAM:
$ /usr/bin/time -v python test_params.py
        ...
        System time (seconds): 3.06
        ...
        Maximum resident set size (kbytes): 3492820
        ...

@AndrewZhaoLuo @tkonolige @vinx13 @tqchen

@tvm-bot rerun


Added UWP Application in Existing Xamrin App gives error

I am using Visual studio community version 16.3.6 and when i added reference to main core project then giving error.
Could not copy the file "obj\x86\Debug\App.xbf" because it was not found.
Could not copy the file "obj\x86\Debug\App.xbf" because it was not found.
Could not copy the file "obj\x86\Debug\MainPage.xbf" because it was not found

Hi @MobilyteApps
The following doc shows how to add a UWP project to a Xamarin.Forms solution: https://docs.microsoft.com/xamarin/xamarin-forms/platform/windows/installation/


Support App Mesh Preview Channel

https://docs.aws.amazon.com/app-mesh/latest/userguide/preview.html
One of the necessary steps for enabling App Mesh Preview Channel is

Add APPMESH_PREVIEW = 1 as a configuration variable for the Envoy container

Currently the sidecar injector doesn't seem to support adding this env variable to the sidecar.
As App Mesh is in active development, then I'd assume that preview channel is used quite a lot, making this feature rather useful.

With the merge of #80 this is supported from the injector perspective. There's still remaining work in the controller (https://github.com/aws/aws-app-mesh-controller-for-k8s/issues/75) to make it possible to create preview resources via the CRDs.
@sviik I'm going to close this issue, but please re-open if you think there's more to do on the injector side.


From Medium: Stock photos that don’t suck

Here is a list of more stock photos.. https://medium.com/@dustin/stock-photos-that-dont-suck-62ae4bcbe01b

Thanks.
Added "Women of color in tech" as it wasn't in the list.


Dockerize the service

It would be great improvement if the service itself could be dockerized. But I'm not sure how it would be possible to run ufw from container. Is this doable?

So you want to run ufw directly from the container to the host ?

Sort of yeah, assuming it would ease the deployment process.

The thing is, that is needs to access your local ufw config.
There are several dockerized fail2ban solutions.
But the deployment process isnt that hard ?

True,

Maybe a bash script could help for deployment.
Gonna test it after long time.
Short question, if for example a service dont publish a port and only expose it, is it also needed ?

What do you mean by publish and expose? Could you give me an example?

version:'3'
services:
example:
container_name: example
image: ptr1337/example
restart: unless-stoped
For example port  80 will be by default exposed, like with a reverse proxy in the same network.
so probally the same behaviour or ?

version:'3'
services:
example:
container_name: example
image: ptr1337/example
restart: unless-stoped
For example port 80 will be by default exposed, like with a reverse proxy in the same network.
so probally the same behaviour or ?

Since it doesn't have any ports: instruction (publishing) docker will not modify iptables. It will not bind on any network devices of the host.
Expose in Dockerfile is a just indicator of which ports are being used in this container, it doesn't do anything else. You can access those ports from same docker network with or without Expose. You can run reverse proxy container in the same docker network and publish that container in the host network.

After long time i give my try x) Thanks for your work.
I take a watch to dockerize this or just create a pkg for the distros?
i can easily do for arch

Cool, I guess building package for distros might be little bit overkill for such simple project.

Why not?
Just a docker-ufw with a systemd-service and thats it.
Can write this for arch in 5 min.

Yeah why not, I don't have first hand experience with linux distro packaging, but I would appreciate any contributions.

ill work on it in some minutes and can also provides a .deb
I also provide a AUR PKGBUILD for arch then.

So, I don’t know if the forward rules a bad if docker is not used, I need to test.
But I could create a ufw-docker.deb or whatever and this could be just installed via a local install and then enabled.

so, ufw will be removed and ufw-docker will be added for it. so you got only one service.

You sure people want that?

Then i create it with a extra service, np.

The thing is if i replace the complete ufw-before rules idk if thats good ?

thats the reason i would prefere a complete ufw-docker package which works exactly the same as normal ufw

So, how should you solution look like ?
a complete ufw replacement or a extra app ?
as i said, im afraid if someone got a customized after rules then he will be "fucked" with a extra app replace his after rules.
both solution are working right now for me

i mean  a complete ufw replacement as ufw-docker would be the best idea since no one would use the replacement if he uses no docker.

Today i gonna great the pkgs. talked with serveral guys and everyone said the same.


cli: Set OSM Controller log level on install

This PR adds --controller-log-level="trace" to osm install

validates the value given for OSM Controller log level
auto-generates the list of possible values for both OSM Controller log level and Envoy log level
small tweaks to the verbiage of the CLI UX

Codecov Report

Merging #2638 (7dff370) into main (2d1db5c) will decrease coverage by 0.25%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             main    #2638      +/-   ##
==========================================
- Coverage   64.36%   64.10%   -0.26%
==========================================
  Files         152      152
  Lines        7002     7010       +8
==========================================
- Hits         4507     4494      -13
- Misses       2479     2500      +21
  Partials       16       16

Flag
Coverage Δ

unittests
64.10% <50.00%> (-0.26%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/cli/install.go
64.45% <50.00%> (-1.37%)
:arrow_down:

pkg/configurator/validating_webhook.go
70.34% <0.00%> (-9.66%)
:arrow_down:

pkg/endpoint/providers/kube/client.go
78.00% <0.00%> (-1.00%)
:arrow_down:

pkg/envoy/route/config.go
95.45% <0.00%> (-0.76%)
:arrow_down:

Continue to review full report at Codecov.

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

@shashankram Your proposal to can we instead use --set OpenServiceMesh.controllerLogLevel=foo to override the chart values sounds reasonable.  I'd like to do that.
We seem to have quite a few install options already.
I'd propose we merge this so we don't forget it.  Then take on the challenge to convert everything to using --set.
@nojnhuh Does it sound reasonable to converting all of these params to --set ?

@shashankram Your proposal to can we instead use --set OpenServiceMesh.controllerLogLevel=foo to override the chart values sounds reasonable. I'd like to do that.
We seem to have quite a few install options already.
I'd propose we merge this so we don't forget it. Then take on the challenge to convert everything to using --set.
@nojnhuh Does it sound reasonable to converting all of these params to --set ?

That sounds fine, I'll approve so we can merge this and cleanup the options as a separate effort.

@shashankram Your proposal to can we instead use --set OpenServiceMesh.controllerLogLevel=foo to override the chart values sounds reasonable. I'd like to do that.
We seem to have quite a few install options already.
I'd propose we merge this so we don't forget it. Then take on the challenge to convert everything to using --set.
@nojnhuh Does it sound reasonable to converting all of these params to --set ?

That sounds fine, I'll approve so we can merge this and cleanup the options as a separate effort.

Filed an issue to track this: https://github.com/openservicemesh/osm/issues/3124

@nojnhuh Does it sound reasonable to converting all of these params to --set ?

I think that makes sense. These are the first few differences that come to mind:
Pros of using --set for everything:

Consistent way to set chart values
Don't need to specify defaults from values.yaml again for flags
Helps decouple CLI from a specific chart version

Cons:

longer to type (since all the values begin with OpenServiceMesh.)
--help doesn't show values (but we could probably make it)


autoprefixer for grid in IE11?

A year has gone by since this was last discussed, (https://github.com/thysultan/stylis.js/issues/51).
Since then Autoprefixer has implemented a decent support for css grid in IE11. See for example https://css-tricks.com/css-grid-in-ie-css-grid-and-the-new-autoprefixer/.
It would have been fantastic if stylis had the same support.

Ya this is causing a lot of headaches for my dev team atm.

Would be awesome indeed. The fact that the IE grid is so different from any other implementation; prevents me from using it at all.
As long as IE is around, I stick to Flex (which also has its share of issues (-ms-flex-negative)).
Auto fixing grids would be AWESOME!

Hi
Any news about this one ? That would be awesome.
I'm looking forward to be able to use grid in all our components without any extra support for IE :)
👍
Thanks

Open to review PR's on this if it doesn't bloat the bundle size a lot. Preferably on the rewrite branch where the prefixer is tree-shake-able.

@thysultan I'd like to take a crack at this if it's still open. We're using Emotion at Lookout, which depends on Stylis, and would like to adopt CSS Grid, but need to continue supporting IE 11 for the time being.

@bzalasky Yes, feel free. Ping me if you have any questions.

Looking into it, it seems Emotion uses a Stylis fork that’s “been modified slightly to make it smaller.” Though it looks like all they’re doing is running it through Google Closure Compiler and Prettier, so it seems any changes here could potentially land there as well… though not sure how the rewrite branch fits into this then. Does the rewrite branch include breaking changes? Is it at parity with master?

Yes the rewrite is major version bump so it might not make it into their release schedule.

Is it at parity with master?

It's not intended to maintain API parity with the current version.

@thysultan Could you point me in the right direction on how I could start adding this? I'd love to try to fix this, but at the moment don't have any idea where to start. I think this is a really important feature that is right now missing, since grid will is used more and more.

Since the article was originally linked at the start of this issue, autoprefixer has made further improvements to how they handle things. There's a new piece added to that series if anyone's curious.

@JeroenReumkens The bulk of vendor prefixing is handled by the property function in the current and vendor in rewrite. They both use partial-hashes to determine if a property/group of properties should be prefixed or not, the logic of that particular prefix follows into that.
As i would imagine some grid properties might have properties and values that involve multiple arbitrary cross-cutting properties/values so it may get more involved in those specific cases(i.e grid-template-areas).

Maybe this could be a stylis plugin rather than built in? It is rather difficult to do the emulation properly and probably would be heavy enough to do properly that it shouldn't be part of core...

Maybe this could be a stylis plugin rather than built in? It is rather difficult to do the emulation properly and probably would be heavy enough to do properly that it shouldn't be part of core...

I've recently been trying to make some grid-based designs work in IE11 and so I took a stab at writing this as a plugin. Below is a (very incomplete) plugin that adds -ms-grid specific properties in certain cases.
There are giant caveats, some of which might be possible to overcome, but I don't know:

Auto-placement is not (and probably never will be) functional. This means you still have to specify column & row numbers when  placing content in a grid. For my use case (react + emotion) this is not such a big deal, as I implement the placement logic in JS.
IE11 does not support grid-{row,column}-gap. My current workaround is to add CSS rules like this (again, handling the logic in React components):/* simulate `grid-gap: 15px` for IE <= 11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .grid-container > * {
     margin-right: 15px;
     margin-bottom: 15px;
  }

  .grid-container {
    margin-right: -15px;
    margin-bottom: -15px;
  }
}

Probably this could be integrated into the plugin, but I'm not convinced it works reliably enough to do it by default.

Anyways those caveats out of the way, here's the code:
import { Plugin } from '@emotion/stylis'

export function cssGridPrefixer(): Plugin {
  const gridPropRgx = /^grid-([a-z-]+): *(.+)/
  const repeatFnRgx = /repeat\((\d+), *(.+)\)/
  const isNumber = (v: string | undefined) => {
    const n = parseInt(v || '', 10)
    return !isNaN(n)
  }
  let selectorContext: {
    [key: string]: string | undefined
  } = {}

  const plugin: Plugin = function(
    stylisContext,
    content,
    selector,
    parent,
    line,
    column,
    length,
    at,
    depth,
  ) {
    switch (stylisContext) {
      case 2:
        selectorContext = {}
        break
      case 1:
        if (content === 'display:grid') {
          return `display:-ms-grid;display:grid`
        }
        const m = content.match(gridPropRgx)
        if (!m) {
          return
        }
        const [, name, value] = m
        switch (name) {
          case 'template-columns':
            const msValue = value.replace(repeatFnRgx, '($2)[$1]')
            return `-ms-grid-columns:${msValue};${content};`
          case 'row-start':
          case 'column-start':
            const axis = name.split('-')[0]
            selectorContext[name] = value
            return `-ms-grid-${axis}: ${value};\n${content};`
          case 'column-end':
            if (isNumber(selectorContext['column-start'])) {
              const columnStart = parseInt(selectorContext['column-start'] || '', 10)
              let columnEnd = parseInt(value.split(/\s+/).pop())
              if (value.startsWith('span')) {
                return `-ms-grid-column-span: ${columnEnd};\n${content};`
              } else {
                return `-ms-grid-column-span: ${columnEnd - columnStart};\n${content};`
              }
            }
          case 'column':
          case 'row':
            const [start, end] = value.split(/\s*\/\s*/)
            let output = plugin.call(
              this,
              stylisContext,
              `grid-${name}-start:${start}`,
              selector,
              parent,
              line,
              column,
              length,
              at,
              depth,
            )
            if (typeof end === 'string') {
              output +=
                ';' +
                plugin.call(
                  this,
                  stylisContext,
                  `grid-${name}-end:${end}`,
                  selector,
                  parent,
                  line,
                  column,
                  length,
                  at,
                  depth,
                )
            }
            return output
        }
    }
  }
  return plugin
}

This is of big importance, any updates?

Any news on this?

Any updates on this?

Is there any workaround for this ?

For all the people asking about updates: why not take the partially complete plugin I wrote above, modify as needed for your uses, and share the improvements?

@grncdr that's not really a good option. Also the grid-template-area approach is preferred because it works in IE11 if autoprefixed.

@mjmonline sounds like you have some open source work to do then :)

for now, i am using https://autoprefixer.github.io/ to manually convert my styles.

@stubbz Good luck with that.

for now, i am using https://autoprefixer.github.io/ to manually convert my styles.

I recommend @abumuawiyah's approach if all else fails.
This issue might as well be closed by now.  Hell, after reading the snark by the contributors, I just use this site in my presentations as an example of, "Keep CSS Where It Belongs," because JS libraries will never stay up to date with features.  Gotta find the silver lining. 💅✨

Maintainers here don't plan on working on this as it's just not that simple of a task and any attempts to autoprefix grid for IE11 have their edge cases. It's also a matter of "least surprise principle" - if we can't make it work for all cases, we don't want to make it at all because one could think they can use every grid-related feature safely when that would just not be true.
If you don't like our stance on this - you can attempt to write such a prefixer on your own, just like @grncdr did (👏). It should also be somewhat easier to write a custom prefixer plugin in the upcoming v4. Forking is really a viable option as well - you just can't demand maintainers to always do what you wish for and do it for free (or rather usually at the cost of their free time). I encourage you to read this thread - OSS maintainers are just humans and a demanding attitude from the community can only get them frustrated in the long run and less and less caring for projects.

Based on the great work of @grncdr above, I published a small plugin to add IE11 prefixes for some grid properties in Styled Components: styled-griddie.
Check out the readme to see what works so far — will look to add support for more grid features soon!

Not quite an universal solution, but if anyone uses styled-system along with styled-components, I've got a workaround.
Here's my Col component which I use as a grid-column:
export const Col = styled.div<SpaceProps & FlexboxProps & GridProps & DisplayProps>
  ${system({
    gridColumn: {
      //@ts-ignore - msGridColumn isn't part of CSS.Properties for some reason
      properties: ['gridColumn', 'msGridColumn'],
      scale: 'breakpoints',
      transform: value => `${value}`,
    },
    gridRow: {
      //@ts-ignore - msGridRow isn't part of CSS.Properties for some reason
      properties: ['gridRow', 'msGridRow'],
      scale: 'breakpoints',
      transform: value => `${value}`,
    },
  })}

This will add the prefixes for our beloved IE11. Obviously this is a fairly simple example, and there's only so much we can do with prefixes. But with "simple" grids, that'll do the trick (and I'm sure we can do more with the transform attribute).
PS: I'm using a set of breakpoints as a scale so I can pass an object to my component, and handle columns via media queries.

@Andarist @thysultan
I decide to work on this issue. Would you mind reopening it for further discussion?