VPR does not map the BLIF on VTR architecture file

Describe the bug
I have a BLIF and I want to see it is mapped on my VTR architecture file by using VPR. However, when I run VPR, I see Message: Port 'data_in[1]' on architecture model 'spram64x32' exceeds port width (1 bits) error. I've changed the bit widths of architecture file and BLIF but the VPR still does not map. What should I do?

Which part of OpenFPGA is buggy
[ ] Documentation
[ ] OpenFPGA flow
[ ] FPGA-Verilog
[ ] FPGA-Bitstream
[ ] FPGA-SDC
[ ] FPGA-SPICE
[X] VPR
[ ] Yosys

To Reproduce
Steps to reproduce the behavior:

Clone OpenFPGA repository and checkout commit id: 874d7fa14d2ed1513701e59f3a3ce61b0941ff70
Run vpr ../arch/k4_frac_N8_tileable_adder_chain_mem1K_dsp8_fracff2edge.xml ../benchmark/dpram_mac_dff/dpram_mac_dff_yosys_out.blif --disp on --device 6x6
See error

Expected behavior
I want to see that my circuit is mapped on VPR.

Screenshots

Enviornment (please complete the following information):

OS:
[X] Ubuntu 20.04

Compiler:
[X] gcc-9

Version:
[X] Current master

Additional context
I've upload my arch file and BLIF:
dpram_mac_dff.zip

@yunuseryilmaz18 I see you have defined two blif model spram64x32 with different port sizes. That may be the root of cause.

@tangxifan Deleted the blif_model in the physical mode, now I get this error:
Error 1: ../arch/k4_frac_N8_tileable_adder_chain_mem1K_dsp8_fracff2edge.xml:1197 Unexpected child 'T_setup' of node 'pb_type'. Expected (possibly) one of: 'input', 'output', 'clock', 'mode', 'power', 'metadata', 'model', 'pb_type', or 'interconnect'.

@yunuseryilmaz18 For any primitive pb_type, you need a blif model. You may consider to create two blif models in different names.

@tangxifan I gave a different name for the physical mode but it still gives the same error, Message: Port 'data_in[1]' on architecture model 'spram64x32' exceeds port width (1 bits)

@yunuseryilmaz18 Can you try to remove the class=memory as well as port_class?

@tangxifan Removing class=memory and port_class helped me to pass the placement stage without errors, but now the routing stage is failing with
Cannot route from io[5].inpad[0] (RR node: 5 class: 11 capacity: 1 fan-in: 0 fan-out: 1 SOURCE:5 (1,0)) to memory[0].addr_b[4] (RR node: 491 class: 13 capacity: 1 fan-in: 1 fan-out: 0 SINK:491 (3,6)) -- no possible path
Failed to route connection from 'raddr[4]' to 'dout[0]' for net 'raddr[4]' (#10)
Routing failed for net 10
# Routing took 0,02 seconds (max_rss 60,0 MiB, delta_rss +0,0 MiB)
Circuit is unroutable with a channel width factor of 200.

@yunuseryilmaz18 Please share you log file so that it is easier to spot the bug.

@tangxifan I've added the log file. vpr_stdout.log

@yunuseryilmaz18
I see some pins are reachable reported by VPR. (See LINE363 in your log file)
This could be due to the pin locations of your BRAM tile.
Here are the things that you may try

Enable [through_channel](https://openfpga.readthedocs.io/en/master/manual/arch_lang/addon_vpr_syntax/#cmdoption-arg-through_channel) in the tileable options. The spread style of VPR may cause some pins inaccessible when using the tileable architecture. To check that, you can visualize the VPR architecture and check the pin location of BRAM tiles. Regarding how to visualize the architecture, check #801

I suggest you to define the pin location in a specific way. Here is an example. In this case, you may not need the through_channel to be enabled.

https://github.com/lnis-uofu/OpenFPGA/blob/d6eec67c2ee2b94a475e1702889a9768c3645445/openfpga_flow/vpr_arch/k6_frac_N10_tileable_adder_chain_mem1K_40nm.xml#L185-L207

@tangxifan I've added the log file. vpr_stdout.log

@yunuseryilmaz18
I see some pins are reachable reported by VPR. (See LINE363 in your log file)
This could be due to the pin locations of your BRAM tile. Here are the things that you may try
* Enable [through_channel](https://openfpga.readthedocs.io/en/master/manual/arch_lang/addon_vpr_syntax/#cmdoption-arg-through_channel) in the tileable options. The `spread` style of VPR may cause some pins inaccessible when using the tileable architecture. To check that, you can visualize the VPR architecture and check the pin location of BRAM tiles. Regarding how to visualize the architecture, check [openfpga visualization #801](https://github.com/lnis-uofu/OpenFPGA/issues/801)

* I suggest you to define the pin location in a specific way. Here is an example. In this case, you may not need the `through_channel` to be enabled.

https://github.com/lnis-uofu/OpenFPGA/blob/d6eec67c2ee2b94a475e1702889a9768c3645445/openfpga_flow/vpr_arch/k6_frac_N10_tileable_adder_chain_mem1K_40nm.xml#L185-L207

@tangxifan Thank you very much, it routes now. Do pin locations affect performance and area, is there any research about it?

@yunuseryilmaz18 You may refer to Prof. Vaugh's book, which discusses about impacts of the pin location on P.P.A.

@yunuseryilmaz18 Close the issue now as the problem is resolved. Feel free to open if you see further issues.


Signalling Over Data Channel

It would be nice to have the default functionality that when a connection is established, the signalling moves onto the datachannel. That would mean that a user does not need to maintain 2 seperate connections, this would be quite the UX improvement imo.

This is on the roadmap, once is implemente I will ping you!

This is on the roadmap, once is implemente I will ping you!

must use a signal for negotiation, right?


PyDIPjavaio unavailable

Component
diplib 3.0.0 (a.k.a. PyDIP) from https://pypi.org/project/diplib/
Describe the bug
After successfully following installation instructions the following message is returned after import:
Python 3.9.5 (default, May 18 2021, 12:31:01)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import diplib as dip
PyDIPjavaio unavailable:
dlopen(/Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/PyDIPjavaio.cpython-39-darwin.so, 2): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/libDIPjavaio.dylib
  Reason: image not found

load_jvm returned '/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib/server/libjvm.dylib'

Note that diplib can be used except for PyDIPjavaio:
>>> dip.hasDIPjavaio
False

To Reproduce
In shell (note: same warning is given as with import):
$ conda create -n diptest pip
$ conda activate diptest
(diptest) $ pip install diplib
(diptest) $ python -m diplib download_bioformats
PyDIPjavaio unavailable:
dlopen(/Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/PyDIPjavaio.cpython-39-darwin.so, 2): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/libDIPjavaio.dylib
  Reason: image not found

load_jvm returned '/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib/server/libjvm.dylib'
Retrieving https://downloads.openmicroscopy.org/bio-formats/6.5.0/artifacts/bioformats_package.jar
(diptest) $ python

In Python:
>>> import diplib as dip

System information:

macOS 11.3.1
Python 3.9.5 (via conda 4.10.1)

Debug information
Inside the site-packages/diplib directory the following files are found:
$ ls -1
DIPjavaio.jar
PyDIP_bin.cpython-39-darwin.so
PyDIP_py.py
PyDIPjavaio.cpython-39-darwin.so
PyDIPviewer.cpython-39-darwin.so
__init__.py
__main__.py
__pycache__
bioformats_package.jar
libDIP.dylib
libDIPjavaio.dylib
libDIPviewer.dylib
loadjvm.py

With otool the dependencies are checked:
$ otool -L PyDIPjavaio.cpython-39-darwin.so
PyDIPjavaio.cpython-39-darwin.so:
	@rpath/libDIPjavaio.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libDIP.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 800.7.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)
$ otool -L libDIPjavaio.dylib
libDIPjavaio.dylib:
	@rpath/libDIPjavaio.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libDIP.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libjvm.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 800.7.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)

With mdfind the following libjvm.dylib are found:
$ mdfind libjvm.dylib
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib/server/libjvm.dylib
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/lib/server/libjvm.dylib
/Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/loadjvm.py

Travis build environments use the Oracle Java SDK. Maybe the libjvm.dylib that you use, from OpenJDK, is not compatible and therefore cannot be linked?
Could you try to install OracleJDK, and see if that helps?
If this turns out to be the root of the problem, then I don’t know how we can solve this. Two versions of the diplib package for macOS on PyPI?

I installed OracleJDK but still get this message:
>>> import diplib as dip
PyDIPjavaio unavailable:
dlopen(/Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/PyDIPjavaio.cpython-39-darwin.so, 2): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Users/rligteringen/miniconda3/envs/diptest/lib/python3.9/site-packages/diplib/libDIPjavaio.dylib
  Reason: image not found

load_jvm returned '/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home/lib/server/libjvm.dylib'

The load_jvm.py script did find this new Java SDK:
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    16.0.1 (x86_64) "Oracle Corporation" - "Java SE 16.0.1" /Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home
    11.0.5 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    1.8.0_292 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home

Setting JAVA_HOME is also not helping:
$ export JAVA_HOME=`/usr/libexec/java_home`

It appears the libjvm discovery is going well, but it is not actually loading the library. Try replacing load_jvm() in load_jvm.py with:
def load_jvm():
    for path in suggest_jvm_paths():
        for file in suggest_jvm_files():
            lib = os.path.join(path, file)

            if os.path.exists(lib):
                if is_win and ctypes.WinDLL(lib) != 0:
                    return lib
                if (is_linux or is_mac) and ctypes.CDLL(lib) != 0:
                    return lib

But it seems there might be a different problem, where javaio is compiled with the most recent Java target, which on Travis is now apparently Java 14. We need to add a
set(CMAKE_JAVA_COMPILE_FLAGS -target 1.7 -source 1.7)
before the add_jar in javaio/CMakeLists.txt. I'll look at it later.

@ronligt Did Wouter's code fix it also when you use OpenJDK? It would be nice to know if Oracle JDK is a requirement or not.

The original code was from python-javabridge. I don't know why they did it that way. Can you check that it still works with different Python versions on MacOS?
Oracle JDK should not be a requirement, but I think Java >14 might required because of the way Travis is configured at the moment.  Setting source and target to 1.7 should fix that, but again it would be nice to check first.

@wcaarls The simplified load_jvm() works just fine for me as well.
I do have a new issue with javaio: When building, CMake finds the Java that comes with CLion (my IDE), which is at 15. But when I try to use it, it wants to use my system's Java, which is at 8.
This can be solved by adding set(CMAKE_JAVA_COMPILE_FLAGS "-target" "1.8" "-source" "1.8") to the CMake file fixes this (I figure we require Java version 1.8 in find_package, might as well set that version for source and target). This would also avoid the binaries deployed to PyPI requiring Java 14 or later. However, I do see a warning now at compile time:

warning: [options] bootstrap class path not set in conjunction with -source 8

Not sure how important this is. Things seem to work under my system Java now.

I suggested 1.7 because that's what's used for viewslice in DIPimage. I think one will overwrite the other.
The warning has always been there fir viewslice -- it shouldn't be a problem.

Oh, I see this comment in the CMake script for DIPimage:

MATLAB R2013b--R2017a use Java SDK 1.7, R2017b-- use SDK 1.8.

Should we then not move all Java components to 1.7? In particular this one:
find_package(Java 1.8 COMPONENTS Development)

On the other hand, the Java tool in DIPimage is the DIPviewer Java bindings, not javaio. So the Java version used in javaio is unrelated to it.

Finding version 1.7 should be fine. I suggested using the same version for both, because I think CMAKE_JAVA_COMPILE_FLAGS is a global variable that affects all subprojects.

OK, setting that global variable in one spot only then.
I do see this now:

warning: [options] source value 7 is obsolete and will be removed in a future release
warning: [options] target value 7 is obsolete and will be removed in a future release

I guess when that happens we have to remove support for some older MATLAB versions.
I'm wondering (I know so little about the JVM) if "target value 7" is removed from a future release, does it mean that that release won't be able to run JAR files targeting 1.7? Or is it just the building of these JAR files that will no longer be possible?

I know little more than you. Since it is a compiler warning, it could indeed be that newer JDK versions won't support targeting 1.7 but the JRE will still support executing the resulting class files. In any event, I agree with you that we can just move to 1.8 when this becomes problematic -- it should be supported for a long time still.

@ronligt Did Wouter's code fix it also when you use OpenJDK? It would be nice to know if Oracle JDK is a requirement or not.

Yes, this solution also works for OpenJDK. Tested with 1.8.0_292 and 11.0.5.

The original code was from python-javabridge. I don't know why they did it that way. Can you check that it still works with different Python versions on MacOS?

Yes, this solution also works for another Python version. Tested with Python 3.7.10.


createSnapshot WebAPI broken (always returns error)

Describe the bug
When calling the createSnapshot WebAPI it always returns an error stating that the targetIndex is either too new or too old
To Reproduce
I kept getting too old errors so I used a higher targetIndex and the found that adjacent index numbers gave too old and too new so it was impossible to run without an error.
curl -s http://<IP_ADDRESS>:14265 -X POST -H 'Content-Type: application/json' -H 'X-IOTA-API-Version: 1' -d '{"command":"createSnapshot","targetIndex":1385383
{"error":"minimum: 1385386, actual: 1385383: snapshot target is too old."
Then incremented by one
curl -s http://<IP_ADDRESS>:14265 -X POST -H 'Content-Type: application/json' -H 'X-IOTA-API-Version: 1' -d '{"command":"createSnapshot","targetIndex":1385384
{"error":"maximum: 1385383, actual: 1385384: snapshot target is too new."}
Expected behavior
API shoud either provide correct information in the error or the it should find the right targetIndex and initiate the snapshot (just do it)
Environment information:

Ubuntu 19.04 8GB 4 Core Intel i5
Version 0.4.0-rc8-787de48

Fixed with #404


Is it possible to publish a new release?

Hi,
Thank you for providing sqlx. The latest release is from Jan 2015 and a lot of changes have been pushed ever since.
Is there any reasons that no release have been done since v1.1?
If not, would it be possible to release a new version. It would make dependency management much more reliable for us :)
Cheers

Closed with 1.2.0 release

Another round of fixes is waiting, how about now?

There are some good changes pending release, at this point. Like #285.

I apologize for that, but 'UP'

Hi! Thanks for this library. Is there any date for a new release? I'm really interested in #285 as well. Thanks!

+1, would be super helpful to have batch inserts released. Thanks for the great work @jmoiron


Allow metadata and recipient_metadata from mail options

Optionally can pass metadata and recipient_metadata to the Mandrill API.  See the Mandrill docs for details.  This enables better filtering/reporting from Mandrill, and also allows the metadata to be passed back if/when you configure Mandrill to call you back on events.

Merged here: https://github.com/RebelMail/nodemailer-mandrill-transport/commit/ac5d5c506a394a7a2893fd4671fddf7417c3d651


Tabular: Exclude ngrams for FastAI

Issue #, if available:
Description of changes:
Exclude ngrams for FastAI to speedup inference speed by 20x+.
Previously, FastAI is very slow if given many ngrams as input, and accuracy is not good compared to a language model. It is better to not send ngrams to FastAI. This improves inference latency for 1 row of data from 1.5 seconds to 75 ms for NLP datasets.
Additionally added a copy to preprocessing to avoid warning from pandas regarding fragmented DF.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1536-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1536/1/index.html


Prepare for dependabot

Adding dependabot to resolve dependency issues early (while improving on keeping up to date).
Reworking the inclusion of core-dependencies as both pip (#103) and dependabot dislike the inclusion.

Added ignore-failure on test-pypi existing. We had that in place as ignore within the publish, but apparently the action now failed on it.
If merged dependabot will probably create a PR right away for radon, should proof-the-pudding :)

Added shellcheck (and forthcoming improvements) when updating the venv handling


Error during installation

Hi,
I am getting the following error when running the command npm install react-native-aws-ivs-player-view
Can you please advise what is missing?
While resolving: undefined@undefined
Found<EMAIL_ADDRESS>node_modules/react
peer react@"" from<EMAIL_ADDRESS>node_modules/react-native-aws-ivs-player-view
react-native-aws-ivs-player-view@"" from the root project
Could not resolve dependency:
peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>node_modules/react-native
peer react-native@"" from<EMAIL_ADDRESS>node_modules/react-native-aws-ivs-player-view
react-native-aws-ivs-player-view@"" from the root project
Fix the upstream dependency conflict, or retry
this command with --force, or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.
Here's my package.json:
{
  "name": "blog",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@aws-amplify/ui-react": "^0.2.33",
    "@testing-library/jest-dom": "^5.11.6",
    "@testing-library/react": "^11.2.2",
    "@testing-library/user-event": "^12.6.0",
    "aws-amplify": "^3.3.13",
    "bulma": "^0.9.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-markdown": "^5.0.3",
    "react-peer": "^0.2.6",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.1",
    "react-syntax-highlighter": "^15.4.3",
    "typescript": "^4.1.3",
    "web-vitals": "^0.2.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

If you use the --legacy-peer-deps option when running npm i, does it work?

If you use the --legacy-peer-deps option when running npm i, does it work?

I believe this commit may resolve: https://github.com/perrystreetsoftware/react-native-aws-ivs-player-view/commit/ad3d41a7add4948d94b1cfd339ccd237fed02d52

@esilverberg For me it worked. I think it depends of your version of React Native. I'm running 0.59.9 and needed React instead of React-Core


Delete Signer: UAI Check

Task Description
Delete the corresponding UAI if the key of is deleted

Dev task Closing CC @pratyakxx


[MLS Spec change] Specify compatibility behavior around new credentials. #631

Description of the changes
This PR adds a way for the members of a group to indicate the credential types they support, and how to negotiate which credential types may be used in a group.
Link to the exact changes
https://github.com/mlswg/mls-protocol/pull/631

This has been addressed as part of #1125


Fix Puppet Memory Multiplex Problem with Multi-Instance Wechaty and Pre-Instanced Puppet

versions
"wechaty": "0.19.117",
"wechaty-puppet-padchat": "0.9.8"

first
import { Wechaty } from 'wechaty'
import PuppetPadchat from 'wechaty-puppet-padchat'

const puppet = new PuppetPadchat({
  token: 'xxxxx'
})

new Wechaty({ profile: 'one', puppet }).start()
new Wechaty({ profile: 'two', puppet }).start()

end the process, run again
// not autologin
new Wechaty({ profile: 'two', puppet }).start()
new Wechaty({ profile: 'one', puppet }).start()

I think it is related to PuppetPadchat#toString
public toString () {
   const text = super.toString()
   return text + `/PuppetPadchat#${this.padchatCounter}`
}

one.memory-card.json
{"\rPuppet#0<PuppetPadchat>()/PuppetPadchat#0\nWECHATY_PUPPET_PADCHAT":...

two.memory-card.json
{"\rPuppet#1<PuppetPadchat>()/PuppetPadchat#1\nWECHATY_PUPPET_PADCHAT":...

I had observed that the two Wechaty bot are sharing one puppet, which I believe it should not work.
You need two puppet for two Wechaty bot, like this:
import { Wechaty } from 'wechaty'
import PuppetPadchat from 'wechaty-puppet-padchat'

const puppet1 = new PuppetPadchat({
  token: '1111111'
})

const puppet2 = new PuppetPadchat({
  token: '222222'
})

new Wechaty({ profile: 'one', puppet: puppet1 }).start()
new Wechaty({ profile: 'two', puppet: puppet2 }).start()

Or let Wechaty instanciate your puppet:
import { Wechaty } from 'wechaty'

new Wechaty({
  profile: 'one',
  puppet: 'wechaty-puppet-padchat',
  puppetOptions: { token: '1111111' },
).start()
new Wechaty({
  profile: 'two',
  puppet: 'wechaty-puppet-padchat',
  puppetOptions: { token: '2222222' },
}).start()

Sorry, my code is like this, but not auto login
import { Wechaty } from 'wechaty'
import PuppetPadchat from 'wechaty-puppet-padchat'

const puppet1 = new PuppetPadchat({
  token: '1111111'
})

const puppet2 = new PuppetPadchat({
  token: '222222'
})

new Wechaty({ profile: 'one', puppet: puppet1 }).start()
new Wechaty({ profile: 'two', puppet: puppet2 }).start()

auto login to work, like this:
import { Wechaty } from 'wechaty'

new Wechaty({
  profile: 'one',
  puppet: 'wechaty-puppet-padchat',
  puppetOptions: { token: '1111111' },
).start()
new Wechaty({
  profile: 'two',
  puppet: 'wechaty-puppet-padchat',
  puppetOptions: { token: '2222222' },
}).start()

Thanks for updating.
What's the Wechaty version you are using, could you please try the latest version of v0.19.119?

Thanks, work in v0.19.119

Glad to hear that.
Can we close this issue for now?

yes, thnaks


[Bug Report]<EMAIL_ADDRESS> 点击select的option ，select框未展示点击的项

Element UI version
1.2.9
OS/Browsers version
os
Vue version
2.1.8
Reproduction Link
https://jsfiddle.net/5znz9gbq/
Steps to reproduce
点击select下拉框option
What is Expected?
点击的option ，select框显示点击的项
What is actually happening?
点击的option木有选择在select框里

#4564

Please search existing issues before submitting a new one.

Guys, update your element-ui to ^1.3.3


Extend Packwerk to validate Zeitwerk autoloading

What are you trying to accomplish?
To use Packwerk in a Rails application with Rails Classic Mode, we need to validate that the application still conforms to Zeitwerk conventions.
What approach did you choose and why?
Validating the application against Zeitwerk conventions is mostly a subset of what Packwerk already does. Instead of creating a separate tool, we can extend Packwerk to support Zeitwerk validation.
We added two new commands to Packwerk:

packwerk validate-zeitwerk
packwerk update-zeitwerk-violations

packwerk validate-zeitwerk
Find all constant definitions under the application load paths and verify that Zeitwerk/Packwerk can resolve them.
If a file defines multiple classes/modules, we use a heuristic to determine which constant is intended to be loaded by the code loader (we check based on both Classic Mode and Zeitwerk conventions).
packwerk update-zeitwerk-violations
Similar to update-deprecations, we maintain a list of current Zeitwerk violations. Each Zeitwerk violation maps the location of a constant definition to the constant which Zeitwerk/Packwerk failed to resolve.
This allows us to incrementally fix existing Zeitwerk violations while guaranteeing that we don't add new violations to the application.
What should reviewers focus on?
Type of Change

[ ] Bugfix
[x] New feature
[ ] Non-breaking change (a change that doesn't alter functionality - i.e., code refactor, configs, etc.)

Additional Release Notes

[ ] Breaking change (fix or feature that would cause existing functionality to change)

Include any notes here to include in the release description. For example, if you selected "breaking change" above, leave notes on how users can transition to this version.
If no additional notes are necessary, delete this section or leave it unchanged.
Checklist

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] It is safe to rollback this change.

can this heuristic go wrong?

If a file defines multiple classes/modules, we use a heuristic to determine which constant is intended to be loaded by the code loader (we check based on both Classic Mode and Zeitwerk conventions).

can this heuristic go wrong?

@Joshuad2uiuc I could actually use feedback on this. There are two approaches we could take, one being more inclusive and the other being more "correct".
Right now, the heuristic only attempts to find an exact match for the constant the file is trying to autoload. If it can't find an exact match, we just assume all the constants we find are meant to be autoloaded.
As an example, consider the following file:
# app/controllers/example_controller.rb

class ExampleControllerError < StandardError; end

class ExampleController < ApplicationController; end

There are two constant definitions in this file, ExampleControllerError and ExampleController. Based on the file name, ExampleController is what we expect Zeitwerk (and Rails Classic Mode) to load. The question is, do we care if files define additional constants like ExampleControllerError?
Using the first approach, we would just choose to ignore ExampleControllerError because we found an exact match based on the file path, and assume that we don't care about ExampleControllerError (most likely because it's only used in that file, and we don't need it anywhere else).
The second approach would consider the definition of ExampleControllerError to be an actual error. However, it does allow for stuff like this:
# app/controllers/example_controller.rb

class ExampleController < ApplicationController
  class ExampleControllerError < StandardError; end
end

Zeitwerk can autoload ExampleController::ExampleControllerError because it's in the ExampleController namespace. This is the "correct" way of doing things. The problem is, we have a lot of instances where we don't do this (and do it the other way instead).
Currently, we're doing it the first way, but writing this out is making me think that the second approach is better even though we will have more errors to deal with initally.


The user should not be able to create an order with an invalid quantity.

Steps To reproduce--
1. log in as admin
2. Create a configurable product add 3 quantities of each variant
3. log in as a user.
4. Try to order a configurable item with 2 quantities.
5. And Again try to order the same item with 3 quantities.
Expected result: The user should not be able to create an order with an invalid quantity.
Actual result: The is able to create an order with an invalid quantity. Please find the screen recording Here.

I already reverted pull request so closing this because one issue is already open.

Reference Link: https://github.com/bagisto/bagisto/issues/5451


enhance(Table): support expanedRows and treeData while Table is virtualized

Types of changes

[ ] New feature
[ ] Bug fix
[x] Enhancement
[ ] Documentation change
[ ] Coding style change
[ ] Component style change
[ ] Refactoring
[ ] Test cases
[ ] Continuous integration
[ ] Typescript definition change
[ ] Breaking change
[ ] Others

How is the change tested?

Changelog

Component
Changelog(CN)
Changelog(EN)
Related issues

Table
Table 组件虚拟滚动开启时支持展开行和树形数据。
Table component supports expanding rows and tree data when virtual scrolling is turned on.
Close #2543

Checklist:

[x] Test suite passes (npm run test)
[x] Provide changelog for relevant changes (e.g. bug fixes and new features) if applicable.
[x] Changes are submitted to the appropriate branch (e.g. features should be submitted to feature branch and others should be submitted to main branch)

Other information

这种优化合并之后是不是修改 Y 位的版本号更好，这个 PR 看起来是一个向下兼容的功能更新

这种优化合并之后是不是修改 Y 位的版本号更好，这个 PR 看起来是一个向下兼容的功能更新

你说的对，大意了。。 我们在changelog 里体现下，之后也会注意


Split ELK role into standalone Elasticsearch and Kibana roles

[x] Installs cleanly on a fresh build of most recent master branch
[x] Upgrades cleanly from the most recent release
[x] Updates documentation relevant to the changes

This separates the ELK role into standalone Elasticsearch and Kibana roles. The ELK role is now just a meta role that includes the Elasticsearch, Kibana, and Logstash roles. This allows users to more easily deploy a standalone Elasticsearch cluster for purposes other than the standard Mantl log collection with the ELK stack. This can be used for the System Assurance Elasticsearch cluster.

Testing
Testing with the default configuration will require at least 4 worker nodes, each having at least 1 full CPU and 1 GB of memory available to Mesos. In addition, each worker node will need to have at least 5 GBs of free disk space.
Install an Elasticsearch cluster
ansible-playbook -e @security.yml addons/elasticsearch.yml

After several minutes, you should see:

A healthy mantl/elasticsearch app in marathon

A healthy mantl/elasticsearch-client app in marathon

A running elasticsearch.mantl task running in Mesos. This is the Elasticsearch Mesos framework.

3 running elasticsearch-executor-mantl tasks running in Mesos. These are the 3 Elasticsearch nodes running in your cluster.

An elasticsearch-client.mantl task running in Mesos. This is an Elasticsearch client node that acts as a smart load balancer for the Elasticsearch cluster. It will be listening on well-known Elasticsearch ports 9200 (http) and 9300 (transport). You can verify the health of the Elasticsearch cluster by running a command like:
$ curl -s elasticsearch-client-mantl.service.consul:9200/_cluster/health | jq .
{
  "cluster_name": "mantl",
  "status": "green",
  "timed_out": false,
  "number_of_nodes": 4,
  "number_of_data_nodes": 3,
  "active_primary_shards": 5,
  "active_shards": 15,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 0,
  "delayed_unassigned_shards": 0,
  "number_of_pending_tasks": 0,
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 100
}

The following healthy services registered in consul.

elasticsearch-mantl (the Elasticsearch Mesos framework)
elasticsearch-executor-mantl (the Elasticsearch nodes launched by the Mesos framework)

each service will also have a client_port and a transport_port tag that can be used to discover the corresponding ports

elasticsearch-client-mantl (the Elasticsearch client node)

Consul can be used to discover the IPs and ports of the different services if needed. Otherwise, elasticsearch-client-mantl.service.consul:9200 is available as a convenient entry point into the cluster.

The Elasticsearch Mesos framework UI is available via Mantl UI (requires browser refresh).

Install Kibana
ansible-playbook -e @security.yml addons/kibana.yml

After several minutes, you should see:

A healthy mantl/kibana app in marathon

A kibana.mantl task running in Mesos. This is the Kibana Mesos framework.

A kibana-mantl.task running in Mesos. This is the actual Kibana application running in Mesos.

The following healthy services registered in consul:

kibana-mantl (the Kibana Mesos framework)
kibana-mantl-task (the Kibana application)

The Kibana UI is available via Mantl UI (requires browser refresh). By default, Kibana connects to an Elasticsearch client node identified by consul service named elasticsearch-client-mantl. You may see an error in the Kibana UI since the Elasticsearch cluster does not contain any indexes.

Uninstall Kibana
ansible-playbook -e @security.yml -e 'kibana_uninstall=true' addons/kibana.yml

After a few minutes, you should see that:

The mantl/kibana app is no longer running in marathon.
The kibana.mantl and kibana.mantl.task tasks should no longer be running in Mesos.
The kibana-mantl and kibana-mantl-task services should no longer be registered in Consul.
The Kibana UI should no longer be visible in Mantl UI (requires browser refresh).

Uninstall Elasticsearch
ansible-playbook -e @security.yml -e 'elasticsearch_uninstall=true elasticsearch_remove_data=true' addons/elasticsearch.yml

After a few minutes, you should see that:

The mantl/elasticsearch app is no longer running in marathon.

The mantl/elasticsearch-client app is no longer running in marathon.

The elasticsearch.mantl, elasticsearch-executor-mantl, and elasticsearch-client.mantl tasks should no longer be running in Mesos.

The elasticsearch-mantl, elasticsearch-executor-mantl, and elasticsearch-client-mantl services should no longer be registered in Consul.

The Elasticsearch Mesos framework UI should no longer be visible in Mantl UI (requires browser refresh).

This example includes elasticsearch_remove_data=true which will also remove the Elasticsearch data from every node. You can verify that the directory is removed with the following command:
ansible all -s -m shell -a 'ls -al /var/lib/mesos/slave/elasticsearch/mantl'

You should get No such file or directory for every node. You can also test without elasticsearch_remove_data set (or set to false) and those directories should still exist on a few of your worker nodes after the uninstall is complete.

Install the full ELK stack
ansible-playbook -e @security.yml addons/elk.yml

This is a meta role that installs the Elasticsearch, Kibana, and Logstash roles at one time. After several minutes, you should see that:

An Elasticsearch search cluster is installed. See "Install an Elasticsearch cluster" for the Elasticsearch verification steps.
Kibana is installed. See "Install Kibana" for the Kibana verification steps.
Logstash should be running on every node (verify with systemctl status logstash locally on each node or with ansible)
When you visit the Kibana UI, you should see that it is receiving logs from each node.

Uninstall the full ELK stack
ansible-playbook -e @security.yml -e 'elk_uninstall=true elasticsearch_remove_data=true' addons/elk.yml

After a few minutes, you should see:

That everything included in the "Uninstall Kibana" and the "Uninstall Elasticsearch" sections were completed.

Install a custom Elasticsearch cluster
ansible-playbook -e @security.yml -e 'elasticsearch_nodes=4' addons/elasticsearch.yml

In this example, we are launching 4 Elasticsearch data nodes via the Mesos framework. You can verify everything in the "Install an Elasticsearch cluster" section. The only difference is that there should be 4 elasticsearch-executor-mantl tasks running in Mesos and visible in the Elasticsearch Mesos framework UI. View the Elasticsearch role documentation for all of the configuration variables. You can uninstall this cluster by running:
ansible-playbook -e @security.yml -e 'elasticsearch_uninstall=true elasticsearch_remove_data=true' addons/elasticsearch.yml

@ryane hello. Tried to install elasticsearch on a fresh mantl cluster. Scheduler went up and executors spawned well, but elasticsearch-client-mantl fails every 3 minutes and proxy don't work.
stderr:
+ echo 'attempt: 1'
+ sleep 30
+ wait_for_service
+ /usr/local/bin/consul-template -config /consul-template/config.d -log-level warn -wait 30s:60s -once -consul consul.service.consul:8500 -ssl -ssl-verify=false
2016/05/25 10:47:06 [WARN] (runner) disabling consul SSL verification
2016/05/25 10:47:06 [ERR] (view) "service(transport_port.elasticsearch-executor-mantl [any])" health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-executor-mantl?stale=&tag=transport_port&wait=60000ms: http: server gave HTTP response to HTTPS client
2016/05/25 10:47:06 [ERR] (runner) watcher reported error: health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-executor-mantl?stale=&tag=transport_port&wait=60000ms: http: server gave HTTP response to HTTPS client
Consul Template returned errors:
health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-executor-mantl?stale=&tag=transport_port&wait=60000ms: http: server gave HTTP response to HTTPS client+ grep discovery.zen.ping.unicast.hosts /usr/share/elasticsearch/config/elasticsearch.yml
+ '[' 2 -eq 5 ']'
+ echo 'waiting for transport_port.elasticsearch-executor-mantl service...'
+ echo 'attempt: 2'

stdout:
--container="mesos-25aa81dc-6108-4478-8421-4ef831b7e24d-S2.3d2dde0b-6fbb-4d22-a7ad-97681ecdc447" --docker="docker" --docker_socket="/var/run/docker.sock" --help="false" --initialize_driver_logging="true" --logbufsecs="0" --logging_level="INFO" --mapped_directory="/mnt/mesos/sandbox" --quiet="false" --sandbox_directory="/var/lib/mesos/slaves/25aa81dc-6108-4478-8421-4ef831b7e24d-S2/frameworks/25aa81dc-6108-4478-8421-4ef831b7e24d-0000/executors/mantl_elasticsearch-client.e1de1ca5-2265-11e6-b612-0242ef758ce7/runs/3d2dde0b-6fbb-4d22-a7ad-97681ecdc447" --stop_timeout="0ns"
--container="mesos-25aa81dc-6108-4478-8421-4ef831b7e24d-S2.3d2dde0b-6fbb-4d22-a7ad-97681ecdc447" --docker="docker" --docker_socket="/var/run/docker.sock" --help="false" --initialize_driver_logging="true" --logbufsecs="0" --logging_level="INFO" --mapped_directory="/mnt/mesos/sandbox" --quiet="false" --sandbox_directory="/var/lib/mesos/slaves/25aa81dc-6108-4478-8421-4ef831b7e24d-S2/frameworks/25aa81dc-6108-4478-8421-4ef831b7e24d-0000/executors/mantl_elasticsearch-client.e1de1ca5-2265-11e6-b612-0242ef758ce7/runs/3d2dde0b-6fbb-4d22-a7ad-97681ecdc447" --stop_timeout="0ns"
Registered docker executor on mantl-worker-002
Starting task mantl_elasticsearch-client.e1de1ca5-2265-11e6-b612-0242ef758ce7
waiting for transport_port.elasticsearch-executor-mantl service...
attempt: 0
waiting for transport_port.elasticsearch-executor-mantl service...
attempt: 1
waiting for transport_port.elasticsearch-executor-mantl service...
attempt: 2
waiting for transport_port.elasticsearch-executor-mantl service...
attempt: 3
waiting for transport_port.elasticsearch-executor-mantl service...
attempt: 4
transport_port.elasticsearch-executor-mantl not found.

mantl-control-01:
[cloud-user@mantl-control-01 ~]$ curl 'http://consul.service.consul:8500/v1/catalog/service/elasticsearch-executor-mantl'
[{"Node":"mantl-worker-001","Address":"<IP_ADDRESS>","ServiceID":"mesos-consul:<IP_ADDRESS>:elasticsearch-executor-mantl:4000","ServiceName":"elasticsearch-executor-mantl","ServiceTags":["CLIENT_PORT"],"ServiceAddress":"<IP_ADDRESS>","ServicePort":4000,"ServiceEnableTagOverride":false,"CreateIndex":1972,"ModifyIndex":1972},{"Node":"mantl-worker-001","Address":"<IP_ADDRESS>","ServiceID":"mesos-consul:<IP_ADDRESS>:elasticsearch-executor-mantl:4001","ServiceName":"elasticsearch-executor-mantl","ServiceTags":["TRANSPORT_PORT"],"ServiceAddress":"<IP_ADDRESS>","ServicePort":4001,"ServiceEnableTagOverride":false,"CreateIndex":1973,"ModifyIndex":1973},{"Node":"mantl-worker-004","Address":"<IP_ADDRESS>","ServiceID":"mesos-consul:<IP_ADDRESS>:elasticsearch-executor-mantl:4000","ServiceName":"elasticsearch-executor-mantl","ServiceTags":["CLIENT_PORT"],"ServiceAddress":"<IP_ADDRESS>","ServicePort":4000,"ServiceEnableTagOverride":false,"CreateIndex":1969,"ModifyIndex":1969},{"Node":"mantl-worker-004","Address":"<IP_ADDRESS>","ServiceID":"mesos-consul:<IP_ADDRESS>:elasticsearch-executor-mantl:4001","ServiceName":"elasticsearch-executor-mantl","ServiceTags":["TRANSPORT_PORT"],"ServiceAddress":"<IP_ADDRESS>","ServicePort":4001,"ServiceEnableTagOverride":false,"CreateIndex":1970,"ModifyIndex":1970},{"Node":"mantl-worker-005","Address":"<IP_ADDRESS>","ServiceID":"mesos-consul:<IP_ADDRESS>:elasticsearch-executor-mantl:4000","ServiceName":"elasticsearch-executor-mantl","ServiceTags":["CLIENT_PORT"],"ServiceAddress":"<IP_ADDRESS>","ServicePort":4000,"ServiceEnableTagOverride":false,"CreateIndex":1978,"ModifyIndex":1978},{"Node":"mantl-worker-005","Address":"<IP_ADDRESS>","ServiceID":"mesos-consul:<IP_ADDRESS>:elasticsearch-executor-mantl:4001","ServiceName":"elasticsearch-executor-mantl","ServiceTags":["TRANSPORT_PORT"],"ServiceAddress":"<IP_ADDRESS>","ServicePort":4001,"ServiceEnableTagOverride":false,"CreateIndex":1979,"ModifyIndex":1979}]

2016/05/25 10:47:06 [ERR] (view) "service(transport_port.elasticsearch-executor-mantl [any])" health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-executor-mantl?stale=&tag=transport_port&wait=60000ms: http: server gave HTTP response to HTTPS client
2016/05/25 10:47:06 [ERR] (runner) watcher reported error: health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-executor-mantl?stale=&tag=transport_port&wait=60000ms: http: server gave HTTP response to HTTPS client

It is failing to talk to consul to discover the elasticsearch cluster due to SSL issues. Are you using default Mantl security settings?

@ryane no, i set up mantl with ./security-setup --enable=false

ok looks like you found an issue with the elasticsearch-client app running when consul SSL is turned off. I created https://github.com/CiscoCloud/mantl-universe/pull/32 with a fix. If you want to test it, you can just update the Consul KVP at mantl-install/repository/0/repo/packages/E/elasticsearch-client/0/marathon.json with the contents of https://raw.githubusercontent.com/CiscoCloud/mantl-universe/c733e688509f2f0f7b7847c2dd40d90c9e3b09d1/repo/packages/E/elasticsearch-client/1/marathon.json, delete the mantl/elasticsearch-client app from marathon, and then re-run the addons/elasticsearch.yml playbook.
Meanwhile, I'll setup a clean test on my end.

@ryane Is that by design -Xms256m -Xmx1g for 512mb container? :)

no just the default. we should expose it in the configuration. what would you suggest as a better default?

@ryane as long as this node will be actual search node for es cluster, i suggest it to have at least 1cpu and 1-2gb ram

@ryane seems like Kibana addon need this SSL fix too
+ echo 'attempt: 0'
+ sleep 10
Unable to launch health process: Only command health check is supported now.
+ wait_for_config
+ /usr/local/bin/consul-template -config /consul-template/config.d/kibana.cfg -log-level warn -wait 2s:10s -once -consul consul.service.consul:8500 -ssl -ssl-verify=false
2016/05/25 14:45:07 [WARN] (runner) disabling consul SSL verification
2016/05/25 14:45:07 [ERR] (view) "service(elasticsearch-client-mantl [any])" health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-client-mantl?stale=&wait=60000ms: http: server gave HTTP response to HTTPS client
2016/05/25 14:45:07 [ERR] (runner) watcher reported error: health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-client-mantl?stale=&wait=60000ms: http: server gave HTTP response to HTTPS client
Consul Template returned errors:
health services: error fetching: Get https://consul.service.consul:8500/v1/health/service/elasticsearch-client-mantl?stale=&wait=60000ms: http: server gave HTTP response to HTTPS client+ grep elasticsearch.url /opt/kibana/config/kibana.yml
+ '[' 1 -eq 6 ']'
+ echo 'waiting for Kibana configuration...'
+ cat /opt/kibana/config/kibana.yml
+ echo 'attempt: 1'

ok, working on these changes...

kibana should work when ssl is disabled now. + java_opts are configurable. if you want to test on an existing cluster, you should be able to resync the repository (run from a control node):
consul-cli kv-delete --recurse mantl-install
curl -XPOST http://localhost:18080/v2/apps/mantl-api/restart

let me know if you see anything else that needs tweaking.

@ryane looks good. Only "issue" that i see is with Kibana trying to display logstash-* index from elastic on load by default, but there isn't one, because i didn't installed logstash role. I think we should update Kibana role to load as default, and then move this pre-defined view load to logstash role. Is this possible? Thanks

Yep, good call, it should be possible. will post a new commit when ready

this is now controlled by the kibana_logstash_config variable. By default, the logstash config is not applied if you install the standalone kibana role but it does happen if you install the full elk addon.

@ryane, seems there is a feature\bug at kibana role. If you apply the role and then uninstall kibana the indexes added by kibana to elasticsearch are not flushed.  Stumbled upon this during upgrade to last commit -  "kibana logstash config is optional". Might be a good idea to add such option to uninstall to flush indexes at elasticsearch

I've been playing with logstash.conf to support logging to s3 and more inputs.  I noticed we are running logstash 1.5.3, pretty old.
But it would be nice to get x-pack as an optional install as well.  Still alpha, but it has most of features required for production.  https://www.elastic.co/v5
Could we make this update forward looking to include easy version bumping and x-pack support?
Also, i'm still getting kibana.mantl failures every hour or so on a 3 week old mantl deployment.  I only have 3 workers so that might be a problem (4 are recommended?).  And i believe destroying kibana in marathon may trigger the docker hangs i've experienced.  Perhaps we could test that as well with the new refactor.

@SergeyNosko I'd want to be careful about deleting indexes or any other data on uninstall. Perhaps we could make it optional and not the default. Or, at the very least, document the process. Do you mind opening a separate issue for it?
@kbroughton we are going to be replacing the logstash agent on all nodes with filebeat. Another team is working on creating a logstash role (possibly a mesos framework) that can be used as a central place for processing before sending to Elasticsearch (see #1203). So, it's likely that you'll be able to do something like filebeat -> elasticsearch or filebeat -> logstash -> elasticsearch depending on what you want, your scale, etc.
x-pack looks nice but it also looks like it might not be compatible with the version of elasticsearch and kibana we are currently deploying. can you create another issue for that?
Finally, I wonder if your kibana instance is running out of memory. Are you using the default settings? Can you try increasing the amount of memory assigned to the application in marathon and see if you have better results?

@ryane Is this still ready for testing?

yep

Test results
Tested on AWS with four m3.xlarge worker nodes, three m3.large control nodes, one m3.medium edge node, and one m3.large kubeworker.
Install an Elasticsearch cluster

[ ] A healthy mantl/elasticsearch app in marathon

[ ] A healthy mantl/elasticsearch-client app in marathon

[ ] A running elasticsearch.mantl task running in Mesos. This is the Elasticsearch Mesos framework.

[ ]  3 running elasticsearch-executor-mantl tasks running in Mesos. These are the 3 Elasticsearch nodes running in your cluster.

[ ] An elasticsearch-client.mantl task running in Mesos. This is an Elasticsearch client node that acts as a smart load balancer for the Elasticsearch cluster. It will be listening on well-known Elasticsearch ports 9200 (http) and 9300 (transport). You can verify the health of the Elasticsearch cluster by running a command like:
$ curl -s elasticsearch-client-mantl.service.consul:9200/_cluster/health | jq .
{
  "cluster_name": "mantl",
  "status": "green",
  "timed_out": false,
  "number_of_nodes": 4,
  "number_of_data_nodes": 3,
  "active_primary_shards": 5,
  "active_shards": 15,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 0,
  "delayed_unassigned_shards": 0,
  "number_of_pending_tasks": 0,
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 100
}

[ ] The following healthy services registered in consul.

[ ] elasticsearch-mantl (the Elasticsearch Mesos framework)
[ ] elasticsearch-executor-mantl (the Elasticsearch nodes launched by the Mesos framework)

[ ] each service will also have a client_port and a transport_port tag that can be used to discover the corresponding ports

[ ] elasticsearch-client-mantl (the Elasticsearch client node)

Consul can be used to discover the IPs and ports of the different services if needed. Otherwise, elasticsearch-client-mantl.service.consul:9200 is available as a convenient entry point into the cluster.

[ ] The Elasticsearch Mesos framework UI is available via Mantl UI (requires browser refresh).

Kibana

[ ]  A healthy mantl/kibana app in marathon

[ ] A kibana.mantl task running in Mesos. This is the Kibana Mesos framework.

[ ] A kibana-mantl.task running in Mesos. This is the actual Kibana application running in Mesos.

[ ] The following healthy services registered in consul:

[ ] kibana-mantl (the Kibana Mesos framework)
[ ] kibana-mantl-task (the Kibana application)

[ ] The Kibana UI is available via Mantl UI (requires browser refresh). By default, Kibana connects to an Elasticsearch client node identified by consul service named elasticsearch-client-mantl. You may see an error in the Kibana UI since the Elasticsearch cluster does not contain any indexes.

Uninstall Kibana

[ ]  The mantl/kibana app is no longer running in marathon.
[ ] The kibana.mantl and kibana.mantl.task tasks should no longer be running in Mesos.
[ ] The kibana-mantl and kibana-mantl-task services should no longer be registered in Consul.
[ ] The Kibana UI should no longer be visible in Mantl UI (requires browser refresh).

Uninstall Elasticsearch

[ ] The mantl/elasticsearch app is no longer running in marathon.

[ ] The mantl/elasticsearch-client app is no longer running in marathon.

[ ] The elasticsearch.mantl, elasticsearch-executor-mantl, and elasticsearch-client.mantl tasks should no longer be running in Mesos.

[ ] The elasticsearch-mantl, elasticsearch-executor-mantl, and elasticsearch-client-mantl services should no longer be registered in Consul.

[ ] The Elasticsearch Mesos framework UI should no longer be visible in Mantl UI (requires browser refresh).

[ ] This example includes elasticsearch_remove_data=true which will also remove the Elasticsearch data from every node. You can verify that the directory is removed with the following command:
ansible all -s -m shell -a 'ls -al /var/lib/mesos/slave/elasticsearch/mantl'

You should get No such file or directory for every node. You can also test without elasticsearch_remove_data set (or set to false) and those directories should still exist on a few of your worker nodes after the uninstall is complete.

ELK stack

[ ] An Elasticsearch search cluster is installed. See "Install an Elasticsearch cluster" for the Elasticsearch verification steps.
[ ] Kibana is installed. See "Install Kibana" for the Kibana verification steps.
[ ] Logstash should be running on every node (verify with systemctl status logstash locally on each node or with ansible)
[ ] When you visit the Kibana UI, you should see that it is receiving logs from each node.

Uninstall the full ELK stack
ansible-playbook -e @security.yml -e 'elk_uninstall=true elasticsearch_remove_data=true' addons/elk.yml

After a few minutes, you should see:

That everything included in the "Uninstall Kibana" and the "Uninstall Elasticsearch" sections were completed.

Install a custom Elasticsearch cluster
ansible-playbook -e @security.yml -e 'elasticsearch_nodes=4' addons/elasticsearch.yml

In this example, we are launching 4 Elasticsearch data nodes via the Mesos framework. You can verify everything in the "Install an Elasticsearch cluster" section. The only difference is that there should be 4 elasticsearch-executor-mantl tasks running in Mesos and visible in the Elasticsearch Mesos framework UI. View the Elasticsearch role documentation for all of the configuration variables. You can uninstall this cluster by running:
ansible-playbook -e @security.yml -e 'elasticsearch_uninstall=true elasticsearch_remove_data=true' addons/elasticsearch.yml

While almost everything worked, there is an itermittent problem with removing frameworks. The mantl-api logs look like this:
time="2016-06-07T14:09:40Z" level=debug msg="DELETE /1/install"
time="2016-06-07T14:09:40Z" level=debug msg="GET https://marathon.service.consul:8080/v2/apps/"
time="2016-06-07T14:09:40Z" level=debug msg="DELETE https://marathon.service.consul:8080/v2/apps/mantl/elasticsearch-client"
time="2016-06-07T14:09:40Z" level=debug msg="DELETE /1/install"
time="2016-06-07T14:09:40Z" level=debug msg="GET https://marathon.service.consul:8080/v2/apps/"
time="2016-06-07T14:09:40Z" level=debug msg="DELETE https://marathon.service.consul:8080/v2/apps/mantl/elasticsearch"
time="2016-06-07T14:09:40Z" level=debug msg="Looking for mantl/elasticsearch framework"
time="2016-06-07T14:09:40Z" level=debug msg="GET http://lb0-control-02:15050/master/state.json"
time="2016-06-07T14:09:40Z" level=debug msg="Framework mantl/elasticsearch not active"

See https://github.com/CiscoCloud/mantl-api/issues/46.

fyi https://github.com/CiscoCloud/mantl/pull/1539

+ exec java -Xms32m -Xmx128m -jar /tmp/mesosframework.jar --spring.application.name=kibana-mantl --mesos.framework.name=kibana-mantl --mesos.master=zk://sa20-control-01:2181,sa20-control-02:2181,sa20-control-03:2181,sa20-control-04:2181,sa20-control-05:2181/mesos --mesos.zookeeper.server=sa20-control-01:2181,sa20-control-02:2181,sa20-control-03:2181,sa20-control-04:2181,sa20-control-05:2181 --mesos.resources.cpus=0.50 --mesos.resources.mem=512 --mesos.resources.count=1 --mesos.resources.ports.UI_5601.host=ANY --mesos.resources.ports.UI_5601.container=5601 --mesos.docker.image=ciscocloud/mantl-kibana:<IP_ADDRESS> --mesos.docker.network=BRIDGE '--mesos.command=export ELASTICSEARCH_SERVICE=elasticsearch-client-mantl; export KIBANA_SERVICE=kibana-mantl-task; export KIBANA_LOGSTASH_CONFIG=false; tini -s -- /launch.sh' --logging.level.com.containersolutions.mesos=WARN --elasticsearch.http=http://elasticsearch-executor.service.consul:4000 --server.port=31100

not sure why --elasticsearch.http=http://elasticsearch-executor.service.consul:4000
shouldn't it be like --elasticsearch.http=http://elasticsearch-client-mantl.service.consul:9200 ?

see #1550. what error are you getting?

@ryane no, i have a different one. It looked just like framework is dying to a timeout.
I tried to increase resources on both scheduler and executor and it helped!
So i suggest to review the default resources for Kibana framework.
Right now it works for me with 1cpu and 1024ram, but I'm sure we can crank it down a bit.

also, @ryane i just saw that you're using docker container mode for elasticsearch framework.
Im heavily suggesting switching to non-docker mode for elasticsearch framework.
I've been using ES framework for over half a year now, and its not stable at all in docker mode.
BTW, i noticed that just because 2 of my nodes died after only 10 hours uptime, with 72msg/sec load
Again, please consider switching to non-docker framework mode.
2 of my SA clusters run non-docker ES framework with more than 2 month uptime

FYI, another 2 instances of ES just failed.
So we have a total of 4 instances out of 5 failed in 13 hours :)


Need to set firewall rules when connecting to the server by using MySQL Workbench ?

[When using MySQL Workbench, I need to set 'Connection security ->Firewall rules ->Add current client IP address' in order to connect to the server. Should we mention that? Thanks. ]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 56945d81-d8a4-3809-2372-1b21f278ec88
Version Independent ID: e6fa3969-a0ac-c5a1-3655-580c63f09732
Content: Connect using MySQL Workbench - Azure Database for MySQL
Content Source: articles/mysql/connect-workbench.md
Service: mysql
GitHub Login: @ajlam
Microsoft Alias: andrela

@gary918 Thank you for bringing this to our attention. Yes, the public IP address that you are connecting from needs to be added to the allow list for you to be able to connect. I will have the content owner review this tutorial and update the document as appropriate.

@gary918 - thanks for the feedback! I just made a document change and it should be live within the next 24 hours.


Added support for zipped sources

Sources tarballs and binaries are available both in zip, tar.gz and tar.xz.  "my" -l/--openjdk-source-location was counting only tarballs and was unpacking them with tar -xf with workaround around --strip-components 1. Now, if the file ends with .zip it is unpacked by unzip with same workaround for --strip-components 1 as tar.

@sxa  I had jsut realised one interesting fact. The magical method, workarounding  --strip-components=1 with mv have one regressin against untar/unzip - it will not merge dirs
Long story short
mkdir -p a/lib/
mkdir -p b/lib/
touch  a/lib/file1
mv a/lib b/
touch  a/lib/file2
mv a/lib b/
mv: cannot move 'a/lib' to 'b/lib': Directory not empty
# however co would do
cp -r  a/lib b/
ls b/lib/
file1  file2

I hit it elsewhere, but nice expalnation is  https://askubuntu.com/a/269818 ; Worthy to fix?

@sxa I had jsut realised one interesting fact. The magical method, workarounding --strip-components=1 with mv have one regressin against untar/unzip - it will not merge dirs

I hit it elsewhere, but nice expalnation is https://askubuntu.com/a/269818 ; Worthy to fix?

Interesting, although is that a situation that is likely to ever be seen? We would only expect one top level directory in such a tarball/zipball so this feels very much like an edge case (and perhaps an error if it does have multiple top level directories)

Funnily  enough, I hit this issue, when I missues this function to merge Openjdk.tar.gz and Openjdk-staticlibs.tar.gz as I need them in one archive ((so unpack both to one dir, and then pack that one), and as I had temurin scripts already around, and I was more lazy then usually, I reused the method... I do nto think it is rare in common worl, but it shoudl be super rare in the scope those two functions are for.


Framebuffer.clear changes global clear values

Description
I'm not entirely sure if this is the right thing to do, but fbo.clear() is currently changing the global clear values. This can be very confusing in more complex programs.
List of changes

FrameBuffer.clear() restores the original clear color values

Again, not entirely sure if this is a good idea. It might make sense for people who use a more mixed PyOpenGL / ModernGL setup. It could also be argued one should use ctx.clear(r, g, b, a) and never mix with glClear.
Feel free to close if you think this is a bad idea.

Hi!
I tried to avoid using glGet in functions used in the main loop of a program.
In my experience they can cause performance drop on some hardware, even if their implementation may not involve the GPU at all.
In the future fbo.clear will use glClearBuffer but these changes are experimental.
https://github.com/cprogrammer1994/ModernGL/blob/532ce157c0a2572541e642bc4c605f0e6f7fce6c/moderngl/mgl/framebuffer.cpp#L209
The experimental branch takes a lot of time to be compatible with all the tests & examples of the master.
PS:
Mixing PyOpenGL and ModernGL can be error prone with the bound framebuffer too.
The Context have a bound_framebuffer (set by fbo.use). Framebuffer operation that require a bind will restore this value as follows:
https://github.com/cprogrammer1994/ModernGL/blob/e480d5d37c5015e2f11daf9c5a81fe7ac1803c5a/src/Framebuffer.cpp#L547
Thank you!

Yup. Let's close this one. Thanks for the info! Will take a peak in the experimental branch.


Duplicating requests with different body

Hi. I want to make multiple requests whose parameters are identical except for their body.
Since requests can be created only by the factory methods, I have to write code like this to duplicate requests.
Is there a better way to handle this case?
func duplicate<Response: Decodable, Body: Encodable>(request: Request<Response>, body: Body) -> Request<Response> {
        switch request.method {
    case "post":
        return .post(request.path, query: request.query, body: body, headers: request.headers)
    case "put":
        return .put(request.path, query: request.query, body: body, headers: request.headers)
    case "delete":
        return .delete(request.path, query: request.query, body: body, headers: request.headers)
    default:
        return .get(request.path)
    }
}

I added a public Request initializer in 0.4.0.


:package: Update Deno dependencies

The output of make update is
./types.ts

./deps_test.ts
[1/1] Looking for releases<EMAIL_ADDRESS>[1/1] Attempting update<EMAIL_ADDRESS>-> 0.111.0
[1/1] Update successful<EMAIL_ADDRESS>-> 0.111.0

./mod.ts

./using.ts

./using_test.ts

Successfully updated:
<EMAIL_ADDRESS>0.110.0 -> 0.111.0
make[1]: Entering directory '/home/runner/work/deno-disposable/deno-disposable'
make[1]: Leaving directory '/home/runner/work/deno-disposable/deno-disposable'

Closed by #8


Multiple choices

Hi,
I'm looking in the doc but don't fully understand how to create multiple model and view in the same file.
like:
create your own drink:
~ choose two flavors:
[] orange
[] strawberrie
[] watermelon
[] apple
~ select adds:
[] candies
[] mixed colors
[] strange glass shape

I think you don't need multiple models, just have two separate structs/maps/slices/whatever for the respective selection state (checked items, current item) and a separate field that holds which of the two lists is active, both in the same model.  From this, you can render the two lists consecutively (or, if that's what you're after, both at once with the current item moving between lists).

by chance do you get time to make a small example ? I tried that but it seems the view don't load and the keyboard movements get some issues as it go with two slices

Here you go…  This example shows both lists at once, does without any fancy colors and such, and can be quit via Esc or Ctrl-C. Items can be toggled via Space or Enter.  As it is, it lacks a means of submitting the selection, does not validate your constraints (selecting two flavors), and can surely be improved/optimized, but you should get the idea.
package main

import (
	"fmt"

	tea "github.com/charmbracelet/bubbletea"
)

func main() {
	m := &model{
		flavors: []item{
			{"orange", false},
			{"strawberry", false},
			{"watermelon", false},
			{"apple", false},
		},
		adds: []item{
			{"candies", false},
			{"mixed colors", false},
			{"strange glass shape", false},
		},
	}
	if err := tea.NewProgram(m).Start(); err != nil {
		panic(fmt.Sprintf("failed to run program: %v", err))
	}
}

type model struct {
	flavors, adds []item
	list, item    int
}

type item struct {
	text    string
	checked bool
}

func (m *model) Init() tea.Cmd {
	return nil
}

func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
	switch typed := msg.(type) {
	case tea.KeyMsg:
		return m, m.handleKeyMsg(typed)
	}
	return m, nil
}

func (m *model) handleKeyMsg(msg tea.KeyMsg) tea.Cmd {
	switch msg.String() {
	case "esc", "ctrl+c":
		return tea.Quit
	case " ", "enter":
		switch m.list {
		case 0:
			m.flavors[m.item].checked = !m.flavors[m.item].checked
		case 1:
			m.adds[m.item].checked = !m.adds[m.item].checked
		}
	case "up":
		if m.item > 0 {
			m.item--
		} else if m.list > 0 {
			m.list--
			m.item = len(m.flavors) - 1
		}
	case "down":
		switch m.list {
		case 0:
			if m.item+1 < len(m.flavors) {
				m.item++
			} else {
				m.list++
				m.item = 0
			}
		case 1:
			if m.item+1 < len(m.adds) {
				m.item++
			}
		}
	}
	return nil
}

func (m *model) View() string {
	curFlavor, curAdd := -1, -1
	switch m.list {
	case 0:
		curFlavor = m.item
	case 1:
		curAdd = m.item
	}
	return m.renderList("choose two flavors", m.flavors, curFlavor) +
		"\n" +
		m.renderList("select adds", m.adds, curAdd)
}

func (m *model) renderList(header string, items []item, selected int) string {
	out := "~ " + header + ":\n"
	for i, item := range items {
		sel := " "
		if i == selected {
			sel = ">"
		}
		check := " "
		if items[i].checked {
			check = "✓"
		}
		out += fmt.Sprintf("%s [%s] %s\n", sel, check, item.text)
	}
	return out
}

thanks ! :)


feat: update Dockerfile to .NET SDK 3.1, improve NuGet metadata

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Regarding the logo update - I reckon you're talking about the jsii-calc packages? In this case, those are currently intentionally left this way - there's some tricky things to do so we can support embedded icons for generated modules... And that deserves it's own separate work item.


Update README.md

Codecov Report
Patch and project coverage have no change.

Comparison is base (482c887) 91.26% compared to head (68e5ddb) 91.26%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #55   +/-   ##
=======================================
  Coverage   91.26%   91.26%
=======================================
  Files          27       27
  Lines         584      584
  Branches      124      124
=======================================
  Hits          533      533
  Misses         46       46
  Partials        5        5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Feat: os and python version are required in issue.

I have read the CLA Document and I hereby sign the CLA


Vishesh-HelloWorld

What the program do ?
Print Hello Wolrdin python
In what programming language it is written?
Python

This pull request exeeds the max additions limit. Please fix it and reopen


Syntax highlighter freezes the window.

To reproduce:

Upload a nice 30KB .torrent file.
Then try to view it.

Can you provide the torrent file so I can give it a try ?


Problem for showing card based on json

Hi,
At first, thanks for creating this great community.
I have some problem with my card based on this json config:

My RSS posts don't show up in the creator profile page
Links section doesn't show my other social links
The Feeds section on the left shows two feed links, but in the json I just have one feed

Your feed does not have a valid SSL certificate that's why we can't parse it.

@DeeJayTC  I fixed url problem here #180, now feed address in json file is ssl based

Actually yea figured just now I was looking at your old URL but the new one seems to be returning a sorta wrong feed as well?
If I look at this one -> https://mehdihadeli.com/rss it seems to have some issues, there are only like 2 entries (is that right?) and the date format is wrong it has to be an ISO format. Also your feed has the wrong media type, its sent with text/plain instead of text/xml

Yep, mime type etc is fine but just the date here -> Sat, 29 Apr 2023 00:00:00 GMT is not a valid ISO date at least we had problems parsing that properly in past. Can you update that to like this "2022-09-27 18:00:00.000" or the UTC format?

Thanks, I try to change it to this format

Yea that should work

So, Should I do this change just for my feed, or you will apply this in your parse?

No you have to do that on your end, so your feed needs to send that proper date format.

Thanks it works fine :)


Batteries

cc @ai  makes the initial setup simpler

Cool.
Is astroturf a new name?

ya #40

I like it. Good work.


Add Quintessence QRNG

PR Adds Quintessence QRNG info along with information of what chains it serves

this is what was said in the PR

Previously
ANU: all mainnets and goerli
Now
ANU: all mainnets (and no testnets)
byog: all testnets (and no mainnets)

according to that this is correct

Will be merging this today as soon as I duplicate this into the VitePress docs.


chore: update owlbot java image

Waiting until tomorrow to merge this. Trying out a different renovate configuration on this repo. This PR puts it back.


As an editor I need a way to present key-value pair of information

Investigate if we should create a component for key-value pair based information, like the glossary. Semantically speaking this could be better represented as a description list (or something like that since DLs might be hard to style due to limitations for wrapping elements)
https://www.equinor.com/en/about-us/glossary.html
https://www.equinor.com/en/investors/our-dividend/internal-gas-price.html
https://www.equinor.com/en/investors/our-dividend/turnarounds.html
https://www.equinor.com/en/sustainability/health--safety-and-security.html

More discussions and investigations needed. Challenge editors on how they work and represent the data. Create a separate epic for tables? @wenche @nilsml

Create a description list


Great job, could use some

Hello,
I could use some guidance on the MVC6.Template code generation?

Ok, Thank for the update


docs: Deploying and Scaling Cortex

Goal

How to scale Cortex to 1000 tok/s using llama.cpp
How to scale Cortex to Y t/s using TensorRT-LLM

I am sunsetting this epic, as this will be taken over by Cortex Server/Enterprise


Hex release of recent merge

Hey Joshua,
Would it be possible to release the recent merges as a new version on Hex? I would like to include Elixirfm in a published Hex software package.
Regards,
Boon

HEY! im so sorry i am seeing this so late! i will def get that done rn! and thanks for the comment!

latest update from master now published on hex.pm

Thanks Joshua!
I shall check the hex package out later and update lastfm_archive (remove stopgap codes) to include the latest of Elixirfm.


Menu changes 020320

@olhabn please create a ticket to track this work against and reference it in the PR description.
Also, if possible, add screen shots of menuing before and after.


Clarity framework on CDN

Select one ...  (check one with "x")
[ ] bug
[ ] feature request
[X ] enhancement

Expected behavior
Do we have clarity framework on any CDN?
Actual behavior
Couldn't find any CDN access to the framework's files. It would be great to have them in CDN so that we can refer them easily when doing POCs with the framework.

AFAIK, there is no CDN available. NPM package is the way to go.

Great question, and while we don't have an official CDN there are several available that serve files directly from github that you can use.
Here is a list of a few options that I'm aware of:

https://unpkg.com
https://rawgit.com
https://cdnjs.com/ (doesn't have clarity-angular package for some reason)

If you do this, you'll likely end up using SystemJS to build your application since webpack is a build time not run time bundler.

I've also created a stackblitz sample you could use with Clarity already setup. https://stackblitz.com/edit/clarity-starter
Should get you enough to get going, so I'll close this. We might consider adding this to our documentation in the future.

@gnomeontherun thanks for the stackblitz starter... I was trying to use clarity on it and posted the question!! :)


ip_allow.config generation coalesce to IPv6 /48 subnets

The ip_allow.config generation is doing coalescing on a /48 subnet basis. This seems rather large.
I would propose to coalesce to /64 instead. This might depends on each provider usage of IPv6 subnet. I do use /127 for my caches which might not be suitable for those who uses /64.
Any comments?

Seems we should make it configurable...

agree.

Completed in 2.0.


Json ld

The data is in directory nested-corpus. It is the *.jsonld files that we need to review at this time.

I will change those things in the files, so that we remember them when it is time to implement. I haven't found any placeholder for administrative data (like datetime created, revised, exported or whatever). But I belive it is useful to have when making front-end work as well.

What does letters and images mean? What is the value of the information in the ID? If one is requesting a letter, does it say >     anything about what can be expected of the content?

Those are from the URIs used in the current digital editions, AKA COP. They are mainly used for statistics as required by auditors (Riksrevisionen), who requires that access logs are structured by media type

The collection names seems very legacy-ish: judsam and luftfo is what it is, but the date stuff like 2011!mar seems
superfluous and luftfo!2011!maj!luftfoto is repeating the same information. What about simplifying to
judsam!object2674!disposable!subrecord!d6e176 and luftfoto!object322504?

Year and month is syntactic sugar and isn't used anywhere in the software. The disposable subrecord is completely redundant, it was for the purpose of the nested solr records where it had a (hypothetical) function.
I want that we should be able to redirect permanently (301) old COP URIs after release of DS

Why is ! used as delimiter in IDs? It means that IDs must be escaped (not just quoted) in the term and visually it is
unconventional. I get that / does not work well with REST calls, but what about -?

It was used in the SOLR manual at some places. It is an  inheritance from the previous nested solr records (don't do regex solr search...) from a few weeks ago. I'll go back to '/'!!!!

Related we should write down rules for IDs, such as "[a-zA-Z0-9_-] only".

I have Backus-Naur syntaxes for current COP URIs somewhere. Haven't found them yet.

It seems obvious that we have a single authoritative ID for each object, but how do we represent alternative IDs as separate >     from that? I think you have done so in tystrup-soroe.jsonld, but I am not sure about the principle.

I'm not sure either. It seems that schema.org wants an url in each hash {}. id seems optional. That is I suppose the LOD philosophy emerging

I go directly to implementation now: I'll bear those comments in mind while implementing.
We must make a new reviews, perhaps one per media type.


[MB-4260] Create L5 Segment

Description
Garrett and I paired to create this PR that add the L5 segment
Reviewer Notes
Please check the validations and that it's okay to omit the ProductID and ProductIDQualifier fields described in the pdf as:
Optional L506 87 Marks and Numbers – Product ID X AN 1/48 Marks and numbers used to identify a shipment or parts of a shipment
• The L506 data element is used to transmit the Product ID of a Line
Item. If L506 is not included, then the Product ID will be defaulted to
the first 25 characters of the value contained in the L502 Lading
Description.
• Although ANSI allows a maximum of 48 characters for this data
element, Syncada will capture only the first 25 characters.
Optional L507 88 Marks and Numbers Qualifier – Product ID  Qualifier
O ID 1/2
Code specifying the application or source of Marks and Numbers (87)
Expected, but not limited to:
SM Shipper Assigned
• Refer to 004010 Data Element Dictionary for acceptable code values.
• This data element is required if L506 is submitted.
• This data element is not mapped to the Syncada application
Setup
Add any steps or code to run in this section to help others prepare to run your code:
make server_test

Code Review Verification Steps

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Messages

:book:
:link: MB-4260

  Generated by :no_entry_sign: dangerJS against 7e79a99946a57d2b55cbab35be135fe08f252865


Add nanodbc::list_drivers free function

Convenient wrapper for ODBC API call SQLDrivers.
Add two utility functions to base_test_fixture: connection_string_parameter and iequals_string,
which are used in list_drivers test exercising the new wrapper.

Note, if we decide to publish other string utilities like convert, that actually could be convenient for nanodbc users, then we may want to publish iequals_string as nanodbc::iequals as well.

@lexicalunit what do you think, like it? :)

Very cool! Looks like solid work to me 👍

Thanks!


Improve issue and PR templates

Types of changes

[ ] Bugfix
[ ] Enhancement (new and/or improved behavior)
[ ] Refactoring (no functional changes)
[ ] Code style update (no functional changes)
[ ] Dependencies added, updated, or removed
[ ] Build related changes
[x] Repository infrastructure changes (e.g. changes to issue / PR templates)
[ ] CI related changes
[ ] Documentation update
[ ] Other (please describe below)

Proposed changes / fixed issues

Add current project version at the top of bug report and enhancement proposal templates
Add repository infrastructure changes to "Types of changes" checklist in PR template

Checklist

[x] My contribution is either my original work, or comes from projects with an MIT-compatible license, in which case I have updated the THIRD-PARTY-NOTICES file accordingly
[ ] I have added and/or updated related documentation (if applicable)
[ ] I have updated the "Unreleased changes" section in CHANGELOG.md according to the modifications I made

Other information

Codecov Report

Merging #15 into main will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage   66.66%   66.66%
=======================================
  Files           3        3
  Lines         105      105
  Branches       21       21
=======================================
  Hits           70       70
  Misses         25       25
  Partials       10       10

Continue to review full report at Codecov.

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

This PR is also an excuse to test updated actions.
actions/labeler@main is used instead of<EMAIL_ADDRESS>the change was made for better debugging, but main just works, so who am I to judge. Let's hope they release a new tagged version soon.


[4.1] Fix crud table css selector

When a crudtable is not responsive, header items are not correctly aligned.
This PR fixes the css selector that is supposed to fix that.

A new inspection was created.

The inspection completed: No new issues

Great! Thank you for debugging & fixing this @martijnb92  . This looks like one of those changes that seem small but took quite a while to get right 😞
Cheers!

Hey, guys, this solution work for me
https://prnt.sc/unsavu

It is fixed already, make sure you update your assets.


Add release note for 1.1.0

This does not include #3057 yet. 😉

How about including #3024?

@trustin and @ikhoon All fixed. 😉

Thanks for reviewing. 😉


Support readme files

This pull request adds support for readme files, populated by what setuptools calls the long description. This one is a bit more complicated because the naive way to get the field value, get_long_description(), reads the content of the readme file if one is specified, but we need the actual filename to write into pyproject.toml, so I went a little deep into the Distribution metadata to find the raw value.
The other notable thing about this bit of code is that it will actually write the long description to a file if it was hard-coded in the setuptools parameters. This is the first case in which the plugin generates something other than the content of a pyproject.toml file.

This caused a failure in local testing lol
$ python3.6
Python 3.6.15 (default, Jan  3 2022, 03:00:17)
[GCC 10.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mimetypes
>>> mimetypes.guess_extension("text/plain")
'.bat'

:exploding_head: :facepalm: :facepalm:
Apparently it affects Python <3.8

This caused a failure in local testing lol
$ python3.6
Python 3.6.15 (default, Jan  3 2022, 03:00:17)
[GCC 10.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mimetypes
>>> mimetypes.guess_extension("text/plain")
'.bat'

🤯 🤦 🤦
Apparently it affects Python <3.8

.bat eh?  Blast from the past.  Given it's implicated in old Python releases, that are no longer maintained, I don't see them fixing it upstream anytime soon.

I know I had mentioned adding tests that use setup.py directly in a separate discussion, but I kind of want to just get this merged without them and go back and add such tests later. (Even though the readme handling really should have such tests, because it digs into the setuptools data structures)

That makes sense… I would have thought setuptools would behave the same way in both cases, but it seems you can get different behaviour depending on which method a project uses.
We didn't know this at the start… we've only just discovered that little gem.  We'll come back to the inline case later I think.


Bump to cartopy 0.21.0, rasterio 1.3.3, hdf5 1.12.2, qgis 3.22.11

Minor version updates to fix mamba solver as reported in https://github.com/CryoInTheCloud/hub-image/pull/13#issuecomment-1330840738. Cherry-picked from #14.

It looks like merge commits are disabled for this repository, do you know why? I think they're extremely helpful in figuring out which PR a particular change landed in...

I've just re-enabled them, but not sure why they were disabled in the first place...

Ah sorry, I usually go with squash and merge to keep a linear history. Ok with re-enabling them too if you prefer it that way.

@weiji14 yeah, I really like not losing individual commit messages! I think we can rebase and merge too if you prefer.

Let's stick with regular merges. There shouldn't be too many people making changes to this repo so I can live with a bit of spaghetti git history.


[Central_v2] - Design/Dev Coord - CCSS button in error state

You can totally tell me to get lost on this but I was wondering if you wanted to highlight the CCSS button as being in an error state when it's not completed. You can see the error state screen here:

https://www.figma.com/design/PadzU8GqyhFLCjIt7rQkpE/RightOn-Apps?node-id=23580-96483&t=bYkQhneARvrq7c6b-4
And you can see that there isn't any change in the CCSS button if it doesn't get completed. Totally let me know if that's just the intended design though

I'm actually going to backlog this for now in the hopes of deleting it because our design system work is addressing this.  Thanks!

Nice!


Feature/awscli

Use aws cli instead of s3cmd because cancercollaboratory currently doesn't support it.

Coverage remained the same at 79.887% when pulling 2c027167b4d62f0623f36f5b00d58b67ace668c4 on feature/awscli into 9b8f639caa288d2cf7f5b6c85bdbd1951d8f0b54 on develop.


godog steps linting

Is there any easy way to lint source code to catch duplicate godog steps? We have been bitten a couple of times because godog matches steps defined in golang to features files and developers copy/paste golang steps across tests thinking the receiver defined in the new step will be used when it's the receiver in the step that godog matches first that is actually going to be used.

Hi, at the moment godog just finds the first match. probably we could use strict mode to fail with an error in case if same definition signature is detected


Feature Request: Allow to specify sub folders of thumb size

Basically, if I upload an image and have three thumb sizes specified: small, medium, and large - I would like to have subfolders called small, medium, and large respectively.

Could probably be done via a token, like {SIZE}, although there are the following issues:

What is the default for {SIZE}? default? If that is taken as a thumbnailType, then we'd have issues.
Do we strip {SIZE} from the path option? If not, we need a default.
This needs to be evaluated at thumbnailGeneration time, which further pushes the fact that path generation needs to be consolidated.


Suggestion: Add the fields instead of adding the technologies randomly.

Hey Dean, Why don't you deliver the content based on different fields like web development, DevOps, mobile development, etc? If someone wants to learn a specific field then there should be a link to that field.
A question may arise if some content is common in multiple fields then should we write them in all the fields?
Answer: No we should include all the common content in a separate file and link them in the fields that are using them.
What do you think about it? Do you have any idea of managing these technologies in a proper way? I have created a repository for that. You can check it out.

This makes sense now, and I like it. If you want to do this, I will accept the PR, but it will impact GitHub pages. It may be worth doing this after mdbook is in place, or we could look for another solution (or keep the current one).

No problem.

Cheers, let me think about it and I'll see if I can give mdbook another go. Once that is ready we can do whatever we want and it won't matter. At the moment I only have index.md working.

No problem. I am looking to collaborate more. What are the next things to do about it? I noticed that you have the same definition under multiple headings. Why?

Because I didn't know where to put it, and if I didn't write it down at the time, I could have forgotten about it.
If you like, you could be in charge of the structure. You seem to know quite a bit about how it should work, and you've done this before. I am happy to assign it to you, and I am not phased if you break GitHub pages. We can redo that later.
It probably wouldn't be difficult to fix, I'm just not sure how quickly I'll be able to get to it.

Thank you, @loftwah for assigning me! I will take a look at it.

I just merged your latest request. I'll translate it and get you to look over it again before I merge any of those changes.
From here I think we should start only merging changes based on PRs (I know you do, but I've been pushing straight to main, which isn't great).
Appreciate it.

I think this may break GitHub Pages but it isn't a big deal and I can work out how to fix it later.

It handles it surprisingly well, wow. Well done.
Some of the images are broken now so we'll need to fix it. We should raise another issue (I can do it later if no one else does).


[Core] Fix crash when hashing empty CharString

Minimal fix, could make hash_djb2 handle nullptr gracefully but limited it to fixing this direct issue here. get_data always returns a non-null pointer.
hash_djb2 is not used directly anywhere in the engine, only HashMapHasherDefault uses it, though you could have issues if you feed it a plain string, but I don't know if that's a major risk here, I think it's fair to assume that these methods should be called with non-null arguments.
If I am to change that to handle this gracefully I'd also change the String::hash methods taking a pointer as they all also assume it to be non-null.

Fixes: https://github.com/godotengine/godot/issues/85388

Thanks!

Thank you!

Cherry-picked for 4.1.4.


Message box not clearing on send

What it says on the tin.
When I send a message, the message box doesn't clear meaning I have to remove the message manually before sending

Running: V1.1.3
Os: Ubuntu x64

This appears to be a duplicate of #141.

Closing in preference of #141


Project Chat room

Hi,
I propose to create a slack or gitter channel for start discussing about the project. I suggest those above IRC because they have better features, first of all the history, which is something that IRC is missing. # @

I understand your request, but personally I don't like the idea of using a closed source chat to manage a FOSS project like tomatoes.
What do you think @bugant @potomak?

I agree with @dalpo. See also http://sircmpwn.github.io/2015/11/01/Please-stop-using-slack.html.
I registered a #tomatoes channel more than 2 years ago at http://freenode.net/ that could be used to chat about the project:
Information on #tomatoes:
Founder    : potomak
Successor  : freenode-staff
Registered : Jun 24 13:57:29 2014 (2y 16w 4d ago)

I will add info about the channel on the README soon.


Tests not functioning

Challenge Size your Images has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

I went ahead and highlighted the code I added this challenge that fixed this issue. I hope this helps your issue.

That's exactly the same as my original code.
I believe it's a comptability issue as working on another browser he tests passed.

I am getting the same issue except it keeps saying: Your image should be 100 pixels wide. Browser zoom should be at 100%. And my browser zoom is at 100%. Any tips?

@Napoleonsolo51 I recommend using another browser or device to pass tests.

@eddiecervello what browser are you using? And which version? I'm unable to reproduce your issue.

I was using chrome. Switched to FF and it worked. Cheers guys


Start Using SAP HANA 2.0, express edition (Virtual Machine Method)

I'm a newbie to linux, please give more details on extracting  hxexsa.tgz  in application folder as sudo is not recognized unless PATH is set
Thanks
Prasad Badal

Hi, Prasad. I need more specifics. What are you trying to do? Can you take a screenshot of the error?

Lucia :never mind i was able to install the VM hxexsa and dont need to install the applications separately
 thanks
Prasad Badal
  From: Lucia Subatin<EMAIL_ADDRESS>
To: SAPDocuments/Tutorials<EMAIL_ADDRESS>Cc: badalpras<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Sent: Friday, August 25, 2017 7:01 AM
Subject: Re: [SAPDocuments/Tutorials] Start Using SAP HANA 2.0, express edition (Virtual Machine Method) (#1829)
Hi, Prasad. I need more specifics. What are you trying to do? Can you take a screenshot of the error?—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Great. Have a good one!


OPi.GPİO installation error

i try to install OPi.GPIO on my orange pi 3 lts and when i got to the sudo python setup.py install part it give me a error saying "collect2: error: ld returned 1 exit status " "error: command 'aarch64-linux-gnu-gcc' failed with exit status "  if some one can help me i would appreciate

no i didnt solve it but i think i got it you need to install some thing with gcc for one thing you need to have armbian it dosent work with debian all this informasion i am geting is from Aİ like chat gpt or bard Aİ like these can solve most of your problems dont use chat gpt use bard chat gpt can only know stuff from 2021 bard can know up to 2023


Question: validate the member of slice

[ ] I have looked at the documentation here first?
[ ] I have looked at the examples provided that may showcase my question here?

Package version eg. v9, v10:
v9
Issue, Question or Enhancement:
When using the struct method to validate a struct A, one member a is a slice composed of another struct B. How to set the tag of a to call the validate validation of B
Code sample, to showcase or reproduce:
type A struct {
a []B validate:"required"
}
type B struct {
b xxx validate:"required,validateb"
}

How should I modify A.a's tag to call b's validation function validateb

That's great. I found the “dive” tag in the document, maybe it can achieve the goal


Incorrect handling of cameras with custom viewports in the raycast backend.

There's probably the same issue as https://github.com/aevyrie/bevy_mod_picking/issues/212 around https://github.com/aevyrie/bevy_mod_picking/blob/main/backends/bevy_picking_raycast/src/lib.rs#L95

I think I'm running into a different, but same'ish problem. I have entities on a different render_layer from the main camera and when I try to select an entity, it selects a different entity at the main camera's offset.

This should now be fixed. Rays are generated from a centralized system to help prevent these errors in raycasting-based backends.


Coupled Head

Thank you for share this great project.
Have you consider Decoupled head issue ?

We consider that Decoupled head (i.e., Parallel head in the paper) might lead to a certain level of spatial misalignment in predictions between the two tasks, which was discussed in the paper.

Great help. I will run this project in coco for comprehensive  more detail. Thank you.


Visual Studio 2022 Extension VSIX source Code for Notebook Extension you were Testing

I was working on replacing/modifying my LinqLanguageEditor2022 extension to use Notebooks and would like to continue this project, can you provide me a link to the source code for you VSIX package for the Notebook extension you were testing for Visual Studio 2022 so that I will not have to start from scratch with your package and this will allow me to maintain and support the use of a notebook in my extension?
@SFC-Sarge @NotCoffee418 - Sorry that we haven't made it's deprecation clear. We'll work on messaging that to the community better.
The VS Notebook Extension was an experiment that didn't get as much adoption as we'd hoped.
I'd love to hear your feedback on the VS Notebook extension and on the VS Code Polyglot notebooks! VS Code has the best .NET Notebook experience with Polyglot Notebooks.
https://github.com/dotnet/interactive#visual-studio-code
I apologize again for the abrupt deprecation of the VS Extension and hope the VS Code experience meets your needs. If not, let us know!

The code for the Visual Studio VSIX isn't open source and the path forward is going to be via the Polyglot Notebook extension (formerly .NET Interactive) for VS Code, which is this repo.

@brettfo
I am willing to sign a NDA for the Visual Studio 2022 VSIX source code if that would help.


Numerous Updates

@TheAlgo Simple one, but we should definitely have a minimum of 3 for quorum and appropriate Elasticsearch startup.
Also, Configuration should be YAML based. It's better for ES that way.
I've also added in the sysctl support for the vm.memory issue. It has some pre-requisites. However, should do the job.

@TheAlgo Bare with me. Couple other changes are needed I've found.

@TheAlgo I made it so that HTTP SSL is disabled by default in the demo configuration. So people can access and play with admin:admin without fiddling with demo certificates.
If you're happy. Can you give me another thumb/OK?

Actually, I guess you should merge it as well.
I'll check Dashboards next.

@TheAlgo I made it so that HTTP SSL is disabled by default in the demo configuration. So people can access and play with admin:admin without fiddling with demo certificates.
If you're happy. Can you give me another thumb/OK?

Sure @DandyDeveloper  I will do it.