Out of memory - meta issue

I found a group of similar issues, at the first glance they are random errors (OOM) but they all seems to be "temporarily fixed" when the user changes (anything) in the source code.
I did a pre-investigation in #505 and my guess is that some "invisible" characters were slipped in the html source code which cause the runtime error, and the error dissapear at the first change of the textbox. But my example doesn't replicate the error anymore.
A great help would be if someone with access on production servers can look at the errors log, maybe can make a correlation between the referrs (which tour issues generate the errors), if there is any link (or all of them do, meaning is likely a server issue).
So far I have found the following issues:
https://github.com/golang/tour/issues/385 moretypes/15
https://github.com/golang/tour/issues/417 concurrency/1
https://github.com/golang/tour/issues/482 moretypes/13
https://github.com/golang/tour/issues/512 concurrency/4
https://github.com/golang/tour/issues/528 concurrency/4
https://github.com/golang/tour/issues/519 concurrency/4
https://github.com/golang/tour/issues/508 concurrency/4
https://github.com/golang/tour/issues/521 flowcontrol/5
https://github.com/golang/tour/issues/531 flowcontrol/5
https://github.com/golang/tour/issues/522 flowcontrol/5
https://github.com/golang/tour/issues/524 flowcontrol/5
https://github.com/golang/tour/issues/525 flowcontrol/5

Since the compilations are done by the playground, can we get some confirmation from their team/servers?
And one more question, where are the /playground specific issues? Maybe I can find there something related.
I'm curious how to find out if the error occurs in the /tour service or is a response from the /playground.

I believe https://tour.golang.org/moretypes/8 should be added to the list. The weird part is that if I change line 18 in the tutorial to use "XX" instead of "XXX" the run is successful.

Most likely it happens on all pages, but there are not enough reporters. Until someone reads the production error logs we are stuck, I cannot reproduce it on my local machine, probably it has something to do with the runtime env, maybe one of the go leads can help us with it?
poke @andybons
New similar issues:
https://github.com/golang/tour/issues/579
https://github.com/golang/tour/issues/577
https://github.com/golang/tour/issues/578
https://github.com/golang/tour/issues/581

Will take a look.
These all run on the playground, which caches responses depending on hash of the code. It shouldn't be caching OOMs, though. You can run the playground locally to test in the meantime: https://go.googlesource.com/playground/+/master/README.md

If the problem was in playground, my guess is that a lot more issues were reported, being a lot more popular. Based on this logic I think the problem lies on the specific tour services.

Opened golang/go#26926 for this since it’s not tour specific. Thank you for collecting this info for us.
Duplicate of golang/go#26926


SECURESIGN-1015 | Make sure Route Selector Labels are reconciled

Do we need to do this by operator? Resource labels are not updated by Ensure function at all so user can freely modify them. This is just first question that popped up in my head. Maybe I am missing something.

Do we need to do this by operator? Resource labels are not updated by Ensure function at all so user can freely modify them. This is just first question that popped up in my head. Maybe I am missing something.

@osmman @bouskaJ, You make a good point, I just tested this to 100% confirm and adding the labels manually works without issue. I guess the only thing we loose here by not doing it is the convince of being able to configure it through the API. I suppose it may also be confusing for the customer, if they see the option to configure routeSelectorLabels for ingress sharding  they might assume they can add it through the api and update exsisting ingress and route objects.
@osmman WDYT?

/test tas-operator-e2e

/test tas-operator-e2e

@osmman @bouskaJ When you guys have a minute can you take a look? thanks

@bouskaJ @osmman This is good for a re-review, when you guys have a minute, thanks :)


key Error

detectron 0.1.3---your repo
pytorch 1.8.0
CUDA 11.1
'Non-existent config key: MODEL.ROI_MASK_HEAD.DCT_VECTOR_DIM

find the error, fixed

find the error, fixed

I had the same error, can you tell me how it was solved


Add ability to document body responses to FoxxController HTTP methods

There is no way currently to document the json responses for FoxxController HTTP methods and as a result, when the swagger documentation is generated, no information is provided as to what fields/data will be returned. The swagger code gen expects response classes or responses to be documented, and will not generate client sdks if this documentation is missing.
There should be the ability to document responses to HTTP requests in a similar way as how incoming JSON bodies are documented.

Fixed via FOTF.


Simplify GitHub pages workflow by auto-detecting base

Description
The github-pages workflow at https://vitejs.dev/guide/static-deploy.html#github-pages is amazing!
Would it be possible to simplify this workflow even more, by automatically detecting the base from the GitHub action workflow?
Currently, setting the correct base has to be done manually in vite.config.js.
That's not a big issue, but it's a step I always forget to make, and it can cause problems when people rename their projects.
Thanks for consideration!
Suggested solution
Set base automatically from GitHub action
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

You could write some code in vite.config.js to detect the base in GitHub Action CI, but otherwise this isn't something Vite should handle ootb. The configs should be explicitly passed so there's no surprises when building.

I see!
So when I have this default config file:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
})

I could insert the base with  sed -i "/export default defineConfig({/a \ \ $BASE_PATTERN" $CONFIG_FILE with the below yaml file.
It works exactly like I want it to, but then it feels not right to change a config file like that from ci.
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
  # Runs on pushes targeting the default branch
  push:
    branches: ['main']

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# Allow one concurrent deployment
concurrency:
  group: 'pages'
  cancel-in-progress: true

jobs:
  # Single deploy job since we're just deploying
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Conditionally set base in vite.config.ts
        run: |
          REPO_NAME="${{ github.event.repository.name }}"
          CONFIG_FILE='vite.config.ts'
          BASE_PATTERN="base: '/$REPO_NAME/',"

          if ! grep -q "base:" "$CONFIG_FILE"; then
            echo "Base property not found. Setting it to '$BASE_PATTERN'"
            # Use sed to insert the base property directly under the export default defineConfig({
            sed -i "/export default defineConfig({/a \ \ $BASE_PATTERN" $CONFIG_FILE
          else
            echo "Base property already set in $CONFIG_FILE"
          fi

      - name: Set up Node
        uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: 'npm'
      - name: Install dependencies
        run: npm install
      - name: Build
        run: npm run build
      - name: Setup Pages
        uses: actions/configure-pages@v3
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v1
        with:
          # Upload dist repository
          path: './dist'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v1

Your Vite config could have something like this:
base: process.env.GITHUB_ACTIONS_BASE || undefined

And you can pass the env from the workflow:
env:
  GITHUB_ACTIONS_BASE: ...

You can pass around a value with this syntax: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter


[Warhammer 4e Character Sheet] v1.41 Performance

Changes / Comments

Vastly improved performance of Target value re-calculations due to condition changes, by moving them to the sheet worker. This was particularly bad on Firefox, while MS Edge(Chromium) and Chrome were less impacted but also benefit from the changes. No actual changes in functionality just faster!

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[x] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


support for jdk 6

Do we have support for jdk 6? A lot of applications are still running on jdk 6.

Good question, I'll check it out.

Please let me know if this makes sense. I can help, did some changes locally to make it work for us.

What all did you have to change? I was taking a stab at downgrading the source/target to 1.6 but think our testing deps might require 7. https://github.com/getsentry/raven-java

90% of changes are due to empty set of type parameters <> which isn't supported below 1.7

Yeah, that's most of what my branch is. But did you get the tests passing?

yes i was able to, i had to disable checkstyle, it couldn't find suppresions.xml.
buildOutput.txt

@ramesh4sr but were you using JDK 6 to run the tests? TestNG requires JDK 7+
I can use Java 7+ and target Java 6 bytecode, but that doesn't prevent us from using JDK 7+ libraries accidentally in the future. Not sure how to handle that off the top of my head (without dropping TestNG...).

let me install jdk 6 and test this case

Do we have support for jdk 6? A lot of applications are still running on jdk 6.

Applications shouldn't be running on JDK6 anymore as it was EOL'd eons ago. Even if an application targets 1.6 you should still be executing it in a more up-to-date JVM for obvious reasons, and thus should be able to use this library.

Do we have support for jdk 6? A lot of applications are still running on jdk 6.

Applications should not be running on JDK6 as it was EOL'd eons ago. Instead they should be running on an up-to-date JVM where applicable and thus be able to utilise this library.

In the end I don't see us supporting 6 when 7 is already EOL'd. Our test suite requires 7+ already and it's a struggle to use modern libraries that haven't required 8 for years.


Update Dependencies + Set Java compiler version to 11 (requirement OpenSaml4) + add methods for Jakarta HttpServlet

Includes three implementations:

Update all dependencies --> No impact on existing code
Set Java compiler version to 11 --> OpenSaml 4 requires java 11 anyway
Clone serveral Methode for use with javax.servlet.http.HttpServletRequest or jakarta.servlet.http.HttpServletRequest --> For supporting Jakarta Servlet 5.0

@csonnebo do you know when these changes might be merged in? I'm upgrading from Springboot 2 to Springboot 3 and all the dependencies in SB 3 use Jarkata instead of javax.

Unfortunately I have no Idea. I am planing to upgrade to spring 6 as well,
so I am waiting for my changes too.
Is the a way to contact the owner of the project and tell that we need
theses changes?
An update of all dependencies to reduce vulnerabilities would be again a
good idea.
Am 21. September 2023 19:32:25 schrieb Justin Bleach
@.***>:

@csonnebo do you know when these changes might be merged in? I'm upgrading
from Springboot 2 to Springboot 3 and all the dependencies in SB 3 use
Jarkata instead of javax.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

@JPLachance @dreisch-coveo any chance of a review and merge to update this library with the latest dependencies. I personally really need the Jakarta dependencies update for this to work with Springboot 3

I commented on @jebeaudet's comments. What happens now?

@jebeaudet: I made the corrections as discussed. Please come back to me with the results regarding the jakarta.servlet-api licence and if we should remove all the javax stuff.
I also updated the dependencies once more and added a maven plugin for that. Please review that changes as well.
Thank you very much.

We understand that you want this merged and released but I'm asking you some more patience while we figure some things out internally about this library, on top of the legal issue that is still under evaluation. Thanks!

@jebeaudet hope things are going well. Here is an example of another repo that uses Jarkata with an apache 2.0 license:
https://github.com/mkopylec/charon-spring-boot-starter maybe that will help with your license discussions

@jebeaudet I set servlet-api scope to compile.
What do you think about removing the javax.servlet-api?

@jebeaudet Any news here?
I think we should remove javax.servlet-api. I think otherwise you have to provide both libs (javax and jarkarta) in production. If one is missing you will get a compiler error.
What do you think?

@jebeaudet
Hi again,
Obviously the dependency review check fails. What steps are necessary next?

Hi @csonnebo
Thanks for the ping. I've merged the PR with one major change (javax.servlet is completely dropped) and some minor mainly cosmetic changes.
I'll be releasing this as a major release shortly.
Thanks again for your contribution and sorry for the back and forth on this, this library has no clear owner internally and this will get addressed.


[Tracking Issue][ONNX] Quantized operator support in ONNX importer

Summary
This issue will be used to track ONNX importer coverage progress of standard and non-standard quantized ops in TVM, and can be used to coordinate distributed efforts on improving quantized importer coverage work across organizations.
 The goal is that if folks want to claim an operator they can feel reassured that their work won't be deprecated by work that is in flight.
We provide reference PRs that can serve as a template to adding a quantized standard op: https://github.com/apache/tvm/pull/7802 by @mbrookhart. As well as non-standard op from the Microsoft ContribOperators set in ONNXRT: https://github.com/apache/tvm/pull/8773 by @anwang2009.
Please comment in this issue if you'd like to add to Relay ONNX importer coverage so I can update the table.
cc @KJlaccHoeUM9l @ehsanmok

Adding @cconvey to the table who is working on QLinearMatMul

Hi All, May I sign up for QLinearSigmoid? Thank you.

Hi @tmoreau89, I would like to sign up for com.microsoft.MatMulInteger16. Could you please assign it on my name. Thanks.

Hi @tmoreau89,  could you please add me for com.microsoft.QGemm?

Could you add
@avquicinc for com.microsoft.QLinearReduceMean
@quic-sanirudh for com.microsoft.QAveragePool, com.microsoft.QGlobalAveragePool
Edit: we also have volunteers for com.microsoft.QGlobalAveragePool, com.microsoft.QGemm. You can add my name there, since folks need to create github accounts.

Hi All, May I sign up for QLinearSigmoid? Thank you.

Hi @tmoreau89, May I sign up for com.microsoft.QLinearLeakyRelu as well? (This is for a team member who needs to create github accounts).

Could you please assign the op QLinearLeakyRelu on my name

Hi @tmoreau89, could you please add me for com.microsoft.QGemm?

Yes, please reassign com.microsoft.QGemm to @rasagna-quic.

I think I have it updated with the assignments as volunteered in the comments. Thanks, everyone!

I'll grab com.microsoft.QuantizeLinear @tmoreau89 @kparzysz-quic

Thanks @jcoplin-quic I've added you

QLinearMatMul now has a PR: https://github.com/apache/tvm/pull/8952

Thanks @cconvey - I've updated the table!

I am referring this file to see what all ops would get quantized by ONNXRT. https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/quantization/registry.py
@mbrookhart :  As per our previous discussion if this resource is required to be added in the ticket please add it.
Thanks!

Hi @tmoreau89,
May I try com.microsoft.DequantizeLinear if it is still available? Thank you.

@avquicinc excellent point and many thanks for digging into the registry. I agree that the focus here is to shortlist these ops to the set defined in the registry. To use the example of QLinearReduceMean that gets emitted as QLinearDequantzie->ReduceMean->QLinearQuantize, there is no need for TVM to support the QLinearReduceMean for now. I will therefore as a next task emphasize the short list of ops that we should support to enable any ONNXRT quantized models.

Based on this information, I've broken the tables into several categories, the first one being more important given that these are the ops we can confirm are being emitted by ORT static quantization.
I also upon @avquicinc 's suggestion removed duplicate ContribOps that replicate existing standard ops. This trims the list quite a bit.

I removed the following ContribOps: QLinearConv, QuantizeLinear, DequantizeLinear because I think they just replicate functionality from the Standard op set. CC-@jcoplin-quic give that you were assigned QuantizeLinear.

Hey @tmoreau89 , I would like to work on QAttention, since at present we don't have much info. if and till when ORT quantization would have support for generating QLinearReduceMean op node.
Also, I think that QAttention falls in the set : ops for supporting ORT dynamic quantization.

I removed the following ContribOps: QLinearConv, QuantizeLinear, DequantizeLinear because I think they just replicate functionality from the Standard op set. CC-@jcoplin-quic give that you were assigned QuantizeLinear.

@tmoreau89 Yes as I was looking into it I was beginning to suspect the functionality was duplicated. Thanks very much

Hi, just wondering how should I test my implementation for the op? Where should I write the test cases?
Thanks

@WenheLI for MatMulInteger because it's an onnx native op you can simply remove this line https://github.com/apache/tvm/blob/main/tests/python/frontend/onnx/test_forward.py#L4761 to enable the ONNX test for MatMulInteger by default. You can run the enabled test with pytest tests/python/frontend/onnx/test_forward.py::test_onnx_nodes -k test_matmulinteger

Linking: https://github.com/apache/tvm/pull/9017 - thanks @quic-sanirudh !

Hi @tmoreau89, I've placed a PR #9028 for QLinearSigmoid. Just FYI.

Thanks @arangasa - I've added it to the table!

Also happy to share that com.microsoft.QLinearGlobalAveragePool and com.microsoft.QLinearAveragePool are supported, thanks @quic-sanirudh for the support

@tmoreau89 Thanks for your help in reviewing the AveragePool op support quickly. Shall I pick up the com.microsoft.DynamicQuantizeMatMul op next to work on, if no one else has started working on that. If that's an urgently needed op, I can pick something else as well

@quic-sanirudh please go ahead and pick com.microsoft.DynamicQuantizeMatMul given that no one else has claimed, it. I can mark you down for it.

And thanks to @arangasa , https://github.com/apache/tvm/pull/9028 has been merged! com.microsoft.QLinearSigmoid is now supported.

Hi @tmoreau89 , I've raised https://github.com/apache/tvm/pull/9186 for com.microsoft.MatMulInteger16. Just FYI.

Thanks @abhikran-quic , added

QLinearMatMul support is now merged! Thank you @cconvey for completing this task

@WenheLI and @gayatripk1, is support for MatMulInteger and com.microsoft.QLinearLeakyRelu still on your plates? Just checking in periodically.

Thank you I somehow failed to catch it, I'm adding https://github.com/apache/tvm/pull/9063 to the table, thank you for your contributions.

Hi @tmoreau89 I would like to work on com.microsoft.MatMulIntegerToFloat , could you please assign in to my name?

Thank you @onkar-sima-ai I entered you in the table.

Hi @tmoreau89 , I'd like to work on com.microsoft.QAttention. Could you assign it to me, if possible?

Do this issue still need to be worked on? @tmoreau89


V2 support

Hello, any plans for support v2?

@frankdejonge I am curious, do yo plan to migrate this adapter to Flysystem 2? Otherwise I would be open to sponsor you if this will bring support for Azure 😄

@frankdejonge I am curious, do yo plan to migrate this adapter to Flysystem 2? Otherwise I would be open to sponsor you if this will bring support for Azure

https://github.com/thephpleague/flysystem/pull/1277

Thanks!


⚠ Bofrost.es has degraded performance

In dbff73a, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1567 ms

Resolved: Bofrost.es performance has improved in f51e0af after 6 minutes.


Some api docs

Reworded the get_export + mutable context docs to be both more "user facing" and not have an absolute negative.


Add read-only value-typed views of SeString family and its builder

Tested with building a SeString using SeStringBuilder and then comparing it to the cells in the Addon sheet. SeStringBuilderTest practically is a collection of example usages.

todo: all rgba => bgra

wowee, i've skimmed over this and looks good tho. probably the most documented part of lumina now LMFAO

@lmcintyre thoughts? i'm pretty cool with this as is

lgtm


added maxLen validation for string characteristics

otherwise iOS complains and about half of the accessories won't appear

Thanks :)


optimizing "and 255" on bytes

In my code I have two_pi = 255 defined as constant. The values is used in cos/sin tables and in other formulas about movements of the main ship and enemies.
Those formulas are general and have been written when I was using less than 256 angles
One of them is this:
;[687] 	ms_p=(ms_p+ms_speed) and two_pi
SRCFILE "dzgorf.bas",687
5824   0280 0160                	MVI V81,R0
5826   03F8 0080                	XORI #128,R0
5828   0338 0080                	SUBI #128,R0
582A   02C0 015F                	ADD V4,R0
582C   03B8 00FF                	ANDI #255,R0
582E   0240 015F                	MVO R0,V4
As ms_p is a byte, I was expecting that the compiler was removing  the "and 255" part, cutting away this line
582C   03B8 00FF                	ANDI #255,R0
But maybe, the compiler is not aware that V4 is in the 8 bit RAM, so cannot perform this kind of optimizations.
On a different side, just for my understanding, ms_speed is signed, ms_p is unsigned.
What is the reason for XORI #128,R0 and SUBI #128,R0 on V81 (alias ms_speed )?
The fact is that, being the result stored in a 8 bit location, the compiler could avoid sign extension for ms_speed

The ANDI #255,R0 is now optimized. The compiler currently cannot avoid expanding sign for ms_speed because the optimizer is a peephole one.


Add field_masking_span query

Forward port of #2231

Cheers @forloop merged and forward ported to master.

@Mpdreamz, so wish I had the forloop handle; would make things much easier :laughing:


Add  XVI Liceum Wrocław

Website: https://www.zs8.wroc.pl/

@gelmiro Please make a new pull request. Do not request deletion any files in your pull request, please.
Also, please explain why the school numbers are different? The website is for the school number 8, and the email domain for the school number 16.
I have to close this request. Please make a new one and post comment with the explanation there. Thank you for your understanding.


Force reset config

Task/Issue URL: https://app.asana.com/0/488551667048375/1205723596658068/f
Description
Force download of v4 config
Steps to test this PR

Current dependencies on/for this PR:

develop

PR #3685   👈

This comment was auto-generated by Graphite.


Add the option to use a pa11y.json

Pally allows the use of a configuration file https://github.com/pa11y/pa11y?tab=readme-ov-file#command-line-configuration
Allows users to override this configuration creating the file.
Currently, the command gets the default config.json
/app/node_modules/.bin/pa11y -c /app/config/config.json "$@"

This is now fixed, config file can be edited. Thank you @Eduardo-Morales-Alberti !


java.util.regex.PatternSyntaxException:  Look-behind pattern matches must have a bounded maximum length near index 9

On running the Twitter Korean Text, I'm getting the error:
` Look-behind pattern matches must have a bounded maximum length near index 9
((?<=\s+)|(?=\s+))
             ^
 at java.util.regex.Pattern.compileImpl(Native Method)

 at java.util.regex.Pattern.compile(Pattern.java:1340)

 at java.util.regex.Pattern.<init>(Pattern.java:1324)

 at java.util.regex.Pattern.compile(Pattern.java:946)

 at java.lang.String.split(String.java:2325)

 at java.lang.String.split(String.java:2367)

 at com.twitter.penguin.korean.tokenizer.KoreanChunker$.chunk(KoreanChunker.scala:150)

 at com.twitter.penguin.korean.tokenizer.KoreanTokenizer$.tokenize(KoreanTokenizer.scala:96)

 at com.twitter.penguin.korean.TwitterKoreanProcessor$.tokenize(TwitterKoreanProcessor.scala:49)

 at com.twitter.penguin.korean.TwitterKoreanProcessor.tokenize(TwitterKoreanProcessor.scala)

`
This is on running the example Java code of twitter Korean with stemming and normalization.
Running via JDK1.7
Any help would be greatly appreciated.

Are you running this on Android?

Yes. I'm making a library using Java, creating a JAR and then using it as a library in Android.

The line number seems to be incorrect, what's your open-korean-text version?
https://stackoverflow.com/questions/24256204/unknown-look-behind-group-near-index-in-java
This is using a syntax that Java 7 or higher support. I know you said you were running it via JDK 1.7, but there's a chance that you're actually executing your code with a Java6 JRE.

I checked the build path in eclipse, and it is showing JDK 1.7 only. Is there anywhere else I should be checking?

Hmm, what's the open-korean-text version you're importing in your maven pom.xml? Can you try it with the latest version and give me the stack trace?
at com.twitter.penguin.korean.tokenizer.KoreanChunker$.chunk(KoreanChunker.scala:150) does have any regex to fix.
Anyways, it seems to be the API compatibility issue of Android Java. We may need to provide an extra parameter in the scala code to provide a "bounded maximum length".

The latest version is korean-text-4.4.4

@scorpionhiccup did you solve this?


Implement ListAIResponses

Implement ListAIResponses as planned in Phase 0: https://g0v.hackmd.io/@cofacts/rknFrmdk3#Phase-0-preparation

Can filter by createdAt, updatedAt, status, type, etc.
This PR also adds userIds to common filter, and add unit test

Coverage: 88.233% (+0.3%) from 87.949% when pulling 7a7b1d5ca38f30fba13c5c1d9eb2b3a7a00e3983 on listairesponses into f2f9aa94f8c70a6d9a9cb141e19032461932173b on ai-response.


Broken javascript loading order

This version X-Mod-Pagespeed: <IP_ADDRESS>-0 broken order processing javascripts.
Some my files are like:

but it will generate:

Its impossible because defer attribute by specification not work with inlined javascript. Soo, when I am using jQuery in my external-script-1.js my scripts is broken because "Uncaught ReferenceError: jQuery is not defined". Its because pagespeed ignore defer and moved to source code to

Disable the inline_javascript filter or increase the size for javascript be inlined or exclude jquery from pagespeed....

Disable the inline_javascript filter or increase the size for javascript be inlined or exclude jquery from pagespeed....

And how?

DisableFilters inline_javascript
pagespeed DisableFilters inline_javascript

I got error 500 with any of this exmple.

And how?

DisableFilters inline_javascript
pagespeed DisableFilters inline_javascript

I got error 500 with any of this exmple.

You have deleted the comment, but:
For disable inline_javascript:
ModPagespeedDisableFilters inline_javascript
ModPagespeedForbidFilters inline_javascript
For increase/decrease the size of files inlined:
ModPagespeedJsInlineMaxBytes bytes
For exclude jquery:
ModPagespeedDisallow jquery.js (a wildcar spec, like regex expression)

You have deleted the comment, but:
For disable inline_javascript:
ModPagespeedDisableFilters inline_javascript
ModPagespeedForbidFilters inline_javascript
For increase/decrease the size of files inlined:
ModPagespeedJsInlineMaxBytes bytes
For exclude jquery:
ModPagespeedDisallow jquery.js (a wildcar spec, like regex expression)


Embedded image in the sheet

With jExel v4.0, is it possible to embed images in the sheet ("base64" image format) ?
Is it possible to export a sheet with these embedded images ?
Regards.
Jean-François.

Yes, you can do that.
A few options:
https://bossanova.uk/jexcel/v4/examples/image-upload

Yes, you can do that.
A few options:
https://bossanova.uk/jexcel/v4/examples/image-upload

Nice and thank you, but about the second part of my question "Is it possible to export a sheet with these embedded images ?" (export to XLS, for example), is it possible with the jExcel CE edition or only with the jExcel Pro edition ?
I have made some tests with the jExcel.download plugin, with the CE edition, but that fails.

Nice and thank you, but about the second part of my question "Is it possible to export a sheet with these embedded images ?" (export to XLS, for example), is it possible with the jExcel CE edition or only with the jExcel Pro edition ?
I have made some tests with the jExcel.download plugin, with the CE edition, but that fails.


[Feature Request] Occupancy for Care/Maintenance

Hello,
Excellent plugin, everything works well for me. I searched and could not find this feature suggestion in the opened/closed tickets.
I wanted to ask if it would possible to add occupancy sensors for brush/filter replacement and sensor cleaning. I noticed in the logs the plugin is already pulling those statuses for my S6 Pure; having an occupancy or other type of HomeKit trigger (with accompanying push notification) would be fantastic. Then I could disable push notifications from Mi Home entirely and only rely on that application to correct map issues.
Thanks!

Hi @elcid2012, that is a great suggestion. And should be fairly straightforward to implement.
Just adding a disclaimer... AFAIK, there's no way to "reset" the counters (or, at least, we haven't been able to identify the API call that makes that). This means that, after servicing the robot (cleaning the brush), we'll need to open the Xiaomi app to reset it.
If you help me out figuring out the command that is required for the reset, I can also create a "reset" button for those sensors :)
I hope it makes sense.

I'd be more than happy to help figure out how those are reset via the app, but honestly I am not sure where to start. My code skills are minimal. I did start doing some digging and thought of a few ideas.
Reverse engineering an API seems like a challenge. I would need to understand how this plugin communicates with Xiaomi's API service at awsusor0.fds.api.xiaomi.com to get a head start, assuming that what this plugin does.
If it communicates directly with the vacuum instead, then I think I would need to do a packet capture on my iPhone while executing an API call from within the Mi Home app, which I am also unfamiliar with. But capturing those packets to the API server would hopefully reveal how the API call goes to their servers and back to the vacuum. Hypothetically, of course, if that's how it works.
Can you provide some additional insight to get me started?
In my original post, I was thinking that I would be satisfied with opening the Xiaomi app to reset the counters... right now the issue I'm facing is this: The Xiaomi app doesn't allow you to specify WHICH push notifications are sent to you. It's either all or nothing. I run my vacuum daily, and it's triggered to run at night via HomeKit/Homebridge. I really don't need a notification at 1:00 am saying my vacuum completed its clean. I'd really rather have only a notification for maintenance, but, like I said, Xiaomi doesn't offer this flexibility. It would be great to disable Mi Home/Xiaomi push notifications, relying on HomeKit notifications instead, and then I can open the app to reset the counter manually as required.
Another thing I just thought of is considering Siri might accidentally reset the counter if a voice command is misinterpreted. I think maybe simply having an occupancy sensor/switch flip on or something similar would be the better choice rather than introducing a reset switch within HomeKit that might accidentally get triggered.
Thanks for entertaining the idea and looking forward to helping in any way I can!

This plugin talks directly to the robot in the local network. Anyway, I think I found the command to reset the counter: reset_consumable. We've go all we need to set them up... I'll try to find some spare time to build it 😇
One last question: what do you think it's best?

One Occupancy sensor that reports the need for servicing + One switch to reset the state?
One Lock that can report the need for servicing and can be manually unlocked to reset the state?
Any other type of Service? All available services are detailed here: https://developers.homebridge.io/#/service/AccessControl

I am not exactly sure what I am looking at in your link, but I see there's a filter maintenance service and what I would assume is a generic service label. But it's not readily apparent if those would appear as Objects/Devices in a user's home and if they would support reseting those maintenance indicators.
I think a lock makes the most sense. A lock that is in a "locked" state would indicate a filter or brush needs replacing or the vacuum's sensors need cleaning. Having a lock in a "locked" state would not so easily be triggered via voice since they are security items and, I believe, require secure iOS confirmation (FaceID, TouchID) to unlock and thus reset the maintenance indicator. I do not have any locks in my HomeKit Home so I am not 100% certain, but my other security devices (SimpliSafe alarm) and my garage door (myQ) require secure confirmation on an iOS device to disarm or open. I would assume a lock works the same way.
Good to know that your plugin talks directly with the robot. I think once these maintenance notifications are implemented I'll be able to fully shut off internet access to my IoT VLAN.
Please feel free to let me know when this is ready for testing and I'll be happy to help provide feedback!

Also vote for this very useful feature - with reset just make things even better!
Has there been any plan when will it be released? Can't wait for it :-)


Add lint to CI and fix errors

Adds lint to CI and fixes errors.
There's still 4 warnings.

Codecov Report
Attention: 52 lines in your changes are missing coverage. Please review.

Comparison is base (a324ddb) 56.71% compared to head (e2889b5) 56.71%.

Files
Patch %
Lines

src/libs/apistore.ts
0.00%
12 Missing :warning:

src/components/ModalSources.tsx
58.33%
5 Missing :warning:

src/components/App.tsx
73.33%
4 Missing :warning:

src/components/MapMaplibreGlLayerPopup.tsx
20.00%
4 Missing :warning:

src/components/ModalOpen.tsx
80.00%
3 Missing :warning:

src/components/_ExpressionProperty.tsx
0.00%
3 Missing :warning:

src/libs/metadata.ts
70.00%
3 Missing :warning:

src/libs/urlopen.ts
57.14%
3 Missing :warning:

src/util/codemirror-mgl.ts
0.00%
3 Missing :warning:

src/components/IconLayer.tsx
33.33%
2 Missing :warning:

... and 7 more

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #853   +/-   ##
=======================================
  Coverage   56.71%   56.71%
=======================================
  Files         104      104
  Lines        2932     2932
  Branches      674      674
=======================================
  Hits         1663     1663
  Misses       1269     1269

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat(INJI-42): Handle database / disk full error

Handled "No space left on device" error thrown when the react-native-mmkv-storage or react-native-fs is unable to write the VC data / meta data.
react-native-mmkv-storage or react-native-fs's storage limit is the remaining storage space of the device. When the device's storage limit is exhausted "No space left on device" error is thrown by the library
Issue Link: https://mosip.atlassian.net/browse/INJI-42

Looks fine to me


automodule error with nested BaseModel

I have the following MRE:
'''Blah module'''

import typing

import pydantic

class Foo:
    '''Foo class'''

    class Bar(pydantic.BaseModel):
        '''Bar class'''

        x: str = pydantic.Field(description='The x.')

        @pydantic.validator('x')
        def do_nothing(cls, value: typing.Any) -> typing.Any:
            return value

In my .rst file, I have
.. automodule:: blah.blah
    :members:

make html produces
  File ".../autodoc_pydantic/inspection.py", line 352, in __init__
    self.attribute: Dict = self.model.Config
AttributeError: type object 'Foo' has no attribute 'Config'

So, autodoc_pydantic has somehow been led to believe that Foo is a pydantic.BaseModel.  What's interesting is, if I remove the validator, then the error goes away.
I'm using Python 3.8.10 and autodoc_pydantic 1.7.1.

Thanks for reporting this bug and the example code. This might be related to #124. I will come back to it soonish.

This bug is addressed via #131.
Before merging the related PR, it would be great if you could test the bugfix on your site. To do so, please install the current dev release in your doc-building-environment via pip install<EMAIL_ADDRESS>and rebuild your docs.

Works perfectly!


Write/Reply file format on linux

May be due to recent change for windows, when sending/replying a mail, nvim on Linux display ugly  ^M EOL.
Setting fileformat to dos makes not difference.
Note that there is only one blank line between Subject and signature.. We now have to manually add one blank line.
Content-Type: text/plain; charset=utf-8^M
From: *****<EMAIL_ADDRESS>To:  ^M
Subject: ^M
^M
Regards,

It is because the template was written with writeln! macro, which adds a \n at the end. Because of that, the template contained a mix of \r\n and \n which broke the file format. Thanks for the report!


Modularize + tons of features

Hi team.
I have changed the entire structure developed in the previous version adding more Istio features to this package.
Release notes
Changelog
This release contains a lot of changes:

Adds new Istio features
Restructure this module. Making possible to install it in a modular way.

New Features
Citadel
Added Citadel as part of the istio package. You can find more information
about it in the Citadel subpackage.
Sidecar injector
Added Sidecar injector as part of the istio package.
You can find more information about it in the Sidecar-injector subpackage.
Egress gateway
Added egress gateway as part of the istio package.
You can find more information about it in the egress gateway subpackage.
Code restructure
Moved from a single package installation to a modular one.
Enables the following istio deployment in a independent way:

Minimal
Minimal + telemetry
Minimal + kiali (requires telemetry)
Minimal + kiali (requires telemetry) + egress gateway
Minimal + Citadel
Minimal + Citadel + telemetry
Minimal + Citadel + kiali (requires telemetry)
Minimal + Citadel + kiali (requires telemetry) + egress gateway
Minimal + sidecar-injection (requires Citadel)
Minimal + sidecar-injection (requires Citadel) + telemetry
Minimal + sidecar-injection (requires Citadel) + kiali (requires telemetry)
Minimal + sidecar-injection (requires Citadel) + kiali (requires telemetry) + egress gateway

 Create fury-kubernetes-service-mesh

t most of the parts are deployed using kustomize and also see references to using helm (v2 I assume), wouldn't it be better to use just one of them? am I missing something?

About this questions. Helm references you will found are related about how this module has been developed.
We rendered the official istio helm chart to get "raw" manifest with some configurations. Once rendered, we modified the resulting yaml to be compliant with our kustomize architecture making "easy" to be deployed in a modular way.
I used helm2 instead of helm3 because i'm not sure if istio helm chart is ready to be rendered with helm3 as it has some hooks. But i thought that the result of rendering with helm or helm 3 would be the same.

Too big to review for real, as @ralgozino was saying, assuming everything is fine, documentation is well written, LGTM 👍

This PR is really huge therefore I trust the pipeline for manifests correctness.
The docs are really well written, thank you @angelbarrera92!
One question: why did you chose to split the ServiceMonitor resources to a separate base in the telemetry package?

This PR is really huge therefore I trust the pipeline for manifests correctness.
The docs are really well written, thank you @angelbarrera92!
One question: why did you chose to split the ServiceMonitor resources to a separate base in the telemetry package?

Good question @lnovara!
Putting ServiceMonitor in a separate package makes telemetry package compatible with a single prometheus installation (without prometheus-operator).
Is up to the client to choose the correct package. If you are using prometheus-operator, it's better to choose the telemetry + serviceMonitor package. Otherwise, you can use telemetry writting your own prometheus configuration file.

Makes sense, thanks for the explanation.

It's ready to be merged and released?

From my point of view it's ready, but I see that @ralgozino asked for some changes in his review.

The changes that I requested are mainly clarifications / improvements to docs, if there's a need to merge now we can merge as it is and start working in parallel on improving the docs.

Merging!


Static Human

Hello,I'm sorry to bother you. I tried to set several static humans whose start points are the same as their goals. But I found during navigating,the static cicles would also move,they didn't keep still. I don't know why,is this situation normal? I mix generate_circle_crossing_human strategy and generate_square_crossing_human strategy, may this cause the problem?

In the orca.py , he said, "Agent doesn't stop moving after it reaches the goal, because once it stops moving, the reciprocal rule is broken". I don't know the principle of RVO2, it may be the reason why they still move.

In the orca.py , he said, "Agent doesn't stop moving after it reaches the goal, because once it stops moving, the reciprocal rule is broken". I don't know the principle of RVO2, it may be the reason why they still move.

thanks a lot!

Hello,I'm sorry to bother you. I tried to set several static humans whose start points are the same as their goals. But I found during navigating,the static cicles would also move,they didn't keep still. I don't know why,is this situation normal? I mix generate_circle_crossing_human strategy and generate_square_crossing_human strategy, may this cause the problem?

fentuoli，你好。你mix generate_circle_crossing_human strategy and generate_square_crossing_human strategy，是修改env.config->[sim] train_val_sim = mixed 和 test_sim = mixed这样吗？希望交流一下。我QQ: 957465400, 微信：lixiahebaitiao。谢谢啦～


protoc 3.5.1 for FreeBSD is not statically linked

It's looking for libstdc++.so.6. 3.5.0 works fine.

Ping @kjopek can you help?

3.5.0 and 3.5.1 are linked more or less in the same way:


Investigate how investigation how new dev contributors can run components locally without access to our internal environment

https://docs.google.com/document/d/1tZ3VObjTHdTDhIsGuoqyorPqvesS18lnJ99q5aKeZmA


dropgalaxy.com not bypassing

Body
https://dropgalaxy.com
Please fix it
Version
0.2025
What browsers are you seeing the problem on?
Chrome
What OS are you seeing the problem on?
Linux
Anything else?
No response

Nothing to bypass here, can you provide another example link please?

Looks like just another clone of uploadrar.com family.

Nothing to bypass here, can you provide another example link please?

https://dgdrive.xyz/gjyk8kcrd1wj

While this is a new bypass, it shares the same bypass as another site, so it'll stay open.

@adsdestroyer Could you please bypass this timer?


Fixes static content images.

So when anonymous user access us page it can't see images on static content pages. Admin can.
Hardcode debugging shows that here field_gallery_image just doesn't exist for normal users and anonymous. Have NO IDEA why.
Luckily, the duplicate of that info was in #entity object. I just took it from there.

--
cc @mikefantini @sheyd @mshmsh5000

:+1:

Fixes gallery for #5702.

On Nov 3, 2015, at 17:41, Sergii Tkachenko<EMAIL_ADDRESS>wrote:
Fixes gallery for #5702.
—
Reply to this email directly or view it on GitHub.


Best practices for using Drupal VM in a project repository / with teams

I'm working on a project where drupal-vm has been added to the application repository in a box directory, and I would like to know if that reflects best practices in the Vagrant community. It would make much more sense to me to have the Vagrantfile in the repo root so that I could issue commands against the VM from anywhere inside my project's directory tree rather than having to cd into box. Would I be correct to assume that projects with from scratch Vagrant setups tend to do it that way? Is there a precedent for Vagrant "distributions" like drupal-vm? Is there any way to manage drupal-vm as a dependency, as with Composer--or is it even intended to be included inside other projects in the way I'm talking about it?

Would I be correct to assume that projects with from scratch Vagrant setups tend to do it that way?

Yep.

Is there a precedent for Vagrant "distributions" like drupal-vm?

Not so much that I've seen... one pattern some projects use is to have the box in a subdir (as you seem to be using); other patterns are to have Drupal VM installed completely independently, just referencing the project's docroot. There are a couple other projects (like a Node.js UI in front of Drupal VM for a very MAMP-like experience for adding/managing sites) that are trying to set a few different standards too.

Is there any way to manage drupal-vm as a dependency, as with Composer--or is it even intended to be included inside other projects in the way I'm talking about it?

Unfortunately, no; I haven't seen any way to configure a particular Vagrant setup using something like npm, composer, pip, rubygems, etc., though I do think that would be awesome.
I built (and maintain) Drupal VM as a completely independent project divorced from any single project configuration because I develop it first and foremost for myself :)
For my own usage I:

Have Drupal docroots or project folders in a separate location on my workstation (e.g. in ~/Sites/projectname).

Configure config.yml in Drupal VM to point to the Drupal docroots.
I also use Drupal VM for core and contrib work, in which case I just create a clone, build it with the right settings, and start hacking on the default core/contrib it downloads when it builds Drupal.

Would love to hear how other projects and teams are incorporating Drupal VM into their workflow and/or project repositories themselves. I know for a fact that some teams just fork Drupal VM in its entirety and include everything in the root directory of the project.

One other note I forgot to mention:
For my real big Drupal sites (e.g. ones that aren't personal, for fun, or for friends, like Server Check.in or Hosted Apache Solr), I actually do fork Drupal VM and create the entire project directory based around Drupal VM.
Of course, I also use the Drupal VM configuration (hacked a bit to just include Nginx, and just include the things/configuration I install on prod servers) to actually build my local, dev (cloud-based) and prod (cloud-based) environments... some teams just use Drupal VM for local environments, so their needs are a bit different.

Our team has set it up with the following structure:
- lib/drupal-vm       # git submodule
- vm/                 # running `make vm-install` copies the vm files here and symlinks the config
- config/config.yml   # Symlinked into the vm/ directory
- config/Vagrantfile  # A customised version which gets symlinked over drupal-vms version
- Vagrantfile         # simply delegates to vm/Vagrantfile
- Makefile

Makefile
vm-install:
	cp -r lib/drupal-vm vm
	ln -sf ../config/config.yml vm/config.yml
	ln -sf ../config/Vagrantfile vm/Vagrantfile

Root Vagrantfile
dir = File.dirname(__FILE__) + '/'
load dir + "vm/Vagrantfile"

This way it's somewhat easier to bring in VM updates from upstream, while being able to run vagrantcommands from anywhere in the our main repo.
My wishlist:

Get https://github.com/geerlingguy/drupal-vm/pull/293 merged so we dont need to maintain our version of the Vagrantfile
Ansible 2.0 as it might be possible to store the actual config.yml outside the drupal-vm directory and therefore remove the make vm-install step and use the drupal-vm directory as an unmidified git submodule checkout.

We are using it as part of a custom gulp based project builder. Gulp downloads all dependencies according to their kind and builds it all and puts it all in its place. This allows us to build things that are not built around any specific tech.

Well, I've already shared what my team is currently doing. Here's how I would like things to work:

The Vagrantfile would be in the root directory of the repo so that vagrant commands could be issued from anywhere within.
All support files would be stored in the location(s) an active member of the Vagrant open source community would expect to find them in. I prefer to observe conventions and best practices from the domain a technology belongs to rather than inventing my own paradigms.
There would be a clear distinction between files that came from drupal-vm and files that are a part of my project so that people would not assume, for example, that drupal-vm's README is project documentation that can or should be followed exactly in our context. That's one of the nice things about a vendor directory for Composer packages--nobody mistakes its contents for custom project assets.
If a team wants to track upstream changes, then the project would be included with a package management solution like Composer. If not (or if the project doesn't wish to support such a mechanism), perhaps a one-time installer would be the way to go.

I'll give some more thought to how these goals might be accomplished in terms of mechanics.

I've got a proof of concept working:
dir = File.dirname(__FILE__) + '/'

# Override the default config.yml location by specifying it's location globally.
$vconfig_file = "#{dir}/config.yml"
# Load the real Vagrantfile, this could also be within a composer vendor directory.
load "#{dir}/vm/Vagrantfile"

Modify the Vagrantfile to use the global variable if defined, and pass the path on to Ansible.
diff --git a/Vagrantfile b/Vagrantfile
index 1243c26..0f68471 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -17,10 +17,13 @@ end
 # Use config.yml for basic VM configuration.
 require 'yaml'
 dir = File.dirname(File.expand_path(__FILE__))
-if !File.exist?("#{dir}/config.yml")
+if !defined?('$vconfig_file')
+  $vconfig_file = "#{dir}/config.yml"
+end
+if !File.exist?($vconfig_file)
   raise 'Configuration file not found! Please copy example.config.yml to config.yml and try again.'
 end
-vconfig = YAML::load_file("#{dir}/config.yml")
+vconfig = YAML::load_file($vconfig_file)

 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   config.vm.hostname = vconfig['vagrant_hostname']
@@ -86,6 +89,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   if which('ansible-playbook')
     config.vm.provision "ansible" do |ansible|
       ansible.playbook = "#{dir}/provisioning/playbook.yml"
+      ansible.extra_vars = {
+        config_file: $vconfig_file
+      }
       ansible.sudo = true
     end
   # Provision using shell provisioner and JJG-Ansible-Windows otherwise.

Modify the playbook to include the config file dynamically instead.
drupal-vm master*: gd
diff --git a/provisioning/playbook.yml b/provisioning/playbook.yml
index 60b00de..77a1c15 100644
--- a/provisioning/playbook.yml
+++ b/provisioning/playbook.yml
@@ -1,10 +1,8 @@
 ---
 - hosts: all

-  vars_files:
-    - ../config.yml
-
   pre_tasks:
+    - include_vars: "{{config_file}}"
     - include: tasks/init-debian.yml
       when: ansible_os_family == 'Debian'
     - include: tasks/init-redhat.yml

This could be cleaned up a bit maybe, but would support storing the drupal-vm in an unmodified tree either as a git submodule, or as a composer library. The only thing the user needs to do is to create a secondary Vagrantfile in the project root directory that sets the vconfig path, and delegates everything to the real Vagrantfile. After that vagrant commands can run from anywhere within the project tree.

I have to say that I disagree with this approach. I my team's workflow
drupalvm is a tool and not the project.
The project is managed by gulp. Gulp downloads drupalvm along with all our
other project repositories. Vagrant commands are wrapped in gulp commands
and thus the vagrant file can be anywhere in our project folder. Gulp
configures vagrant to share from a build directory and all our source
repositories are stored in src.
In the end this keeps projects separate and allow the tools to be updated
independent of the project.
On Sat, Nov 14, 2015, 06:22 Oskar Schöldström<EMAIL_ADDRESS>wrote:

I've got a proof of concept working:
dir = File.dirname(FILE) + '/'
Override the default config.yml location by specifying it's location globally.$vconfig_file = "#{dir}/config.yml"# Load the real Vagrantfile, this could also be within a composer vendor directory.
load "#{dir}/vm/Vagrantfile"
Modify the Vagrantfile to use the global variable if defined, and pass the
path on to Ansible.
diff --git a/Vagrantfile b/Vagrantfile
index 1243c26..0f68471 100644--- a/Vagrantfile+++ b/Vagrantfile@@ -17,10 +17,13 @@ end
Use config.yml for basic VM configuration.
require 'yaml'
dir = File.dirname(File.expand_path(FILE))-if !File.exist?("#{dir}/config.yml")+if !defined?('$vconfig_file')+  $vconfig_file = "#{dir}/config.yml"+end+if !File.exist?($vconfig_file)
raise 'Configuration file not found! Please copy example.config.yml to config.yml and try again.'
end-vconfig = YAML::load_file("#{dir}/config.yml")+vconfig = YAML::load_file($vconfig_file)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.hostname = vconfig['vagrant_hostname']@@ -86,6 +89,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if which('ansible-playbook')
config.vm.provision "ansible" do |ansible|
ansible.playbook = "#{dir}/provisioning/playbook.yml"+      ansible.extra_vars = {+        config_file: $vconfig_file+      }
ansible.sudo = true
end
Provision using shell provisioner and JJG-Ansible-Windows otherwise.
Modify the playbook to include the config file dynamically instead.
drupal-vm master*: gddiff --git a/provisioning/playbook.yml b/provisioning/playbook.yml
index 60b00de..77a1c15 100644--- a/provisioning/playbook.yml+++ b/provisioning/playbook.yml@@ -1,10 +1,8 @@

hosts: all
vars_files:-    - ../config.yml-
pre_tasks:+    - include_vars: "{{config_file}}"

include: tasks/init-debian.yml
when: ansible_os_family == 'Debian'
include: tasks/init-redhat.yml

This could be cleaned up a bit maybe, but would support storing the
drupal-vm in an unmodified tree either as a git submodule, or as a composer
library. The only thing the user needs to do is to create a secondary
Vagrantfile in the project root directory that sets the vconfig path, and
delegates everything to the real Vagrantfile. After that vagrant commands
can run from anywhere within the project tree.
—
Reply to this email directly or view it on GitHub
https://github.com/geerlingguy/drupal-vm/issues/305#issuecomment-156702888
.

@frob if the approach you mentioned is the one I posted, it does exactly that, no? Separating drupal-vm into an easily updatable tool instead of having it scattered within the project.
Only difference is it uses a delegating Vagrantfile instead of a delegating gulpfile.js file.

@oxyc Sorry, I didn't see the vagrantfile delegation, and I didn't know that was possible. If none of those modifications break drupal-vm working as a standalone part, then I think they would make good additions. As it stands my I have gulp commands that modify the config based on the project; this should let us specify an outside location for project specific config.
@TravisCarden "All support files would be stored in the location(s) an active member of the Vagrant open source community would expect to find them in. I prefer to observe conventions and best practices from the domain a technology belongs to rather than inventing my own paradigms"
How about a pull request or some direction as to where these locations are.

@oxyc I tried your Vagrantfile delegation. I found it lead to unstable results. I am running on osx 10.10. When I ran that, and I provisioned without going through the delegate Vagrant file, vagrant would give me an incorrect status when I ran vagrant status through the delegate.

@frob ah, nice research! Maybe the .vagrant/ directory is created in the subdirectory and therefore not accessible in the root. I'll see if I can come up with something later

And, @frob, my remark about wanting things to be stored where an active member of the Vagrant community would expect to find them was not meant to imply that I know where those locations are. I don't, as I'm only starting out with Vagrant myself. My reason for creating this issue was to see if others could supply that knowledge of best practices that I lack in this instance. :)

@oxyc I think you assumption about the .vagrant directories is correct.
I noticed that there where .vagrant directories in both the drupal-vm directory and the project root.

Also, check out a tool like Lunchbox, which @nateswart has been working on as a kind of GUI wrapper around Drupal VM. I know there are a few different tools set up like this to 'wrap' Drupal VM, and it would be interesting to see if there are some ways we can make the core of Drupal VM be flexible and work well with all these tools.

this is orthogonal to Drupal VM, but its solving the same problem
I've been looking into tsuru.io, a Heroku esque paas
https://github.com/tsuru/tsuru/issues/1321
I noticed Heroku provide dev - prod parity using Docker for local dev
https://blog.heroku.com/archives/2015/5/5/introducing_heroku_docker_release_build_deploy_heroku_apps_with_docker
haven't got much more to say, other than I use Aegir 3 git provisioning with direct git remotes to Pantheon from a Vagrant VM using many of the Drupal VM Ansible roles
its a good local development environment and it has a deployment system built in
it also has the advantage of using Aegir and so I have 1 VM, not many.. easier to manage imho
https://github.com/GetValkyrie/valkyrie

Over the past 12 months, I've created and am currently maintaining fairly complicated DrupalVM setup
The process in which the supported machines work is that a bash script goes and git clone/pull various repositories before copying the configuration files and performing many sed commands to modify and change settings. I've got some interesting things going on such as a random IP address and several custom ansible roles.
The provisioning process isn't configured to build any sites but I've created lots of integrated scripts for various functions such as building new sites from an acquia account, rebuilding, killing off, database download/upload, file download/upload, remaking all the virtual hosts on nginx and apache if the respective file system exists... There are dozens of utility scripts I've created which all communicate with each other and a command line interface menu style script.
During this process it'll also git pull the respective "code bases" on the acquia account so that when commits are made they're up to date...
Reprovisioning is kinda like maintenance, it'll go through and fix anything that shouldn't be as it is, update any packages or software and most importantly update all the scripts stored in git we use for development.
Yeah it's all command line, and a GUI would be incredible, but it's a matter of application to the needs of the user. I get paid to look after this thing as well as develop websites, so I have to commit my time to the best use of my organisation. A web GUI isn't feasible in my case.

I would also add
Laravel's Homestead and Joomla's Joomla Box are worth looking at
http://laravel.com/docs/4.2/homestead
https://github.com/joomlatools/joomlatools-vagrant

Could those involved in this thread have a look at #378 from @frob and give some feedback? This method would allow Drupal VM to exist on its own or within another project inside a directory (e.g. box or something like that). There are still things to work out with the approach, but it doesn't seem too unwieldy to me.
For my own needs, when I have Drupal VM in a project, I add a second example.config.yml for devs to clone inside a box directory, then devs cd into that directory to manage the VM (other work is done within the root directory). Not too much more hassle, but it would be cool to be able to do all the vagrant stuff from the project root.

Had a look at beetbox and saw they loaded a local.config.yml if available.
This could be pretty useful for teams to track a shared config and then let individual developers override things with the untracked local.config.yml.

@oxyc - At a minimum, I like this idea as well. I currently hack example.config.yml when I need to have project-specific overrides shared with a team, and that's not ideal.
I think Drupal VM's solidly used by many teams now, whereas I originally built it only for individual usage patterns.

If we add support for local.config.yml, storing Drupal VM in a subdirectory (#378) as well as Vagrantfile.local from #401, I think we would have solved most issues mentioned here. Except for actually managing drupal vm as a dependency. https://github.com/geerlingguy/drupal-vm/issues/305#issue-116259201
Could probably merge all the docs from those issues into a Using Drupal VM with teams section.

A big +1 to the idea of support for local.config.yml (as well as Vagrantfile.local--nice addition).
Just to offer another use-case, I usually need to work on several projects concurrently, and (provided the environments don't need to differ substantially) I find an individual VM per project to be too heavy. So I typically have 1-3 VMs containing a couple or several projects, with config.yml (or equivalent) files version-controlled separately.
More on-topic, if my team were all using the same dev environment (we don't...), I think we'd probably structure the files so that we could include at most config.yml in the repository. E.g. like this:
project
  - box
    - config.yml
    - drupal-vm
      - config.yml -> ../config.yml
      - [ other drupal-vm files ]
  - docroot

...with a .gitignore like this (or just git add -f):
box/*
!box/config.yml

This means setup for anyone to join or test the project is cloning drupal-vm into the boxes directory and creating a symlink. But I'm not even sure we'd want any of the dev environment configuration in the actual repo.

I've gotten around this problem by adding a local variables file in /provisioning/vars/vars.yml or something to that effect and including it. There's no need for a full new config file when you can simply override everything by redeclaring the variables in question.
It helps with maintainability when you need to upgrade the config files.... Which I need to do again soon!

@fubarhouse I think that is exactly what they are using the config.local.yml for.

I've updated the docs a bit to highlight some of the tools that can help manage Drupal VM (either for individuals or as part of a team): http://docs.drupalvm.com/en/latest/other/management-tools/
But a lot of the work @oxyc and others have been working on will make Drupal VM much more flexible in a team environment, most especially the idea of a 'local' Vagrantfile and a 'local' config.yml (just like Drupal 8 now has a baked in local settings.php option.

I'd like to talk specifically about this issue (but also anything that's related) at DrupalCon NOLA—please come to the BoF: Drupal VM and local Drupal development for teams

Wednesday, 10:45 - 11:45 p.m.
Room 289 (Chromatic)

Thought I'd describe my ideal setup for teams:
repository
  - lib/
    - drupal-vm/ # git submodule
      - example.config.yml
    - company-conf/ # git submodule
      - drupal-vm.config.yml # company specific configurations
  - config/
    - drupal-vm.config.yml # This is a project specific config
    - drupal.make.yml #
    - deploy.rb
    - ....
  - docroot/
    - index.php
    - ....
  - Vagrantfile
  - local.config.yml
```

1. The root `Vagrantfile` would delegate all commands to `lib/drupal-vm/` which is a locked checkout of the Drupal VM repository. There's an active PR for this.

2. The delegating `Vagrantfile` would also specify that the `config.yml` file is located in `config/drupal-vm.config.yml`. This file should somehow also include the config file in `lib/company-conf/drupal-vm.config.yml`.

Project specific `config/drupal-vm.config.yml` would only contain project specifc settings and overrides. If the site needs SOLR it would be added here for example.
```yaml
 vagrant_hostname: project.dev
 vagrant_machine_name: project
 vagrant_ip: <IP_ADDRESS>
```

Company shared `lib/company-conf/drupal-vm.config.yml` contains company best-practice configurations to streamline development.
```yaml
vagrant_box: geerlingguy/ubuntu1404
vagrant_user: vagrant
vagrant_synced_folder_default_type: nfs

... and the rest of the configuration.
```

User specific `local.config.yml` which is untracked would contain eg:
```yaml
vagrant_memory: 2048
```

---

This would make it very easy to share configurations across multiple projects and keep them all up to date with Drupal VM. It still is able to lock all versions of everything not to break on updates.

This looks like it is becoming a new project all on its own. I would hope the goal for drupalvm is to be flexible enough to allow for this, but not dictate it.

Yes for sure. It needs to be easy to get started. Once Vagrant 1.8.2 comes out the delegating Vagrantfile PR would be possible.
The only other feature needed would be to allow multiple config files to be read. There's a related task for this already https://github.com/geerlingguy/drupal-vm/issues/455

I'm still in the process of upgrading our ~20 repos to use php5-fpm instead of mod_php since that became the default in Drupal VM. Having a company wide base config to inherit from would make it a lot easier to maintain :)

Looking forward to a sprint to get this nailed down at Drupalcon.
I've been testing #378 to ease the upgrade situation across many projects.

@oxyc I've also adopted the use of php5-fpm when using nginx, and mod_php with apache2 on the drupal vm platform.
I don't actually know if there's an equivalent for php v7, but if in the event there is no equal, a solution will be needed.
@geerlingguy will the speech be available afterwards for us international people who're interested?

@fubarhouse - I'll try to do so... will also try to find a way to connect to a Hangout or something like that too, so more people can remotely participate.

I wanted to throw yeoman into the discussion, such as drupamvm generator.  not sure if @kevinquillen has seen this thread (author or drupalvm generator).

I have seen this thread - I recently updated the yeoman generator to be in line with the 2.4.0 release of DrupalVM. That yeoman script started as a more friendly assistant to non technical people who don't know much about conf names and values to guide them through setting up a config.yml for DrupalVM.
For us, every new project starts with the 'yo drupalvm' to generate the configuration. It is then committed into the project under tools/drupalvm, so anyone who checks out the project simply navigates to that directory and does vagrant up. These folks have vagrant autonetwork and hostsupdater plugin installed before hand, so <IP_ADDRESS> in the config.yml poses no conflict to them (which is how I will do any project I start).
Our projects look as such:

docroot
tools
--- drupalvm

We don't use one VM to run multiple sites. We run one VM dedicated to the project being worked on. We try to mirror the setup on Acquia, so when it is time to lift from local to dev, it's as smooth as it could be.
We have not run into an instance yet where Vagrantfile needed to be changed for particular team members. The only real pain point at the moment is winnfsd not working on all Windows machines. It only works for certain people and I cannot determine why yet - it causes us to have to use rsync instead in config.yml which I do not particularly enjoy at all - which is not an issue for DrupalVM but in that plugin.

I've been watching this thread with interest as it's the primary reason Drupal VM was not suitable for our use case as we needed a centralised provisioning system across multiple projects each with their own configuration differences. The provisioning system also needed to be independent to each project so all dependencies were available to any single project.
This was the initial concept behind beetbox -- https://github.com/beetboxvm/beetbox
which uses the same roles as Drupal VM.
All provisioning scripts live inside the base box and don't need to be managed within the project, only overrides need to be set, upgrades are managed when updating the base box and project versions are in sync with the box versions. Unprovisioned base boxes are also supported if you need a very customised build.
There was also some unintended benefits - linked clones means we only need a single master VM of the base box and each VM is a lightweight clone + we're able to reuse the configuration to build out our CI environment which immediately fixed "only fails in CI" tests and any failed tests are easy to replicate locally.
Here's an example of a project which implements beetbox -- https://github.com/drupalmel/drupalmel
Only overrides are set in the project's config.yml (as we implement the same roles, almost all Drupal VM config vars are supported here) -- https://github.com/drupalmel/drupalmel/blob/master/.beetbox/config.yml
This project also has a custom post provisioning task to setup behat -- https://github.com/drupalmel/drupalmel/blob/master/.beetbox/tasks/post/behat.yml
And the CI build reuses the same config.yml --  https://circleci.com/gh/drupalmel/drupalmel/3 - (A fork/branch which changes config.yml will be tested with this config.)
Very interested in hearing the outcome of the BoF @ DC, will try to attend via hangouts if possible.

I started playing around with d8 base repo to work from and so far came up with a company opinionated fork of drupal-project. In case someone is looking for ideas.

A lot of it is based on the conventions in roots/bedrock. I've learned to enjoy them and as our team uses both Drupal and Wordpress it helps to have a common structure.

Database settings and the hash salt are configured in an .env file. A project repo would supply a .env.example file which defaults to Drupal VM configurations. Other environments would have a customized one.
This is mostly to streamline how we configure this both for Wordpress and for Drupal. But honestly I prefer it over settings.local.php. Now settings.local.php would only do things such as disabling varnish if unavailable in the specific environment.

Drupal VM is included as a git submodule with a delegating Vagrantfile. For now we need to run make vm each time we clone the repo.

Added an config/environments.yml file containing drush and trusted hosts info for all environments. Combined with our drush/aliases.drushrc.php all remote aliases work out of the box when a team member clones the repo.

We add config/environments/<env>.php files that are included in settings.php depending on the environment mode. This way we can easily toggle development and production mode on the dev box by only settings env: production in our .env file.
Another bedrock convention mostly for streamlining things. But again I like this more than adding conditionals to settings.php.

We use rsync for native speed, except for config/drupal (the sync config directory) which has NFS to get two-way sync when running drush config-export.

@oxyc Is the delegating Vagrantfile committed to the project?  Seems that this should moved into place as part of the make process.
A couple of things less on-topic -
I like the way the drush aliases read from the yaml file.  Slick.
Curious if local drush site-install plays nicely with the .env and config/environments?  Seems that Drush/Drupal install overwrite the settings.php file.
good stuff, thanks.

@joestewart yes it's committed as it only contains a single load call to Drupal VMs version. The only thing done with the make task is copying the drupal-vm directory to a separate folder (vm/) and symlinking the config.yml file into that directory. Once we get #378 in, this step isn't needed anymore.
site-install works as the settings.php file already exists and is non-writable. One downside is that I need to change the install_profile variable manually if I change it in config.yml. But this isn't much of a hassle as it's only done once per project.
Yeah I like the environments.yml a lot as well! Later on I plan to re-use this file for our capistrano deploy tasks as well.

@oxyc with the correct command, you can specify the install profile through site-install.
http://drushcommands.com/drush-7x/core/site-install/
I've actually moved many of my scripts into jenkins on my vm, but I'm yet to approach the issue of getting the jenkins install on any other vms using the same system working with acquia, ssh and everything...
The VM can communicate with almost 200 independent websites and scripts can be made to do exactly that and also make local versions - and ansible could even template one based on variables and run it after completion - if users of drupal-vm are wanting to do something more unique.
I suppose the best way forward for automation would be to have some solid data demonstrating the demands of the users of drupal-vm and then discussing options...

Thank you, everyone, for your amazing amount of input in this issue, outside this issue, in the halls of DrupalCon, etc. And thanks especially for @oxyc and @thom8 (among others) in pushing up some of the code to implement suggestions in here.
While we will have an ongoing discussion over ways to optimize Drupal VM for teams moving forward, I think a few of the more recent developments feature-wise will make team-based usage extremely efficient:

Ability to provide a config.yml for the team (version controlled in the team's project repo), then have members override with local.config.yml (docs)
Ability to override settings/provisioning via Vagrantfile.local (docs)
Ansible role requirements file locks in role versions and stores them local to the VM directory, so you can have different VM versions on one computer (no shared roles, no 'always use master and break things' when upgrading).
Projects like Acquia's Bolt, Lunchbox, etc. that add additional wrappers around Drupal VM's initial setup.

I'm missing a few of the other improvements here—forgive me, DrupalCon this year was quite a whirlwind, and I'm still compiling all my notes!—but I'll be wrapping things up a bit more in a blog post soon, and I think any further improvements will be best suited to their own dedicated issues.
Just to add a final summary of what I currently see as the best way of utilizing Drupal VM for a team:

(Once https://github.com/geerlingguy/drupal-vm/issues/628 lands) Add Drupal VM as a project dependency—OR place a copy of Drupal VM (either subtree/submodule/manual copy) in a vm or box directory alongside your docroot.
Copy example.config.yml to config.yml and customize for your team's environment defaults.
Each developer can then override specific settings in a gitignored local.config.yml (and, optionally, Vagrantfile.local.
Generally, its preferable to maintain the building/updating of the Drupal codebase itself outside of Drupal VM, though automatic initial setup via make file or composer.json will be supported as it is now.
For Drupal VM updates/upgrades, copy in all the Drupal VM files, and do a diff between the new example.config.yml and your config.yml, adding/modifying variables as noted in the version Release Notes on GitHub.

@geerlingguy Thanks for the description above.
The steps you intend on providing will actually allow me to update my system without having to assess each line of code separately on each upgrade. I look forward to this, but it's useful to know the way I've implemented a system like this is already the best possible method to date.


BREAKING CHANGE to CT resource schema: Change primitives from set to map

Problem Statement
Connectivity Templates are implemented as trees of ep-endpoint-policy nodes. Our previous implementation of CT resources persisted the ID of the root node (the specific ep-endpoint-policy node which represents the whole CT) through edits, but did not persist the IDs of branch and leaf nodes within the tree. Edits to an existing CT modified IDs deep inside the tree. These changes had adverse effects to applied CTs which required follow-on modifications like configuring IP addresses on point-to-point logical links.
Schema Change
CT primitives used to be stored as sets, each with a name attribute. Now they are maps, keyed by the primitive name.
Old Style
resource "apstra_datacenter_connectivity_template_loopback" "example" {
  blueprint_id = local.blueprint_id
  name         = "old style"
  bgp_peering_ip_endpoints = [
    {
      name         = "neighbor_a" # <==== primitive name is an attribute
      neighbor_asn = null
      bfd_enabled  = true
      ipv4_address = "<IP_ADDRESS>"
    },
  ]
}

New Style
resource "apstra_datacenter_connectivity_template_loopback" "example" {
  blueprint_id = local.blueprint_id
  name         = "new style"
  bgp_peering_ip_endpoints = {
    neighbor_a = { # <=================== primitive name is the map key
      neighbor_asn = null
      bfd_enabled  = true
      ipv4_address = "<IP_ADDRESS>"
    },
  }
}

Details
Preventing ID churn deep within the tree of CT primitives requires us to keep track of the IDs of those primitives. In the old style config, primitives were members of sets, and those sets could nest a few layers deep.
Because set elements are dereferenced by their value, we can't put Computed attributes (the IDs) into an object which represents a set element. Adding the ID would change the value, destroying the old element, and creating a new one. Terraform would complain.
The new scheme solves that problem by keeping the primitives as (nested) maps. Maps elements are referenced by their key, so Computed values do not cause a problem.
We now keep the pipeline (upstream), policy, and batch (downstream) IDs for each primitive, and re-use these values during Update().

Closes #977


Example with Angular 2 and {N}

Hi, thanks for this plugin.
It's really easy to implement.
Here's an example for whos is interested in try with Angular:

import {Component, ElementRef, ViewChild} from '@angular/core';
import {registerElement} from "nativescript-angular/element-registry";

registerElement("DrawingPad", () => require("nativescript-drawingpad").DrawingPad);

@Component({
    selector: 'drawing-pad-example',
    template: `
    <ScrollView>
        <StackLayout>
            <DrawingPad #DrawingPad
            height="400"
            id="drawingPad"
            penColor="#ff4081" penWidth="3">
            </DrawingPad>

            <StackLayout orientation="horizontal">
                <Button text="Get Drawing" (tap)="getMyDrawing()"></Button>
                <Button text="Clear Drawing" (tap)="clearMyDrawing()"></Button>
            </StackLayout>
        </StackLayout>
    </ScrollView>
    `
})
export class DrawingPadExample {

    @ViewChild("DrawingPad") DrawingPad: ElementRef;

    getMyDrawing(args) {
        // get reference to the drawing pad
        let pad = this.DrawingPad.nativeElement;

        // then get the drawing (Bitmap on Android) of the drawingpad
        let drawingImage;
        pad.getDrawing().then(function(data) {
            console.log(data);
            drawingImage = data;
        }, function(err) {
            console.log(err);
        });
    }

    clearMyDrawing(args) {
        var pad = this.DrawingPad.nativeElement;
        pad.clearDrawing();
    }
}

Awesome. If you want you can submit a PR with this example to the readme file. I can add it if you'd rather me do it. No worries.

Either way, I'm happy 😄
How about readme and an example angular app inside demo folder as well?
I can do tonight(Australia), but if you have some free time and would like to update...no worries 🍺

Go for it. I'll add you to the contributors on npm when done and you add
yourself to the package.json in the contributors block. If you aren't
familiar check some of the other plugins for that in the package.json :)
thanks.
On Tue, Jun 14, 2016, 7:51 PM Leo Caseiro<EMAIL_ADDRESS>wrote:

Either way, I'm happy 😄
How about readme and an example angular app inside demo folder as well?
I can do tonight(Australia), but if you have some free time and would like
to update...no worries 🍺
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bradmartin/nativescript-drawingpad/issues/2#issuecomment-226059465,
or mute the thread
https://github.com/notifications/unsubscribe/AFulhGGjnJAA0JTJYStqGxmg0v7JP-dpks5qL0yYgaJpZM4I15bw
.

Thanks...Will do it. Really appreciate it.


"Trying to access array offset on value of type bool"

On PHP 7.4.22 calling getDevice on Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Silk/60.2.12 like Chrome/60.0.3112.107 Safari/537.36 results in:
Notice: Trying to access array offset on value of type bool in /.../vendor/foroco/php-browser-detection/src/BrowserDetection.php on line 587

Hi @lonnylot
Fixed in v2.3
This Warning Notice appears since PHP version 7.4.
Thank you for participating!


Docs and minor code fixes

hope this works:
changed __call__ to .opts() in 3 files

@ea42gh @jordansamuels  Thank you both - this is really helpful!
I wasn't looking forward to updating all these references myself but you two seem to have sorted it out! Skimming the diff here, the changes all look right but I'll have another pass before merging.
This PR should probably be merged first and then I can review and merge @jordansamuels PR.

Yup, all looks good!
Merging.


context lose with async & await

const { createNamespace, getNamespace } = require('continuation-local-storage');

const ns = createNamespace('test');

ns.run(async () => {
    ns.set('value', 1);
    console.log(ns.get('value'));
    await asyncfun();
    console.log(ns.get('value'));
});

function asyncfun() {
    return Promise.resolve();
}

//got
1
undefined

CLS does not support async/await. You can try cls-hooked. Side note though: async/await support in async_hooks is currently broken in Node.js 10.

I'm not sure why, but this exact code seems to be working totally fine for me with<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>Anyone know if something changed?


Upgrade next10.1 enable webpack5

added next.config.js and followed instructions, webpack currently has a bug that throws a warning but after talking with Tobias Koppers (webpack founder) he said they will fix it soon.
persistent caching will not work until bug fixed.

Thanks! The pull-request includes some unrelated commits, can you please rebase it against urish/pull-request-community?

Hi Elad,
Any updates from Webpack regarding the warning?

Nextjs 10.2.0 has just been released, seems to fix the issue


No space left device.

Describe the bug
When I run my docker command. The process seems to proceed fine but will eventually return the message
systemd-journald: Failed to create new system journal: No space left on device.
systemd-journald: Failed to create new user journal: No space left on device
To Reproduce
This is the command I'm using
docker run -it --rm --shm-size=29g \
  -e PBF_URL=https://download.geofabrik.de/north-america/us-latest.osm.pbf \
  -e REPLICATION_URL=https://download.geofabrik.de/north-america/us-updates/ \
  -e IMPORT_WIKIPEDIA=false \
  -v /ssdstorage2/nominatimdata/postgresdata:/var/lib/postgresql/12/main \
  -p 8080:8080 \
  --name nominatim \
  mediagis/nominatim:4.2

Expected behavior
Expecting it to not fail!
Screenshots & Logs
If applicable, add screenshots & logs to help explain your problem.

Desktop / Server (please complete the following information):

OS & Version: Ubuntu 20.04.2 LTS
Docker Version: 20.10.22, build 3a2c30b
Nominatim Version: 4.2

Additional context
ssdstorage2 has plenty of space.  Its 1 tb in size and this would have been the only thing on the drive.
I only get this in versions 4.2 and 4.1.  However, it seems to be working with version 4.0 and below (I was running 3.7 for a while)

Hi, I am having the same problem. I managed to install Monaco without problems, but France and Europe gave me this problem. I am now installing the Alpes region of France, it hasn't finished but I can see that it has already used more than 10GB on my VM disk.

I think you should use the flatnode file:
-e NOMINATIM_FLATNODE_FILE=/nominatim/flatnode/flatnode.file

@gsg-git i tried this but this doesn't help:
sudo docker run -it \
  -v nominatim-flatnode:/nominatim/flatnode \
  -e PBF_URL=https://download.geofabrik.de/europe/germany-latest.osm.pbf \
  -e REPLICATION_URL=https://download.geofabrik.de/europe/germany-updates/ \
  -p 8080:8080 \
  --name nominatim \
  mediagis/nominatim:4.3

023-12-10 23:32:23: Done 69229 in 36 @ 1920.503 per second - rank 25 ETA (seconds): 9.85
2023-12-10 23:32:24: Done 71149 in 37 @ 1913.688 per second - rank 25 ETA (seconds): 8.88
2023-12-10 23:32:25: Done 73062 in 38 @ 1912.173 per second - rank 25 ETA (seconds): 7.89
2023-12-10 23:32:26: Done 74974 in 39 @ 1909.916 per second - rank 25 ETA (seconds): 6.89
2023-12-10 23:32:27: Done 76883 in 40 @ 1916.580 per second - rank 25 ETA (seconds): 5.87
2023-12-10 23:32:28: Done 78799 in 41 @ 1915.197 per second - rank 25 ETA (seconds): 4.88
2023-12-10 23:32:29: Done 80714 in 42 @ 1914.132 per second - rank 25 ETA (seconds): 3.88
2023-12-10 23:32:30: Done 82628 in 43 @ 1915.103 per second - rank 25 ETA (seconds): 2.88
2023-12-10 23:32:31: Done 84543 in 44 @ 1917.137 per second - rank 25 ETA (seconds): 1.88
2023-12-10 23:32:32: Done 86460 in 45 @ 1912.156 per second - rank 25 ETA (seconds): 0.88
2023-12-10 23:32:33: Done 88141/88141 in 46 @ 1912.823 per second - FINISHED rank 25

2023-12-10 23:32:41: Starting indexing rank (26 to 30) using 16 threads
2023-12-10 23:32:41: Starting rank 26 (using batch size 1)
Traceback (most recent call last):
  File "/usr/local/bin/nominatim", line 12, in <module>
    exit(cli.nominatim(module_dir='/usr/local/lib/nominatim/module',
  File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 225, in nominatim
    return get_set_parser().run(**kwargs)
  File "/usr/local/lib/nominatim/lib-python/nominatim/cli.py", line 121, in run
    return args.command.run(args)
  File "/usr/local/lib/nominatim/lib-python/nominatim/clicmd/setup.py", line 134, in run
    indexer.index_full(analyse=not args.index_noanalyse)
  File "/usr/local/lib/nominatim/lib-python/nominatim/indexer/indexer.py", line 140, in index_full
    if self.index_by_rank(26, 30) > 1000:
  File "/usr/local/lib/nominatim/lib-python/nominatim/indexer/indexer.py", line 174, in index_by_rank
    total += self._index(runners.RankRunner(rank, analyzer), 20 if rank == 30 else 1)
  File "/usr/local/lib/nominatim/lib-python/nominatim/indexer/indexer.py", line 210, in _index
    total_tuples = cur.scalar(runner.sql_count_objects())
  File "/usr/local/lib/nominatim/lib-python/nominatim/db/connection.py", line 53, in scalar
    self.execute(sql, args)
  File "/usr/local/lib/nominatim/lib-python/nominatim/db/connection.py", line 36, in execute
    super().execute(query, args)
  File "/usr/lib/python3/dist-packages/psycopg2/extras.py", line 146, in execute
    return super().execute(query, vars)
psycopg2.errors.DiskFull: could not resize shared memory segment "/PostgreSQL.571434360" to 50438144 bytes: No space left on device

I have just tried again but for the whole planet and with a new computer (196GB RAM and 4TB) and after 1,5 days and more than 2TB later I got this message, pretty much the same you received.
@gsg-git any suggestions?
I used this:
docker run -it
-v nominatim-flatnode:/nominatim/flatnode
-e PBF_URL=https://ftp5.gwdg.de/pub/misc/openstreetmap/planet.openstreetmap.org/pbf/planet-latest.osm.pbf
-e REPLICATION_URL=https://ftp5.gwdg.de/pub/misc/openstreetmap/planet.openstreetmap.org/replication/day/
-p 8080:8080
--name nominatim
mediagis/nominatim:4.3

My docker-compose

I also meet problem

And still plenty of storage for flatnode

I also format many type filesystem and rerun but no affect btrfs, xfs

I have just tried again (started last 1,5 days ago) and it stopped again after RANK 26.
What can I try?

Here is a thread giving you an idea what hardware you need to import the entire planet and how long it takes: https://github.com/mediagis/nominatim-docker/discussions/265

It seems like it's normal for an import to take several days.

Hi, thanks for your answer. I am runningn a PC with 2,5 TB of free disk and 192 GB of ram. That is why I am surprised that I don't manage to get over RANK 26.
Am I doing anything wrong? Maybe a set up on Docker or on my prompt?

I'm guessing that there's no actual resolution to the original problem yet?

If you get the error in the title you're running out of either RAM or disk. I would triple check that you're assigning enough resources to the container. For example, docker on windows runs in a VM which by default limits RAM and disk.
On other OSs there might be other restrictions and limits.

If you get the error in the title you're running out of either RAM or disk. I would triple check that you're assigning enough resources to the container. For example, docker on windows runs in a VM which by default limits RAM and disk.
On other OSs there might be other restrictions and limits.

I'm a few months removed now from the issue.  But there was plenty of ram and plenty of hard drive space.  In fact, the previous version of nominatim works just fine (and is still running today).  Nothing was different between the two containers except the version.

@gmalenko what previous version nominatim you use?

@tranquocnhat 3.7 at the moment.

For all issues where I believe that people are running into resource problems I've added a new label: https://github.com/mediagis/nominatim-docker/issues?q=label%3A"resource+problem"
Maybe other issues give you a clue what the problem is.

I set nominatim on its own server without virtualisation.
4TB M2 drive and 64GB RAM with ubuntu and i used:
docker run -it \ --shm-size=2g \ -e THREADS=5 \ -v nominatim-flatnode:/nominatim/flatnode \ -e POSTGRES_SHARED_BUFFERS=2GB \ -e POSTGRES_MAINTAINENCE_WORK_MEM=1GB \ -e POSTGRES_AUTOVACUUM_WORK_MEM=2GB \ -e POSTGRES_WORK_MEM=50MB \ -e POSTGRES_EFFECTIVE_CACHE_SIZE=4GB \ -e POSTGRES_SYNCHRONOUS_COMMIT=off \ -e POSTGRES_MAX_WAL_SIZE=1GB \ -e POSTGRES_CHECKPOINT_TIMEOUT=10min \ -e POSTGRES_CHECKPOINT_COMPLETITION_TARGET=0.9 \ -e PBF_URL=http://download.geofabrik.de/africa/rwanda-latest.osm.pbf \ -e REPLICATION_URL=http://download.geofabrik.de/africa/rwanda-updates/ \ -e IMPORT_STYLE=admin \ -e IMPORT_WIKIPEDIA=false \ -p 8080:8080 \ --name nominatim42 \ mediagis/nominatim:4.2
I would try to import a smaller country to check if the script is running until the end.
And if you want to use nominatim long therm you should mind to keep the Database not in the same container or locally and the flantnode file too, because updating docker nominatim means reating a new container with the new version. So you have just set new "nominatimverionconainer" flatnode and DB path of the old version and youre done normally.


Require beneficiary to be set for withdraw

In this PR we update ETH withdraws with checks that a beneficiary is set for the operator.
Previously it was possible that bonding value was deposited for the operator before stake delegation happened, so the beneficiary was not set yet. In such a case, the operator was able to withdraw the unbonded value, but the tokenStaking.beneficiaryOf returned zero address, to which funds could be transferred.
Here we added verification if the beneficiary is defined. If not the transaction will revert.

@pdyraga it's ready

Previously it was possible that bonding value was deposited for the operator before stake delegation happened, so the beneficiary was not set yet.

Do we want to fix this by preventing withdrawal for an unset beneficiary, or by preventing bonding?


enabling logging again

Addresses #70

We won't merge this until we get a consensus on #70 and #72

closing since this is no longer relevant.


Device Settings Policy is missing the description field

Current Terraform and Cloudflare provider version
Terraform v1.4.6
on darwin_amd64

provider registry.terraform.io/cloudflare/cloudflare v4.7.1
provider registry.terraform.io/hashicorp/aws v4.67.0

Description
I am using the cloudflare_device_settings_policy (Resource) and am not able to set the description via Terraform (and have confirmed this is not in the Go code). I do however see the description as an available field in the API. Are there any plans to add this field to the Cloudflare Terraform provider?
Use cases
I would like to have the description be populated using Terraform, instead of it being blank in the UI.

Potential Terraform configuration
resource "cloudflare_device_settings_policy" "developer_warp_policy" {
  account_id            = local.cloudflare_prod_account_id
  name                  = "Developers WARP settings policy (Terraform POC)"
  precedence            = 10
  match                 = "identity.email ==<EMAIL_ADDRESS>  default               = false
  enabled               = true
  allow_mode_switch     = false
  allow_updates         = true
  allowed_to_leave      = true
  auto_connect          = 0
  captive_portal        = 10
  disable_auto_fallback = true
  switch_locked         = false
  service_mode_v2_mode  = "warp"
  service_mode_v2_port  = 3000
  exclude_office_ips    = false
  # This does not yet exist in the provider, but it does exist in the Cloudflare API
  # https://developers.cloudflare.com/api/operations/devices-create-device-settings-policy
  # description           = "This policy is for developers who need to use WARP to connect to the VPN"
}

References
No response

this is already underway via #2474


Big Pebble update

About the PR
This going to be a big one, please report any and all opsies please.
These changes are mostly to make way for future content and hasn't really added anything to mentioned departments, yet.
Changelog

Big Renovation for better epistemics flow on Pebble. Made the chapel bigger and less cramped and added a bigger play area for epistemics.
Sadly Salvage had to suffer a tiny bit and got slightly smaller.
Added MailDrobe
:cl:

add: Pebble epistemics renovation.

@OldDanceJacket I'll let you review this one

Seems good and fine, however we literally got reverse engineering right after this PR, add that in onto the map and we'll merge it

oke give me a min


Keep script after export html

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
I’m trying to add a script to the user’s custom head content and want to keep it after exporting the HTML.
so i can using something like chromium-browser command that have ability to run script tags for dynamic rendering and turn html to pdf
However,
there is a restriction that the exported HTML will filter out all script tags  #2490  Is there any way to bypass this?
Exact BookStack Version
v24.10.2
Log Content
No response
Hosting Environment
PHP 8.13 with Windows 11 workstation version

alright
after more research
i can use custom theme to get same effect


Fix binary search tree link

Just need to convert spaces into %20 for relative URLs
with spaces to work.

Cheers!


Need support to make a dialog non-dismissible

I want to ensure that a specific action must be performed when a dialog appears on the screen. The dialog should not be dismissible by clicking anywhere outside of it. Currently, clicking anywhere on the screen dismisses the dialog. I want to prevent this and enforce that the dialog remains visible until the required action is completed.

Added new dismissible property. If dismissible is false, the dialog will not dismiss even after tapping outside the dialog space.
Example usage:
Button:
             label: Open Dialog
             onTap:
              showDialog:
                dismissible: false
                body:
                  Text:
                    text: This is a text


Fix condition for bars reappearance

This fix prevents bars to be reappeared even if showBarsOnPageScrollEnd is false when the screen scrolls to end and bounces.

All good, thanks


[Bug] Last Updated not Updating

The last update column in the table list doesn't seem to populate on any of the tables.

Yes, I noted that too and fixed it. Comes with the next update.

Fixed with 3.10.3