[DILogin] Handle Users with Discriminator

HI!
I've been using your plugin for a couple days now, and in code I don't see a handling of user#0000 in registration.
My partners would really use it, and you can still using discord's ID if you handle it correctly.
I could manage to work it out in a few days, but I don't know the code and it's taking me such a lot of time to figure it out.
Nice plugin! Hope to see other implementations that you had in mind.

Hello, at the beginning of the year I will try to make all the suggestions that have been added by Discord and here.
I appreciate the opinion and your suggestion.

Added in 2.4.1 version


Updating load-themed-styles to version 1.3.0.

@iclanton,
Thanks for your contribution.  To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
The agreement will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot


2018 devices

When will this support the new 2018 devices? Thanks.

up

+1

+1

+1

+1

There's two pull requests implementing these changes (I'm partial to my own https://github.com/sebyddd/SDVersion/pull/90, but either will mostly do).
Feel free to set your pod file to use my fork:
pod 'SDVersion', git: 'https://github.com/cguess/SDVersion'
while waiting for one of them to be accepted.

@cguess
Cool, thanks. What about the new Watch devices?

+1

@skuske it's now updated with the new 40mm and 44mm watch sizes. I'm guessing (intelligently) on the watch models, since neither I nor anyone else has them yet, but it should be solid.

There's two pull requests implementing these changes (I'm partial to my own #90, but either will mostly do).
Feel free to set your pod file to use my fork:
pod 'SDVersion', git: 'https://github.com/cguess/SDVersion'
while waiting for one of them to be accepted.

screenHeight = [[UIScreen mainScreen] nativeBounds].size.height  this wrong In the case of using the plus series

But write podspec cannot use s.dependency 'SDVersion', git: 'https://github.com/cguess/SDVersion',
Please release 2018 iOS devices @sebyddd

@cguess How can I use your repo of a podspec ？
s.dependency 'SDVersion', git: 'https://github.com/cguess/SDVersion'


HASSIO: Adjust hassio config.json to map all data relevant directories

Describe the bug
In HASSIOs config.json only "config" is a mapped volume to hassio host.
Which mappings have to be configured for sqlite database and other configurations like SOC limit for chargers, soc handling for battery ?!
Steps to reproduce
Update HASSIO version of evcc..
Sometimes many configs are gone...
Configuration details
network:
  # schema is the HTTP schema
  # setting to `https` does not enable https, it only changes the way URLs are generated
  schema: http
  # host is the hostname or IP address
  # if the host name contains a `.local` suffix, the name will be announced on MDNS
  # docker: MDNS announcements don't work. host must be set to the docker host's name.
  host: xxx
  # port is the listening port for UI and api
  # evcc will listen on all available interfaces
  port: 7070

interval: 30s # control cycle interval. Interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval

#database configuration for persisting charge sessions and settings
#database:
#   type: sqlite
#   dsn: /config/evcc.db

Log details
none

What type of operating system are you running?
HomeAssistant Add-on
Version
0.130

Which mappings have to be configured for sqlite database and other configurations like SOC limit for chargers, soc handling for battery ?!

Actual there is only /config as volume configured and not planned to move to addon_config.

@goebelmeier  I really think we need to add the data to the map on the config.json to fix this. I have the same issue. The database is basically deleted on every container restart.
The issue is here: https://github.com/evcc-io/hassio-addon/blob/main/evcc/config.json#L27
It should be:
"map": ["config:rw", "data:rw"],

@Frintrop @goebelmeier  I also just had a look at this, because I was thinking about the same problem. I just restarted the evcc container and checked the creation time of the evcc.db. It looks fine. For example:

Sep 25, today we have the 27 so the file is not being re-created. I think this can be closed

https://github.com/evcc-io/hassio-addon/blob/main/evcc/DOCS.md#how-to-find-and-copy-dataevccdb


fix: empty body handling

The linter is failing due to nested statements. Any, suggestions how can we avoid this?

Can we merge this? @StewartJingga @mabdh


Decide permissions for viewing tokens, independent of revoke

Another permissions question: how do we decide who should be able to view the list of tokens and view token details, independent of whether or not they can revoke them?

Originally posted by @simonw in https://github.com/simonw/datasette-auth-tokens/issues/16#issuecomment-1701311142

We currently have two permissions:

auth-tokens-create allows the creation of API tokens
auth-tokens-revoke-any - allow revoking any token (even tokens not belonging to the current user)

I'm going to say that by default you can only view tokens you created yourself, unless you have auth-tokens-view-all which allows you to view all tokens.


The officially recommended GPS/IMU scheme is too expensive. Do you have a cheaper solution?

hello
We're going to develop a commercial product based on Apollo, so we need to control the cost, but the officially recommended GPS/IMU scheme is too expensive. Do you have a cheaper solution?
祝身体健康，工作愉快！
H.Huang (黄航<EMAIL_ADDRESS>Distributed & Embedded System Lab
School of Information Science and Engineering,Lanzhou University
South Tianshui Road 222, Lanzhou City, 730000

Hi,
Of course, there are other options available. From what we know so far, there are quite a few GPS/INS vendors out there. However, each vendor doesn't necessarily generate the output with NovAtel's format. That would require change on the driver side.
On top of that please evaluate the precision of the device to make sure that fits your need in your system.
Best regards,
Yang

thanks


fix TIME value near zero will become zero

close https://github.com/go-mysql-org/go-mysql/issues/677
Thanks @rudy-gao for finishing all the code work, I just help him file a PR

@atercattus PTAL

In fact rudy-gao is the author and I'm the reviewer :P just merge it.


ROX-11918 Operator / Helm chart must allow to change the Route hostname

Description
To allow a custom hostname for the central route.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[x] Evaluated and added CHANGELOG entry if required
[x] Determined and documented upgrade steps
[x] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

PR in openshift-docs: https://github.com/openshift/openshift-docs/pull/48792
If any of these don't apply, please comment below.
Testing Performed
To test helm updates:
cd stackrox/templates/helm/stackrox-central
helm install -n stackrox stackrox-central-services . --set-string central.exposure.route.enabled=true --set-string central.exposure.route.host=custom-host.apps.openshift.example.com

And observe that the central Route is created with the hostname specified.
To test OLM updates:

Create a bundle image with the updated CRD (quay.io/akrohg/acs-bundle)
Create a catalog source to house the bundle image (quay.io/akrohg/acs-catalog)
Create a CatalogSource in the openshift-marketplace namespace which points to the catalog image from step 2
Create a Central object and observe the new field, set some value for spec.central.exposure.route.host
Ensure that central route has a host attribute which matches the value set in step 4

In addition to reviewing your code, reviewers must also review your testing
instructions and make sure they are sufficient.

/ok-to-test

Thanks for the go-ahead @porridge ! I missed the update to central_types.go on the first pass - should now be ready for another test

/retest

Could you als add this change to your PR:
--- a/image/templates/helm/stackrox-central/internal/config-shape.yaml
+++ b/image/templates/helm/stackrox-central/internal/config-shape.yaml
@@ -71,6 +71,7 @@ central:
       port: null # int
     route:
       enabled: null # bool
+      host: null # string
   extraMounts: null # [dict]
   enableCentralDB: null # bool
   dbPassword:

(this is documented in image/templates/CHANGING_CHARTS.md).

Thanks for the feedback @porridge and @mtesseract! I've pushed those changes

Thanks @andykrohg , looks good modulo the unit test failure. Looks like persistence and expose monitoring need to be expected too.

@andykrohg: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
Test name	Commit	Details	Required	Rerun command
ci/prow/gke-ui-e2e-tests	55d5afa link	false	/test gke-ui-e2e-tests
Full PR test history. Your PR dashboard.

Hmm, not sure this has anything to do with my changes, though I notice it's not required. Please let me know if any further changes are needed for merge


pypgstac and pgstac database compatibility

I have a doubt regarding compatibility of pypgstac and pgstac database with different versions.
I use pypgstac 0.4.3 to upload data to the pgstac database programmatically:
import asyncio
from pypgstac.load import load_ndjson

dsn = "..."
asyncio.run(
    load_ndjson(file="items.njson", table="items", dsn=dsn, method="insert")
)

Is it safe to use this code to populate v0.6.X pgstac database or pypgstac must be the same version as the database?
I think it makes sense to reflect this information in docs.

Yes, pypgstac and pgstac should be used with the same versions. We should definitely add this to the documentation and probably add a check to the loader to make sure that the loader is compatible with the target database.

Just time to review it. I'm preparing a few items for a release this week, I'll make sure to review this to try to get it in the release.


Turn ZWave+ CC's roleType and nodeType into internal Value IDs and expose them through the node instance

as discussed in #1179

@AlCalzone What about also name and location ?

In zwavejs2mqtt I have a custom management of them as I had many and many problems with ozw nodes names and locations. I think I will keep my custom implementation but could help someone else (this means they will become internal too)

That would be the Node Naming And Location CC properties. I'm fine with reusing those properties for our purpose.
Setting them on the node (if the CC is supported) should still happen through the corresponding API.

node type and role type are specific to endpoints, sot it should be added to node endpoints

Good point. The node instance automatically inherits the one for endpoint 0.


http error

➜  ~ http --help
Traceback (most recent call last):
File "/usr/local/Cellar/httpie/0.9.4/libexec/bin/http", line 5, in
from pkg_resources import load_entry_point
ImportError: No module named 'pkg_resources'

bump

@badjano that's an old version try brew update && brew reinstall httpie

Traceback (most recent call last):
File "/usr/local/Cellar/httpie/0.9.6/libexec/bin/http", line 5, in
from pkg_resources import load_entry_point
ImportError: No module named 'pkg_resources'

I have a colleague that has the same mac, but it is working on his, I reinstalled python, pip, setuptools, brew upgrade, everything, still can't figure out what is going on

I just ran into this as well. Looking at the install error, I saw this:
==> Installing dependencies for httpie: python3
==> Installing httpie dependency: python3
==> Downloading https://homebrew.bintray.com/bottles/python3-3.5.2_1.el_capitan.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring python3-3.5.2_1.el_capitan.bottle.2.tar.gz
==> Using the sandbox
==> /usr/local/Cellar/python3/3.5.2_1/bin/python3 -s setup.py --no-user-cfg install --force --verbose --install-scripts=/usr/local/Cellar/python3/3.5.2_1/bin --install-lib=/usr/local/lib/python3.5/site-pa
Last 15 lines from /Users/jsheeley/Library/Logs/Homebrew/python3/post_install.01.python3:
-s
setup.py
--no-user-cfg
install
--force
--verbose
--install-scripts=/usr/local/Cellar/python3/3.5.2_1/bin
--install-lib=/usr/local/lib/python3.5/site-packages
--single-version-externally-managed
--record=installed.txt

Failed to import the site module
Your PYTHONPATH points to a site-packages dir for Python 2.x but you are running Python 3.x!
     PYTHONPATH is currently: "/Library/Python/2.7/site-packages:/usr/local/lib/python2.7/site-packages:/Users/jsheeley/.venvburrito/lib/python2.7/site-packages"
     You should `unset PYTHONPATH` to fix this.
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall python3`
==> Caveats
Pip, setuptools, and wheel have been installed. To update them
  pip3 install --upgrade pip setuptools wheel
... (etc)

To fix, I ran:
✗ unset PYTHONPATH
✗ brew postinstall python3
✗ http google.com
HTTP/1.1 301 Moved Permanently
Cache-Control: public, max-age=2592000
Content-Length: 219
Content-Type: text/html; charset=UTF-8
Date: Fri, 23 Sep 2016 04:34:37 GMT
Expires: Sun, 23 Oct 2016 04:34:37 GMT
Location: http://www.google.com/
Server: gws
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block

<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

After installing python3 properly, it works (even with PYTHONPATH set to the old value).
I think this is compounded also by brew's recent 1.0.0 release - it seems to have changed a number of python things for me, and I've had to reinstall a number of packages.

Thanks @sheeley, this worked for me, although my python3 wasn't linked and I decided to force uninstall it and install it again, and now it works!

This happened to me after I upgraded npm from 3.10.10 to 4.0.5... I tried @sheeley solution but it did not work for me. My fix was to brew uninstall httpie then brew install httpie. Now I'm back to normal. FYI.... This was on my MacBook Pro (Early 2011) running macOS 10.9.5


BootstrapCDN (CSS) link on homepage covered with scrollbar. Can't copy the link.

I go to the BS Homepage to grab the CSS CDN path but it is covered with the horizontal scrollbar (caused by overflow x) so I can't highlight the text to copy and paste it. I am on Mac with Chrome browser.
Could you please add some padding to:
.highlight pre {
    padding: 2rem 0;
}

Thanks,

Kerry

I think this is a "recent" regression. I'll have to check git log to pinpoint this.

Hi XhmikosR,
I think this defect has been evident for a fair while but it made me angry enough (the other day) to log the minor issue. Hehe.
Thanks again,
Kerry

@mdo @MartijnCuppens since you guys are on macOS, can you check this? For me it doesn't happen on Windows with Chrome nor Firefox.

I can confirm this - Safari and Firefox are fine, but Chrome's scrollbar (triggered by the overflow: auto when hovering the thing/trying to select) is horrid and indeed blocks actual text selection.

could either add more vertical padding (just to appease Chrome/macOS), turn this into a read-only text input with no borders (not tested, but that SHOULD work i think), or add an explicit "Copy" button next to it...

Yup, I can confirm. Adding a copy button (like we did here: https://getbootstrap.com/docs/4.3/getting-started/introduction/) could indeed help us out.

I think not adding a copy button in the homepage snippets was done on purpose, though. Not my choice, probably @mdo's, so he might know why :P

Fixed in v4.5.0.


Wiki breaks on adding mediaplayer plug in

My this wiki breaks on adding mediaplayer plug in.

Any way to find the conflicting plug in ?

I installed the plugin from here https://mediaplayerava.tiddlyhost.com/ and don't see this problem

https://mediaplayerava.tiddlyhost.com/#%24%3A%2Fplugins%2Fbj%2Fdrag-and-drop
This plug in is causing the problem I think. Is it necessary for mediaplayer to work?

The problem is that the codemirror plugin is doing something weird. The drag and drop plugin is used when you use mediaplayer template which has reordering by drag and drop. It is not needed otherwise.

I thing I have found the problem, I need to make an update to the drag and drop plugin. (note that the mediaplay will work without the drag and drop plugin - it is only need with reordering templates )


Finish signal handling implementation

Most of the infrastructure that would be needed by signal(2) is in place (and kill(2) is implemented) but when a MINIXCompat process is signaled the handlers aren't actually called yet.
This is likely to be important for running cc since signals are one of the only ways (other than file locking) to handle multi-process coordination on MINIX 1.5.

Here's my first idea for how to deliver a signal to the 68K side:
We have the 68K-side address of the handler for the signal, so we just need to push the signal number itself on a  stack, jump to that, and switch back to host code when it's done. That means we need to provide two things: A stack on which to execute the handler, and a means of transitioning immediately back to host code when done.
We can provide a stack by just reserving another portion of the address space for it, such as the region immediately below the user stack, and setting that to the emulated SP (and "pushing" the signal number to it) before jumping to the handler. That's quite straightforward.
Transitioning back to the host as soon as the handler is complete is a little more complicated. My first inclination is to have the TRAP #1 instruction do that, and to synthesize a JSR to the signal handler address instead of setting the emulated PC to its address directly. That way we can synthesize a TRAP #1 after that JSR that transitions back to the host and says the emulated handler is done and that we can go back to normal emulation (or run another signal handler, if needed).

What about this as an idea. When there is a signal to deliver and there is a registered handler, i.e. just before you call return m68k_execute(cycles);, perhaps you can do this:

push the current PC (REG_PC) on the stack (2 bytes)
push rts then addq.l #6,sp on the stack (4 bytes) and record the addq.l location
push the mapped signal number on the stack (2 bytes)
push the address of the addq.l instruction on the stack (2 bytes)
set REG_PC to the address of the MINIX signal handler

Then, when you call m68k_execute(), it will run the signal handler. At the end, when it does the rts, it will jump to the addq.l instruction. This will remove the signal number, the rts and the addq.l from the stack, do the rts and then jump to the PC which the code would have done if there was no signal handler.

Good idea! That sounds a lot more tractable and doesn't require a bunch of bookkeeping, and it's not really a big deal either to require an executable stack.

Oh yeah, and the addresses are actually going to be 4 bytes, not 2. :) But I get your meaning!

MINIX signal handling always specifies _begsig from catchsig.s as the handler when calling signal(2) when then goes to the vector table to actually call the user-side handler.
The trick is that _begsig uses RTR to return rather than RTS so we also need to push the original value of the CCR restore after the PC to resume at.

What this means is that all we actually need to do is push (in this order) the PC, the SR, and the signal number, and then set the PC to the signal handler (which is always _begsig). It will take caare of the stack for us.


Disable the plugin's scrollbar

Looking for an option to disable the scrollbar, or if there is already a way, how would one go about doing it?

You can write your own CSS (ie. CSS modules) to achieve this – wrap your root component in a div set to overflow: hidden

Thanks, this solved it!


Name project is very bad

If I want to google o I'll get nothing - example.
If I search o in any project I'll get the same!
Please, rename your project name.

It's called gardenhq/o, that long enough for you? ;)
https://www.google.co.uk/search?q=gardenhq%2Fo
First result.
We namespace everything, even if the name is not taken on npm

If I search o in any project I'll get the same!

Not quite sure what you mean by this, but we let you control what it's called/exported as in a browser via data-export
https://greenhouse.gardenhq.io/o/docs/reference/html-attributes.html#data-export
Call it supercalifragalisticexpialidocious if you like :)
<script type="text/javascript"
<EMAIL_ADDRESS><!-- or source it from unpkg -->
    data-export="supercalifragalisticexpialidocious"
    data-src="index.js"
></script>

// index.js
(
    function(yippee)
    {
        ...
    }
)(supercalifragalisticexpialidocious(function(Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch){ return Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch(document)}));

o is easier to type though :)
Also, you should only be using the letter o (if at all) once in your 'bootstrapping' code anyhow.
If you are in node, doing backend work, you are probably using @gardenhq/willow via @gardenhq/o:
https://greenhouse.gardenhq.io/o/docs/node-usage/index.html
In which case again you can require it and call it whatever you like:
(
    function(load)
    {
        load.then(
            function(builder)
            {
                return builder.build(__dirname + "/container.yaml").run("main");
                // don't want yaml?
                // return builder.build(__dirname + "/container.js").run("main");
            }
        ).catch(
            function(e)
            {
                console.error(e);
            }
        );
    }
)(require("@gardenhq/o/builder.js")(function(huzzah){return huzzah(require)}));

There are reasons its 'called' o, happy to reconsider if you can give me a better reason :)
Let me know if that addresses your issue.


Feat Job supports task execution statistics

Changes
Task metadata add jobName
mysql> desc  function tasks("type"="insert");;
+---------------+------+------+-------+---------+-------+
| Field         | Type | Null | Key   | Default | Extra |
+---------------+------+------+-------+---------+-------+
| TaskId        | TEXT | No   | false | NULL    | NONE  |
| JobId         | TEXT | No   | false | NULL    | NONE  |
| JobName       | TEXT | No   | false | NULL    | NONE  |
| Label         | TEXT | No   | false | NULL    | NONE  |
| Status        | TEXT | No   | false | NULL    | NONE  |
| ErrorMsg      | TEXT | No   | false | NULL    | NONE  |
| CreateTime    | TEXT | No   | false | NULL    | NONE  |
| FinishTime    | TEXT | No   | false | NULL    | NONE  |
| TrackingUrl   | TEXT | No   | false | NULL    | NONE  |
| LoadStatistic | TEXT | No   | false | NULL    | NONE  |
| User          | TEXT | No   | false | NULL    | NONE  |
+---------------+------+------+-------+---------+-------+
11 row

Failed tasks cannot be displayed.
We use a LoadManager to store task execution information, but failed tasks are not stored. Since the entire lifecycle of a task includes the Load Manager, it must be managed throughout the entire Job Manager.
Job metadata add succeedCount, failedCount, canceledCount
mysql> desc  function jobs("type"="insert");
+-------------------+------+------+-------+---------+-------+
| Field             | Type | Null | Key   | Default | Extra |
+-------------------+------+------+-------+---------+-------+
| Id                | TEXT | No   | false | NULL    | NONE  |
| Name              | TEXT | No   | false | NULL    | NONE  |
| Definer           | TEXT | No   | false | NULL    | NONE  |
| ExecuteType       | TEXT | No   | false | NULL    | NONE  |
| RecurringStrategy | TEXT | No   | false | NULL    | NONE  |
| Status            | TEXT | No   | false | NULL    | NONE  |
| ExecuteSql        | TEXT | No   | false | NULL    | NONE  |
| CreateTime        | TEXT | No   | false | NULL    | NONE  |
| SucceedTaskCount  | TEXT | No   | false | NULL    | NONE  |
| FailedTaskCount   | TEXT | No   | false | NULL    | NONE  |
| CanceledTaskCount | TEXT | No   | false | NULL    | NONE  |
| Comment           | TEXT | No   | false | NULL    | NONE  |
+-------------------+------+------+-------+---------+-------+
12 rows in set (0.01 sec)

We have added the fields SucceedTaskCount, FailedTaskCount, and CancelTaskCount. Users want to be able to view the execution status of tasks, so we included these fields.
Compatibility:
Upgrade
Upgrading smoothly without any compatibility issues.
Rollback
However, if you upgrade to this new version and then roll back to the old version, the new version's tasks will not be displayed. The new version deprecates the old task storage method, and the old tasks will be migrated to the new task storage. Therefore, when rolling back to the old version, the tasks generated by the new version will not be visible. However, tasks are primarily responsible for task execution and have a short lifespan, so it will not have a significant impact on users.

run buildall

Please update the document


MudChipSet: can't select the last selected item again after manually clearing

Bug type
Component
Component name
MudChipSet
What happened?
When you have a MudChipSet:

select a chip
then in code, set the selected item to null
immediately after click the same chip again
visually it is selected, but the selected item is still null

It is very similar to #7841 but with the difference that in that case MultiSelection="true" and in this case MultiSelection="false".
Expected behavior

select a chip
manually set the selected item to null
click the same chip again
now the selected item should be the chip you clicked, and not null

Reproduction link
https://try.mudblazor.com/snippet/QYwSOwwDIwrsGdFi
Reproduction steps

select a chip
then in code, set the selected item to null
click the same chip again
visually it is selected, but the selected item is still null

Relevant log output
No response
Version (bug)
6.16.0
Version (working)
No response
What browsers are you seeing the problem on?
Firefox, Chrome, Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Will be fixed in v7.0.0, see #4342


Non-conforming tetrahedal refinement [nc-tet-dev]

Adds support for NC refinement of tetrahedra.
Other improvements:

mixed meshes fully supported now in NC mesh
parallel load balancing and derefinement of mixed meshes

TODO:

[x] Derefinement
[x] Coarse-fine transforms
[x] Parallel code
[x] Edge-face constraint similar to prisms
[x] CHANGELOG

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

https://github.com/mfem/mfem/pull/949
@jakubcerveny
@tzanio
@v-dobrev + @aschaf
11/23/19
⌛due 12/21/19
⌛due 12/28/19

In serial it seems to work reasonably well (fichera-mixed.mesh with hexes, wedges and tets):

Unfortunately the edge-face constraint occurs for tets too :-(

ex15p on NC tets

Parallel optimized build on Mac seems to be crashing in volta and tesla. Could someone please try running the following in the debugger and post the backtrace here?
mpirun -np 4 volta -maxit 2 -dbcs 1 -dbcg -ds "0.0 0.0 0.0 0.2 8.0"

This is what I'm seeing (after untangling it a little bit).
Assertion failed: (i>=0 && i<size) is false:
 --> Access element 10408082 of array, size = 260
 ... in function: T& mfem::Array<T>::operator[](int) [with T = short int]
 ... in file: fem/../linalg/../general/array.hpp:681

Assertion failed: (i>=0 && i<size) is false:
 --> Access element 13728015 of array, size = 315
 ... in function: T& mfem::Array<T>::operator[](int) [with T = short int]
 ... in file: fem/../linalg/../general/array.hpp:681

Assertion failed: (i>=0 && i<size) is false:
 --> Access element 10172464 of array, size = 276
 ... in function: T& mfem::Array<T>::operator[](int) [with T = short int]
 ... in file: fem/../linalg/../general/array.hpp:681

Assertion failed: (i>=0 && i<size) is false:
 --> Access element 12441450 of array, size = 276
 ... in function: T& mfem::Array<T>::operator[](int) [with T = short int]
 ... in file: fem/../linalg/../general/array.hpp:681

Backtrace:
Backtrace:
Backtrace:
Backtrace:
0) [0x1087c900f]: mfem::mfem_error(char const*)
0) [0x10590000f]: mfem::mfem_error(char const*)
0) [0x1060d600f]: mfem::mfem_error(char const*)
0) [0x10fcf300f]: mfem::mfem_error(char const*)
1) [0x10fffa7cf]: mfem::Array<short>::operator[](int)
1) [0x1063dd7cf]: mfem::Array<short>::operator[](int)
1) [0x108ad07cf]: mfem::Array<short>::operator[](int)
1) [0x105c077cf]: mfem::Array<short>::operator[](int)
2) [0x108ac95eb]: mfem::ParFiniteElementSpace::BuildParallelConformingInterpolation(mfem::HypreParMatrix**, mfem::SparseMatrix**, mfem::Array<int>&, mfem::Array<int>&, mfem::Array<int>*, bool) const
2) [0x10fff35eb]: mfem::ParFiniteElementSpace::BuildParallelConformingInterpolation(mfem::HypreParMatrix**, mfem::SparseMatrix**, mfem::Array<int>&, mfem::Array<int>&, mfem::Array<int>*, bool) const
2) [0x1063d65eb]: mfem::ParFiniteElementSpace::BuildParallelConformingInterpolation(mfem::HypreParMatrix**, mfem::SparseMatrix**, mfem::Array<int>&, mfem::Array<int>&, mfem::Array<int>*, bool) const
2) [0x105c005eb]: mfem::ParFiniteElementSpace::BuildParallelConformingInterpolation(mfem::HypreParMatrix**, mfem::SparseMatrix**, mfem::Array<int>&, mfem::Array<int>&, mfem::Array<int>*, bool) const
3) [0x108ac0320]: mfem::ParFiniteElementSpace::Construct()
3) [0x105bf7320]: mfem::ParFiniteElementSpace::Construct()
3) [0x10ffea320]: mfem::ParFiniteElementSpace::Construct()
3) [0x1063cd320]: mfem::ParFiniteElementSpace::Construct()
4) [0x105c051e6]: mfem::ParFiniteElementSpace::Update(bool)
4) [0x108ace1e6]: mfem::ParFiniteElementSpace::Update(bool)
4) [0x10fff81e6]: mfem::ParFiniteElementSpace::Update(bool)
4) [0x1063db1e6]: mfem::ParFiniteElementSpace::Update(bool)
5) [0x1058e4075]: mfem::electromagnetics::VoltaSolver::Update()
5) [0x1087ad075]: mfem::electromagnetics::VoltaSolver::Update()
5) [0x10fcd7075]: mfem::electromagnetics::VoltaSolver::Update()
5) [0x1060ba075]: mfem::electromagnetics::VoltaSolver::Update()
6) [0x1087a78e8]: main
6) [0x1058de8e8]: main
6) [0x10fcd18e8]: main
6) [0x1060b48e8]: main

Lookup backtrace source lines:
Lookup backtrace source lines:
Lookup backtrace source lines:
Lookup backtrace source lines:

atos -o /Users/stowell1/Projects/MFEM/GitHub/dev/mfem-dev/miniapps/electromagnetics/./volta -l 0x10fccf000 0x10fcf300f
atos -o /Users/stowell1/Projects/MFEM/GitHub/dev/mfem-dev/miniapps/electromagnetics/./volta -l 0x1058dc000 0x10590000f
atos -o /Users/stowell1/Projects/MFEM/GitHub/dev/mfem-dev/miniapps/electromagnetics/./volta -l 0x1087a5000 0x1087c900f 0x105c077cf 0x10fffa7cf
atos -o /Users/stowell1/Projects/MFEM/GitHub/dev/mfem-dev/miniapps/electromagnetics/./volta -l 0x1060b2000 0x1060d600f 0x108ad07cf 0x105c005eb 0x10fff35eb 0x1063dd7cf 0x105bf7320 0x1063d65eb 0x10ffea320 0x108ac95eb 0x105c051e6 0x1063cd320 0x1058e4075 0x10fff81e6 0x1063db1e6 0x1058de8e8
 0x1060ba075
 0x10fcd7075 0x10fcd18e8
 0x108ac0320 0x108ace1e6 0x1087ad075 0x1060b48e8
0x1087a78e8

application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 1
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 2
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 3

Thank you @mlstowell. Would you be able to determine the line number inside BuildParallelConformingInterpolation?

I tried but apparently not.  The backtrace was produced on my laptop but I don't currently have a parallel debugger on my laptop.  I built the branch on Quartz but the code runs to completion without error.  This makes it look like you've got an array used for indirect indexing which isn't being initialized.  On Quartz it may be set to zero so indirect indexing uses 0 and succeeds, on the laptop (a Mac Pro) the array contains the enormous integers shown in the error.  This is just a guess.  Perhaps we can tell by looking at the sizes of the arrays mentioned in the error.  I'll try to keep looking.

@jakubcerveny, I put some print statements in BuildParallelConformingInterpolation.  The error occurs in step 2.  It seems that the dofs returned by GetBareDofs are invalid and the assignment to dof_owner[dof] leads to the error.

Interesting... Can you tell which space is being updated in VoltaSolver::Update - H1, HCurl, HDiv?

Looks like H1 after rebalancing (line 368 of volta.cpp).

Right, but inside VoltaSolver::Update(), which of the lines 292-294 fails?

Yes, I said H1 i.e. line 292 of volta_solver.cpp.  I only mentioned rebalancing in case that might be relevant.

Oh, OK, I get it now, sorry. Do you think you could find one more thing: what is the value of l (lowercase L) and entity near the call to GetBareDofs in BuildParallelConformingInterpolation?

No, problem.  I had actually printed a variety of indices (the first number on the line is the processor rank):
0: dof too large dof=10416032, (entity, l, i, id.index, j) = (2, 2, 26, 546, 0)
1: dof too large dof=10177751, (entity, l, i, id.index, j) = (2, 2, 24, 545, 0)
2: dof too large dof=13758675, (entity, l, i, id.index, j) = (2, 2, 25, 653, 0)
3: dof too large dof=12461643, (entity, l, i, id.index, j) = (2, 2, 33, 607, 0)

It looks like entity and l were each equal to 2 every time.

Thank you @mlstowell, your logs helped me fix the problem :+1:

Glad I could help.

Reminder: the reviews for this PR are due this week
cc: @v-dobrev, @aschaf

Hi, sorry for not responding earlier. I did some testing and it seems that the higher order (>1) NC tets crash in parallel.
For me, invoking for instance
mpirun -np 4 ./ex15p -m ../data/inline-tet.mesh

immediately crashes after the first solve with error
Assertion failed: (i>=0 && i<size) is false:
 --> Access element 1702 of array, size = 1115
 ... in function: T& mfem::Array<T>::operator[](int) [with T = short int]
 ... in file: /home/sandreas/Documents/sources/mfem_nc-tet-dev2/mesh/../general/array.hpp:691

I started it with a debugger and it crashes only on rank 1. The backtrace there reads
#0  0x00007ffff793cb50 in PMPI_Abort () from /usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so.12
#1  0x0000000000596d02 in mfem::mfem_error (msg=0x139b898 "Assertion failed: (i>=0 && i<size) is false:\n --> Access element 1702 of array, size = 1115\n ... in function: T& mfem::Array<T>::operator[](int) [with T = short int]\n ... in file: /home/sandreas/Docum"...)
    at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/general/error.cpp:173
#2  0x00000000006d8f98 in mfem::Array<short>::operator[] (this=0x7fffffff9f70, i=1702) at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/mesh/../general/array.hpp:690
#3  0x000000000082d718 in mfem::ParFiniteElementSpace::BuildParallelConformingInterpolation (this=0x7fffffffb5c0, P=0x7fffffffb7b0, R=0x7fffffffb7c0, dof_offs=..., tdof_offs=..., dof_tdof=0x7fffffffb720, partial=false) at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/fem/pfespace.cpp:2074
#4  0x0000000000824b6c in mfem::ParFiniteElementSpace::Construct (this=0x7fffffffb5c0) at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/fem/pfespace.cpp:192
#5  0x0000000000832275 in mfem::ParFiniteElementSpace::Update (this=0x7fffffffb5c0, want_transform=true) at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/fem/pfespace.cpp:2893
#6  0x000000000058139c in UpdateAndRebalance (pmesh=..., fespace=..., x=..., a=..., b=...) at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/examples/ex15p.cpp:378
#7  0x0000000000580deb in main (argc=3, argv=0x7fffffffc888) at /home/sandreas/Documents/sources/mfem_nc-tet-dev2/examples/ex15p.cpp:333

Thanks, I've seen this before, looking into it...

I found the bug but couldn’t fix it yet, because I got sick on Thursday.
I’ll fix it next week, sorry for the delay.
On Sat, 14 Dec 2019 at 15:46, aschaf<EMAIL_ADDRESS>wrote:

@aschaf approved this pull request.
Looks good to me. Thanks Jakub for adding NC tets.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mfem/mfem/pull/949?email_source=notifications&email_token=AAKJN63HSYZH6GLFBREJ4EDQYTWS7A5CNFSM4HVBCM5KYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCPGTWAQ#pullrequestreview-332217090,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKJN6Y5ZJVV2LY2XM73K43QYTWS7ANCNFSM4HVBCM5A
.

Pushed back by a week while waiting for a fix from @jakubcerveny ...

Should be ready now.

Reminder: the reviews for this PR are due in less than a week
cc: @v-dobrev

We are way past the approval due date... can you please review?

Pushed back the approval due date to next week while waiting for edits from @jakubcerveny ...

I ran the internal tests and I see some differences. Some of the changes are in ex15/ex15p which is expected. Most of the other changes (if not all) are due to the change how a triangle mesh is refined: before this it was refined using Mesh::LocalRefinement and now it is done using Mesh::UniformRefinement2D.
One effect is that in the runs (both use the mesh ../data/beam-tri.mesh):
mpirun -np 4 ./ex12p
mpirun -np 13 ./ex12p

the LOBPCG iterations now fail to converge -- we probably need to adjust the random seed.
The rest of the differences look fine to me.

I changed the seed in ex12p and tested the runs that don't have an explicit seed on 4 and 13 processors. It seems to work again.

@jakubcerveny, I updated the random seed for one of the sample runs in ex12p since it was failing on linux and mac. It was OK on your computer probably because you have newer version of hypre and we run the tests against v2.10.0b. I've observed that the newer versions of hypre are less sensitive to the random seed.


Bug DCOS-9149: Adds timeout to spartan fetching Exhibitor data

points dcos package to latest spartan build with fix for DCOS-9149

@sargun, @cmaloney, this PR is ready for review


Fixed issue with instrumenting leveldown on multiple 'open' calls

Previously we were instrumenting the leveldown object after each call to open, causing more events to be emitted than we needed. Fixed to only instrument the leveldown object once.
(Repeat of previous pull request #162, but with error corrected)

Fix for #201

LGTM


Addition of a statistics Measurement class

Hello,
I have created another Measurement called OneMeasurementStatistics and would like to share it with others in need of some statistical data output. I have modified the Measurements class in the way that I added an enum that specifies the existing Measurement types as they can be named in the workload config file. Pleas let me know if the inclusion of my code would require further work. The new class requires the apache.commons.math library, which does the statistical stuff except the 95% confidence interval calculation.
Commit Msg
It creates statistically oriented output including the mean, standard
deviation and the 95% confidence interval if more than 30 values are
mesured. To select the output type, a third "measurementtype" option
named "statistics" was added to the possibilities.

Thanks for working on this, apologies for the project lag. I'll start reviewing now.
If you aren't interested in working on it still, that's totally understandable. Just leave the PR open and eventually I or someone else will try to take it over.

Is mean + stddev going to be a useful addition compared to e.g. median and 99th percentile?


cfn-lint v1 does not warn about missing mapping keys (nested FindInMap)

CloudFormation Lint Version
1.4.2 & git (30760e20f)
What operating system are you using?
Mac
Describe the bug
Very similar to #3385. The basic case is fixed but keys missing that involve nested FindInMap are still not detected.
cfn-lint 0.87.9 can detect:
W1011 FindInMap second key "MissingKey" doesn't exist in map "Map" under "Key" at Resources/Bucket/Properties/BucketName/Fn::Sub/1/number/Fn::FindInMap
map.yaml:21:13

cfn-lint 1.4.2 / git 30760e20f accept the example template without warnings or errors
Expected behavior
E1019 'MissingKey' is not one of ['ExistingKey'] for mapping 'Map' and key 'Key' when 'Ref' is resolved
map.yaml:13:7

E1019 'MissingKey' is not one of ['ExistingKey'] for mapping 'Map' and key 'Key'
map.yaml:21:13

Reproduction template
AWSTemplateFormatVersion: '2010-09-09'
Mappings:
  Map:
    Key:
      ExistingKey: 1
  KeyMap:
    Key:
      Name: Key
Resources:
  Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub
        - "bucket-${number}"
        - number: !FindInMap
          - "Map"
          - !FindInMap
            - "KeyMap"
            - "Key"
            - "Name"
          - "MissingKey"

+1 to this I want to figure this out but also trying to scale it for larger usage. The logic isn't great in v0 but for sure provides the error you have above in the scenario you provided.
I'm going to use the docs description of map name, top level key, and second level key.
The way the v0 logic works is it requires a string for the map name and second level key and if the top level key is a function then we can validate the second level key exists for all top level keys.
Let me ask back a few questions around assumptions I keep thinking about.
Can second level keys be different between top level keys?  What should the error, if any, be here?  Should we say A doesn't exist when !Ref Parameter is Two?  Should we not raise an error because there is a possibility of it being okay? Should there be a warning or informational error describing inconsistencies with the second level keys?
Parameters:
  Parameter:
    Type: String
Mappings:
  Map:
    One:
      A: "foo"
    Two:
      B: "bar"
Resources:
  Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName:  !FindInMap [Map, !Ref Parameter, A]

what if I change the parameter to
Parameters:
  Parameter:
    Type: String
    AllowedValues: ["One"]

Do we want to expand this to when we are using functions for the map name and second level key?

I will take a stab at these answers but obviously I am biased towards my use-case and the specific scenario I am trying to catch. I may not have thought about this enough and others may have different expectations.
I think a general approach would be:

if there is a bounded set of function outputs, error if the template will fail to deploy for any combination of those
if there is an unbounded set of function outputs, warning if there are inconsistencies between keys that would mean some values work and others do not

Can second level keys be different between top level keys?

There might be other second level keys but if a specific second level key exists under one top level key but not under another that could raise an error if there is a bounded set of function outputs and at least one would require the missing key, and a warning if the function outputs are unbounded.

What should the error, if any, be here?  Should we say A doesn't exist when !Ref Parameter is Two?

Yes, as a warning.

Should we not raise an error because there is a possibility of it being okay?

Yes, because the is no constraint on the values

Should there be a warning or informational error describing inconsistencies with the second level keys?

Yes

what if I change the parameter to

This should output no warnings or errors, but if you change it to AllowedValues: ["Two"] it should raise an error because it can't ever work and will always fail to deploy. AllowedValues: ["One", "Two"] should also error.

Do we want to expand this to when we are using functions for the map name and second level key?

In an ideal world, yes.

I've done something like this before:
Mappings:
  Constants:
    default:
      ToolWorkspaceId: 12345
      OtherToolDomain: api.tool.com

So I could  use !FindInMap [Constants, default, ToolWorkspaceId] instead of repeating the value.
If you have a lot of constants, you could change this to be
Mappings:
  Constants:
    Tool:
      WorkspaceId: 12345
    OtherTool:
      Domain: api.tool.com

I however do not think you'd use that pattern with a !Ref in a !FindInMap.
I personally think it's fine to warn / err if the First Level Key is set by a !Ref and there is a missing Second Level Key

I however do not think you'd use that pattern with a !Ref in a !FindInMap.

what do you mean? I have extensive use of these 3 patterns:
Something: !FindInMap
  - Map1
  - !FindInMap
    - Map2
    - !FindInMap
      - Map3
      - !Ref AWS::Region
      - !Ref Param
    - !Ref AWS::AccountId
  - SomeString

Something: !FindInMap
  - Map1
  - !FindInMap
    - Map2
    - !Ref AWS::Region
    - !Ref Param
  - SomeString

Something: !FindInMap
  - Map
  - !Ref Param
  - SomeString

I however do not think you'd use that pattern with a !Ref in a !FindInMap.

what do you mean? I have extensive use of these 3 patterns:

I don't think you'd use Mappings for constants, with different 2nd level keys, while also dynamically building the FindInMap
E.g, this seems unlikely:
Mappings:
  Constants:
    ToolOne:
      ApiKey: 12345
    ToolTwo:
      Domain: tool.tld

together with !FindInMap [Constants, !Ref Tool, ApiKey] (in that case every tool would have an ApiKey

The original issue in this template is now caught.  We have disabled the ability to check a mapping with a pseudo parameter.  This is because we need to figure out what the account ID is or could be.
Mappings:
  Account:
<PHONE_NUMBER>11:
        BucketName: string
<PHONE_NUMBER>22:
        BucketName: string

!FindInMap [Account, !Ref AWS::AccountId, BadKey] will not be caught currently.  We would have to add some logic to handle this scenario (and maybe AWS::Region).
There would have to be some understanding of logic.
Mappings:
  Account:
<PHONE_NUMBER>11:
        BucketName: string
<PHONE_NUMBER>22:
        SourceBucketName: string
     NotValidAccountId:
        BucketName: string

Whats the valid errors or warnings here...


game.add.text with fontSize greater than 2000 gets displaced in Firefox

I don't know if this is an issue with Phaser or with Firefox, but if I do:
var style = { font: a, fontStyle: b, fontWeight: c, fontSize: d, align: 'center' };
var text = game.add.text(x, y, s, style);
and d (fontSize) > 2000
then the rendered text gets displaced in Firefox (compared to Chrome and Edge). If the fontSize is smaller than 2000, then there is no displacement.
Using Phaser 2.6.2 and latest Firefox on Windows.

hi @creole  I tested on my computer ,it can show text content(font-size=2050px) in my FireFox.
you can click this demo link:demo link

demo tip:the text can drag

Phaser ver : 2.6.2
Firefox ver : 51.0.1 (x86)
so you can check your code again.Maybe something is wrong.Hope can help you.

hi @nimohe, thanks for making that demo.  It demonstrates the issue I described: in Firefox the cross of the "t" is situated lower than in Chrome. The displacement would show more clearly if you added another text (under 2000px) to the scene as a reference point. Also, the bigger the fontSize, the larger the displacement.
Chrome 56.0.2924.87
Firefox 51.0.1 (32-bit)

There's nothing you can do about this I'm afraid, the issue is the way Firefox and Chrome differ in their implementation of the Canvas FillText method when you use insanely large font sizes (and yes, 2000px is insanely large). For Text objects all Phaser does is create an internal canvas, draw text to it using the canvas API and then render it. You're at the mercy of the browser as to how that text is drawn.

@photonstorm Good to know, thanks.

@photonstorm Would using BitmapText be a way around this issue (if I insisted on using insanely large fonts)?

Depends on the font as to how that would look. If it's a smooth font, with lots of curves, then at that resolution it would look extremely chunky. Try it and see though.
For text genuinely that large, the only way of not blowing all your GPU RAM would be to use the DOM instead.

OK, thanks.


Workaround to avoid Explorer.exe crash after a property page "disappears".

Temporal workaround to prevent Explorer.exe from crashing after a property page "disappears".
This occur in a undetermined scenario when opening multiple property pages,
which, on these circumstances, a call to 'Target.Dispose()' will throw a NullReferenceException.
See related issues for more info:

https://github.com/dwmkerr/sharpshell/issues/177
https://github.com/dwmkerr/sharpshell/issues/88

My thoughts on that:

Is the ?.-Operator/Syntax allowed for SharpShell code? Isn't that a too high C# version or what is the min. req. for SharpShell to use? (I easily get confused here where what syntax addition is possible and where not ;))

Cleanup? Shouldn't SharpShell.SharpPropertySheet.PropertyPageProxy better be using the IDisposable pattern then if it's Disposing of internal handles/fields?

Nice error logging here, but I guess it should use "LogError" instead of "Log" to inform the Logging-Reader that it's an error and not just "information".

My thoughts on that:
1. Is the ?.-Operator/Syntax allowed for SharpShell code? Isn't that a too high C# version or what is the min. req. for SharpShell to use? (I easily get confused here where what syntax addition is possible and where not ;))

2. Cleanup? Shouldn't `SharpShell.SharpPropertySheet.PropertyPageProxy` better be using the IDisposable pattern then if it's Disposing of internal handles/fields?

3. Nice error logging here, but I guess it should use "LogError" instead of "Log" to inform the Logging-Reader that it's an error and not just "information".

I'm not sure if your questions are for me or for @dwmkerr , anyway please let me say:

The "?" operator is supported. If you check the SharpShell solution file, it is made with Visual Studio 2017 (Visual Studio v15.x), or in other words, C# 7.0.

At first sight I agree, it seem the 'Cleanup' method can be adapted (improved) to be the disposal logic of a implemented IDisposable interface for that class.

You are correct, it was my fault, I just didn't noticed the logging entry type can be changed (to "Logging.Error"). I let this code change decision to @dwmkerr , but I agree with you.
Regards!

I'll take a look at this PR on my local machine and run a few tests, then aim to get it in shortly!

Interesting update. It appears we should never destroy the target object. The shell will close the property page window itself as the sheet is closed, which will then cascade and close the child windows (including ours). So it appears this code path should be eliminated. I am going to raise the appropriate PR now before closing this one, for reference. This code won't be necessary as the code it affects will be eliminated, but thanks for opening @ElektroStudios, it was actually critical in helping me diagnose the related issues.

I've confirmed that we do not need to dispose of the pages ourselves, with #224, so closing this now as it is no longer needed. Thanks for this PR though @ElektroStudios - it was critical in helping me resolve this issue.
I have put your commits into #224 (even though the final commit then removes the Cleanup function) - so you will still correctly show up as a contributor to the final PR.


Add mixed types to Document Controller

Originally spurred here https://github.com/TBD54566975/web5-go/issues/92#issuecomment-1973398856
From the spec:

the value MUST be a string or a set of strings

So it can either be a string or a set of strings
See this ticket for how this was implemented for the @context property

Closing in favor or https://github.com/TBD54566975/web5-go/issues/109


Supporting other programming languages (Java, C,...)

Hi,
How to proceed to make tranX supporting other programming languages ?  In other words, what are files/classes/functions that we should add/update precisely in tranX to support Java, C and other  ?
Thank you,

Have you solved the problem？


Kanban setup

PR https://github.com/jlberbesi/Ruby_Capstone_Project/pull/8
Kanban Link:  https://github.com/jlberbesi/Ruby_Capstone_Project/projects/1

Hi @Team,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Status: Approved ✔✔✔
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100%.
Please, remember to tag me @uwadonat in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Hi @Team,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Status: Approved ✔✔✔
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100%.
Please, remember to tag me @uwadonat in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Thanks @uwadonat


You have requested a non-existent parameter "setono_sylius_facebook.model.pixel.class".

Hello everyone, i have this error with your plugin. So i need to install it in sylius projet . my configurations
this is my bundles.php

this is my _sylius.yaml

this is my setono_sylius_facebook.yaml

when i try
php bin/console doctrine:migrations:diff
i have error
You have requested a non-existent parameter "setono_sylius_facebook.model.pixel.class".
pls something to fix it thanks

@loevgaard  thank you. It's fine now !!!


Fix unmarshalling of DeploymentPlan for Marathon v1.X API

In marathon docs, a deployment plan message is:
{
  ...
  "plan": {
    ...
    "steps": [
      {
        "action": "ScaleApplication",
        "app": "/my-app"
      }
    ],
    "version": "2014-03-01T23:24:14.846Z"
  },
  "currentStep": {
    "actions": [
      {
        "type": "ScaleApplication",
        "app": "/my-app"
      }
    ]
  }
}

But in my marathon v1.1.1 environment, the deployment plan message has got the following structure:
{
  ...
  "plan": {
    ...
    "steps": [
      {
        "actions": [
          {
            "type": "ScaleApplication",
            "app": "/my-app"
          }
        ]
      }
    ],
    "version": "2016-09-23T03:22:17.119Z"
  },
  "currentStep": {
    "actions": [
      {
        "type": "ScaleApplication",
        "app": "/my-app"
      }
    ]
  },
}

Actually, change Steps    []*DeploymentStep to Steps    []*StepActions in DeploymentPlan could solve the problem nice and easy, but for compatibility, I have to use this less-elegant way.
Thanks.

We had some prior art in this area:

#153 (PR #158)
#175 (PR #176)

I'll have a look at your PR.

@Blahhhhh do you possibly know which version introduced this change? The older it is, the more I'd be willing to declare this is as a breaking change, forsake older Marathon users, and give up on backwards compatibility for the case at hand.
(Conservatively speaking, I'd say that any single-digit minor Marathon version is old enough to be abandoned.)

Thanks @timoreimann for reviewing. Sorry but I've got v1.1 at hand only. I'll check marathon source code to find the exact version when it changed. I also think that keeping compatibility with all marathon versions is annoying, a little change in API would lead to lots of mess code logic like this.

@Blahhhhh no worries: We've got something like https://github.com/bobrik/mesos-compose at my work place. I can check a few older versions of Marathon fairly easily. Will report back once I find the time.
I agree that the compatibility code in question is nasty, and I'd love to get rid of it. It's a trade off though -- I'm fairly relaxed to abandon Marathon 0.5, but would be hesitant with 0.15 which is just one version behind then one you have reported the issue for. My hope is that Marathon 1.0 will bring more stability into the Marathon project and allow us to get rid of ugly compatibility layers over time.

Sorry for the awful long delay.
I was able to verify that at least up to and include Marathon 0.10.1, the new format is already being used. I think it's okay to make this PR a breaking change since versions older than that are probably not worth supporting anymore.
Would be happy to continue the review. Please address the comments I have placed. Thanks!

Great. If so, we can simply change a field in DeploymentPlan to fix the unmarshalling problem. Please review if it's ok.

LGTM -- thanks for the contribution.


Fix examples for bot.sendAttachmentFromURLTo. Fixes #30

Coverage remained the same at 100.0% when pulling f3444a8bcafcf751dc046d2cf25d4497619b71ac on clemens-tolboom:feature/fix-uppercase-url-30 into 03fa929b9248a0099ad3038d73241dd13deefa58 on botmasterai:master.

Coverage remained the same at 100.0% when pulling f3444a8bcafcf751dc046d2cf25d4497619b71ac on clemens-tolboom:feature/fix-uppercase-url-30 into 03fa929b9248a0099ad3038d73241dd13deefa58 on botmasterai:master.


Reply errors in JSON

Currently, the decorator returns the error in HTML format.
Feature request:
Support to return the error in JSON format would be great (for API usage).
Or can somebody suggest me how to manually change HTML to JSON output?

Nevermind, fixed. i didnt check the closed issues.
https://github.com/Fischerfredl/flask-expects-json/issues/4

Hi vermaat, thank you for mentioning.
I think this is a valid issue as this feature is not an obvious one. It should be documented in the Readme.
So I will leave this open until I get time to add a description. Of course I am always open to pull requests.


No error signaling

The client's run method doesn't signal an error in any way. For example
irb(main):009:0> wp.run "plugins list"
Error: 'wp-config.php' not found.
Either create one manually or use `wp config create`.
=> []

Without capturing the error output in some way, I can't programmatically distinguish an error from there just being no plugins installed.
It would be great if an exception were raised instead.

Hi
Unfortunately this gem is not maintained anymore. If you can do a PR regarding this, I'm more than happy to merge and release it.


Optionally don't include tasks in Daily Notes in "Today" column

Discussed in https://github.com/roovo/obsidian-card-board/discussions/103

Originally posted by ItsFullOfCode November  9, 2022

For tasks in Daily Notes: allow an option in Settings to not use the date of the Daily Note as the Due Date of the Task.

Use case: This feature would ally tasks in daily notes without an explicit due date to be shown in the "Undated" column. This would keep the "Today" column reserved for items who have an explicit due date for today or the past.

Needed for drag and drop too as will need to be able to support dragging a card from a dated column to the undated column on date based boards!

I am thinking of using something like @due(none) to cancel the due date of a task in a daily note.  Also, will think about adding a settings option to allow (either per board or globally) the dates from daily notes to be ignored (see discussion with @Lunairee on discord).  Keen on keeping the number of settings as small as possible tho!

@roovo, how high a priority is this one? Cardboard looks awesome and really fits how I want to display and use tasks. However, I do put a lot of ad-hoc tasks in my daily note which have no scheduled date, and they're currently filling my "today" column.

Hi @jtarthur5, it is "reasonably" high priority.  I can't give any timescales, but I would like to think it would be within the next month or so.  It really depends on how much time I find to work on things and if anything higher priority comes in (like bugs etc) :)
If you keep an eye on the project board you should see the things before it getting done as I work on them.  At the moment this card is the third from the top in the "Ready to work on column"...

been messing with ideas in my head on this as about to start on it.... proposing to:

add an option to global settings to not use daily note file names when setting the due date for tasks.  I was initially thinking of doing this on a per-board basis, but that could lead to cards appearing on different boards with different due dates which doesn't feel desirable.
allow @due(none) to be placed on a task line to nullify the due date derived from the file name.  This is needed for drag and drop so that a task in a daily note can be moved to the undated column.

just released v0.7.2 which has this added - there's a new setting in Global Settings and @due(none) is supported too.  If you find any issues with it, just let me know :)


Requires Update For Patch 5.5

The plugin no longer displays in the list of plugins when using /xlplugins
Tried to manually install the plugin by XLauncher did not recognise

This plugin is being reworked for 5.5, and the current version on GitHub is not yet released. See the discussion here for more detail: https://canary.discord.com/channels/581875019861328007/581875020632948762/832308971737055263


ES6 class does not do support Find Reference and Find Definition

I have an ES6 class and which is being accessed in different files. The Find Reference and Find Definition does not do anything when I do it on a method in the class.

tern does not support es6 at the moment. have a look @ https://github.com/marijnh/tern to get updates about es6. it seems, that development has recently started.

Thanks.


Create Class/ Center - Unable to create centers/Map to Centers

Something is buggy about this modal, if I type text in the name field I can't proceed further
Section is not mandatory, because we can't have a section for center
On creation of the class we should be at the modify class point on the nav tree, currently goes back to modify school/

Actually validation for class  was it should be numeric. If have changed it to alphanumeric. Now It should work.

Ansal, just verify this before marking it for review.


Azure Backup Bugfix

Enabling NoContent as one another success HTTP status code in delete vault operation.

Hi @dragonfly91, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


Correct function letters

I was going over the spec and noticed a couple definitions use different (capital) letters on the right than the left. I wasn't 100% sure if was intended so i made this PR

Good catch, thanks!


Expanded OpenAPI definition further

Scope of changes
Added missing methods, added missing parameters, added descriptions, etc. This was done using Codestral, so it will most likely not be perfect.
Type of change

[ ] bug fix
[ ] new feature
[x] documentation
[ ] other (describe)

Acceptance criteria
Describe how reviewers can test this change to be sure that it works correctly. Add a checklist if possible.
Author checklist

[x] I have manually tested the change and/or added automation in the form of unit tests or integration tests
[ ] I have updated the dependencies list
[ ] I have added new test fixtures as needed to support added tests
[ ] I have added or updated the documentation
[x] Check this box if a reviewer can merge this pull request after approval (leave it unchecked if you want to do it yourself)

Reviewer(s) checklist

[ ] Any new user-facing content that has been added for this PR has been QA'ed to ensure correct grammar, spelling, and understandability.
[ ] To the best of my ability, I believe that this PR represents a good solution to the specified problem and that it should be merged into the main code base.

@ping-localhost Thank you again for putting so much effort into helping us keep the Envoy documentation updated! I've made some suggestions and added a few comments.

Thank you for the thorough review. The AI clearly made up some stuff.

Thank you for the help. Your additions look great.  💪
Can't merge myself, so someone from the TRISA team will have to do it.

@ping-localhost Great! I'll merge this in now.


Fixed SplitComponent ignoring [size] values

The issue is caused when a SplitComponent is added dynamically as a nested split with [useTransition]="true".
When the SplitAreaDirective runs it's parent SplitComponent's addArea method, the container size is still zero since the transition didn't run yet.
The change causes the addArea method to run the build method after a timeout equal in length to the transition time (300ms)

This works! @bertrandg please merge this into the repo.


fix: disable assertions

What ❔
Disables assertions for cross-compilation targets to unblock Linux Musl builds

Why ❔
See CPR-1592 for more info

Checklist

[ ] PR title corresponds to the body of PR.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via cargo fmt and checked with cargo clippy.

@antonbaliasnikov please investigate those two failures tomorrow.
Doesn't seem relevant to the build so I'm merging now.

@antonbaliasnikov please investigate those two failures tomorrow. Doesn't seem relevant to the build so I'm merging now.

Oh.. I was investigating to fix it. Ok


User Creation?

Based on looking at the Twillio Console, I can see that if I register a new user in the app, that user is being automagically created in Twillio as well.
But for the life of me I cannot figure where/how in the code for this app that is actually happening?
It appears the calls to /api/register are simply geared toward putting the user in the local JSON store only. Can you shed some light on where & how Twillio user creation happens?
Thanks

Ahoy! This is the best reference for what is going on here https://www.twilio.com/docs/conversations/create-tokens basically Twilio has a concept of a user for Conversations, but it doesn't manage authentication. You can manage your own authentication and then create a token for that user which maps to a user. Hope that helps!


⚠ XRAY 🇮🇩 Indonesia IDA 1 has degraded performance

In 776a907, XRAY 🇮🇩 Indonesia IDA 1 (https://idx-1.openv2ray.com/) experienced degraded performance:

HTTP code: 200
Response time: 9367 ms

Resolved: XRAY 🇮🇩 Indonesia IDA 1 performance has improved in 9513308.


[CORE][CELEBORN] Sync the columnar and celeborn shuffle writer

What changes were proposed in this pull request?
Since columnar shuffle writer changes to use arrow buffer size as the dataSize, this pr makes the change to the celeborn. Also, this pr removes uncompressedDataSize as it is duplicated now.
How was this patch tested?
Pass CI

cc @marin-ma @kerwin-zk thank you


Swindon upgrade to tokio

Hi, what do you think about some codebase renovation?
From what I see, swindon codebase has at least two major legacy problems:

deprecated tokio-core dependency
not using async/await syntax (it is probably a job for another PR )

There are 4 possible ways to update the codebase:

Update tokio-core to >=0.1.13, the release where internals was updated to use tokio https://github.com/tokio-rs/tokio-ore/commit/e1db2bb8d042fb9410f5e4085f487fb5bc8181b6 . Also update all tk_* libs. Then reiterate to replace tokio-core with tokio in all libs and swindon itself. Then update tokio to the latest release and refactor the codebase. This is the longest but least intrusive way. The downside is, it is a loooot of work.
Drop tokio-core at the first iteration and refactor the codebase and libs to use tokio 0.1 from the beginning. This will end up in less repetitive work but it might be harder to not break something.
Same as 2 but try to migrate to the latest tokio.
The hardest/intrusive way. I have not researched yet but since rust crate ecosystem grew, we probably can replace some of tk_* libs with alternative crates that already solve the same issues and are already built on top of recent tokio, thus no need to update tk_* libs.

Personally, I think about 2 or 3 option.
The approach would be bottom-top - first, upgrade all libs
, then upgrade swindon itself.

tk-listener
tk-pool
tk-sendfile
tk-http
self-meter-http
ns-router

Hi Max! Thank you for your interest.
tk-http can be replaced by hyper I think. I don't think others have any direct replacements. Maybe sendfile is included in hyper, but I'm not sure.
Unfortunately, this codebase is awfully old and I don't have any bandwidth to maintain it or to review PRs. So the best thing for anybody interested is probably to fork the project. Therefore I don't have any opinion on how to approach this renovation.

Sure, I understand that. I'm okay with forking, and thanks for hyper suggestion.
I researched a bit, and one question a would like to ask: is swindon a single-threaded async server or it would be okay to make it multhithreaded assuming that tokio has multithreaded async runtime?

Thanks for the info, closing the issue then.


Website update

After merging, check that preview image on Facebook has been updated.

Created another branch due to conflicts


Moving Bakame CSV collection bridge to league\csv main repository

Moving Bakame CSV collection bridge to League\CSV main repository as a READONLY extension package.
Using league\flysystem strategy to create READONLY packages
@frankdejonge a quick review to see if I did not forget something would be nice 🎐 🙏🏾

@frankdejonge  After merging I get this error

/usr/bin/git push csv-doctrine<PHONE_NUMBER>00875fffff38d0ee59aa41613392e2:refs/heads/master -f
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/thephpleague/csv-doctrine.git/'
Error: Error: The process '/usr/bin/git' failed with exit code 128
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Run<EMAIL_ADDRESS>
What did I do wrong this time 🤔 . I believe the secret token is not being read 🤷🏾♂

Found the issue
Fixed the issue
Subsplit worked like a charm 💯


CP-SAT Solver: Job Shop Problem (JSP) with "strange" results (v7.8.7959 / Windows / Java)

I'm modeling a railway rescheduling (to solve conflicts in the railway network) as a Job Shop Problem (JSP):
- Each service / train is a "job", that will be executed by a set of sections of the railway network.
- Each path of service / train is a "task", that will be executed in a section.
- Each path of railway network is a "machine", that will "perform" different jobs (services / trains) for a period of time.

Based on the example given in "The Job Shop Problem" (https://developers.google.com/optimization/scheduling/job_shop), I added some precedence restrictions in each path of railway network where two or more services / trains pass:
The services that are scheduled to be executed first have higher precedence, to avoid that in case of conflict of services, a service that comes first has to wait for what comes after, to pass (weird situation).
model.addGreaterOrEqual( IntVar of task1 service start, IntVar of task0 service end)...
model.addGreaterOrEqual( IntVar of task2 service start, IntVar of task1 service end)...
...

At any given moment, I take a real-time "photograph" of the rail network, with the approximate positions of each service that is running at that time, applying any delays in the remaining scheduled route of each service, using this data as input to the JSP, but before running the JSP, I am able to check conflicts on each path, comparing the timestamps of each service that will go through that path.
I did some tests, using "clean" schedules (without conflicts) and then introducing delays in some services to create conflicts and
check the robustness of the JSP's results in resolving conflicts.
I'm not going to put code here, which is basically the example of "The Job Shop Problem", plus the rules of precedence that I described above. Instead, I will put some prints that better show the case' contexts and the results.
Case 1: Clean schedule (without conflicts).
Pre-processing:

	...

	Service: 15641

	...

	servicePathsData.get(4).get(0): 9439172_9402006 (path)
	**servicePathsData.get(4).get(1):<PHONE_NUMBER> (start timestamp)**
	servicePathsData.get(4).get(2):<PHONE_NUMBER> (end timestamp)
	servicePathsData.get(4).get(3): 240 (duration)
	start: GAIA-GEN. TORRES
	end: PORTO-CAMPANHÃ

	...

JSP runs...

Post-processing:

	...

	Service: 15641

	...

	(path): 9439172_9402006
	**(start timestamp):<PHONE_NUMBER>**
	(end timestamp):<PHONE_NUMBER>
	(duration): 240
	start: GAIA-GEN. TORRES
	end: PORTO-CAMPANHÃ

	...

Questions:
	- Why the JSP add 120 s. to the start timestamp of this service' path, even with the "clean" schedule?

Case 2: Adding delays in schedule (causing conflicts).
Pre-processing:

	...

	path: 9408102_9408136 [S.MART. DO CAMPO / TERRONHAS]
	pathServicesData.get(0).get(0): 15421 (service)
	pathServicesData.get(0).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:14:00 BST 2020
	pathServicesData.get(0).get(2): 180 (duration)
	**Exists CONFLICT between 15421 and 15541**
	pathServicesData.get(1).get(0): 15541 (service)
	pathServicesData.get(1).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:15:45 BST 2020
	pathServicesData.get(1).get(2): 105 (duration)
	pathServicesData.get(2).get(0): 15423 (service)
	pathServicesData.get(2).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:29:00 BST 2020
	pathServicesData.get(2).get(2): 180 (duration)

	path: 9408136_9408151 [TERRONHAS / TRANCOSO]
	pathServicesData.get(0).get(0): 15421 (service)
	pathServicesData.get(0).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:17:00 BST 2020
	pathServicesData.get(0).get(2): 180 (duration)
	**Exists CONFLICT between 15421 and 15541**
	pathServicesData.get(1).get(0): 15541 (service)
	pathServicesData.get(1).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:17:30 BST 2020
	pathServicesData.get(1).get(2): 105 (duration)
	pathServicesData.get(2).get(0): 15423 (service)
	pathServicesData.get(2).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:32:00 BST 2020
	pathServicesData.get(2).get(2): 180 (duration)

	...

	Conflicts:

		**Conflict in path: 9408136_9408151 [TERRONHAS / TRANCOSO] between services: 15421 and 15541**
		**Conflict in path: 9408102_9408136 [S.MART. DO CAMPO / TERRONHAS] between services: 15421 and 15541**
		Conflict in path: 9408177_9408201 [RECAREI-SOBREIRA / PARADA] between services: 15541 and 15421
		Conflict in path: 9408151_9408177 [TRANCOSO / RECAREI-SOBREIRA] between services: 15541 and 15421

	...

JSP runs...

	...

	Solve status: OPTIMAL

	Statistics:
	CpSolverResponse:
	status: OPTIMAL
	objective: 3240
	best_bound: 3240
	booleans: 70
	**conflicts: 0**
	branches: 70
	propagations: 0
	integer_propagations: 157
	walltime: 0.0339646
	usertime: 0.0339672
	deterministic_time: 5.606e-06
	primal_integral: 0

	...

Post-processing:

	...

	path: 9408102_9408136 [S.MART. DO CAMPO / TERRONHAS]
	service 15421:<PHONE_NUMBER> (start)
	service 15421:<PHONE_NUMBER> (end)
	service 15421: 180 (duration)
	**Exists CONFLICT between 15421 and 15541**
	service 15541:<PHONE_NUMBER> (start)
	service 15541:<PHONE_NUMBER> (end)
	service 15541: 105 (duration)
	service 15423:<PHONE_NUMBER> (start)
	service 15423:<PHONE_NUMBER> (end)
	service 15423: 180 (duration)

	path: 9408136_9408151 [TERRONHAS / TRANCOSO]
	service 15421:<PHONE_NUMBER> (start)
	service 15421:<PHONE_NUMBER> (end)
	service 15421: 180 (duration)
	**Exists CONFLICT between 15421 and 15541**
	service 15541:<PHONE_NUMBER> (start)
	service 15541:<PHONE_NUMBER> (end)
	service 15541: 105 (duration)
	service 15423:<PHONE_NUMBER> (start)
	service 15423:<PHONE_NUMBER> (end)
	service 15423: 180 (duration)

	...

Questions:
	- Why did the JSP resolve some of the conflicts and not even "touch" the others?

In short, the modeling of the problem is wrong (is there a new rule missing?) rr should I consider that they are normal limitations
CP-SAT Solver?
What am I doing wrong?
Thanks!

Issues have very limited audience.
Please use the mailing list.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le mar. 1 sept. 2020 à 22:23, tachikaw<EMAIL_ADDRESS>a écrit :

I'm modeling a railway rescheduling (to solve conflicts in the railway
network) as a Job Shop Problem (JSP):

Each service / train is a "job", that will be executed by a set of sections of the railway network.

Each path of service / train is a "task", that will be executed in a section.

Each path of railway network is a "machine", that will "perform" different jobs (services / trains) for a period of time.

Based on the example given in "The Job Shop Problem" (
https://developers.google.com/optimization/scheduling/job_shop), I added
some precedence restrictions in each path of railway network where two or
more services / trains pass:
The services that are scheduled to be executed first have higher
precedence, to avoid that in case of conflict of services, a service that
comes first has to wait for what comes after, to pass (weird situation).
model.addGreaterOrEqual( IntVar of task1 service start, IntVar of task0 service end)...
model.addGreaterOrEqual( IntVar of task2 service start, IntVar of task1 service end)...
...
At any given moment, I take a real-time "photograph" of the rail network,
with the approximate positions of each service that is running at that
time, applying any delays in the remaining scheduled route of each service,
using this data as input to the JSP, but before running the JSP, I am able
to check conflicts on each path, comparing the timestamps of each service
that will go through that path.
I did some tests, using "clean" schedules (without conflicts) and then
introducing delays in some services to create conflicts and
check the robustness of the JSP's results in resolving conflicts.
I'm not going to put code here, which is basically the example of "The Job
Shop Problem", plus the rules of precedence that I described above.
Instead, I will put some prints that better show the case' contexts and the
results.
Case 1: Clean schedule (without conflicts).
Pre-processing:
...
Service: 15641
...
servicePathsData.get(4).get(0): 9439172_9402006 (path)
servicePathsData.get(4).get(1):<PHONE_NUMBER> (start timestamp)
servicePathsData.get(4).get(2):<PHONE_NUMBER> (end timestamp)
servicePathsData.get(4).get(3): 240 (duration)
start: GAIA-GEN. TORRES
end: PORTO-CAMPANHÃ
...
JSP runs...
Post-processing:
...
Service: 15641
...
(path): 9439172_9402006
(start timestamp):<PHONE_NUMBER>
(end timestamp):<PHONE_NUMBER>
(duration): 240
start: GAIA-GEN. TORRES
end: PORTO-CAMPANHÃ
...
Questions:

Why the JSP add 120 s. to the start timestamp of this service' path, even with the "clean" schedule?

Case 2: Adding delays in schedule (causing conflicts).
Pre-processing:
...
path: 9408102_9408136 [S.MART. DO CAMPO / TERRONHAS]
pathServicesData.get(0).get(0): 15421 (service)
pathServicesData.get(0).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:14:00 BST 2020
pathServicesData.get(0).get(2): 180 (duration)
Exists CONFLICT between 15421 and 15541
pathServicesData.get(1).get(0): 15541 (service)
pathServicesData.get(1).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:15:45 BST 2020
pathServicesData.get(1).get(2): 105 (duration)
pathServicesData.get(2).get(0): 15423 (service)
pathServicesData.get(2).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:29:00 BST 2020
pathServicesData.get(2).get(2): 180 (duration)
path: 9408136_9408151 [TERRONHAS / TRANCOSO]
pathServicesData.get(0).get(0): 15421 (service)
pathServicesData.get(0).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:17:00 BST 2020
pathServicesData.get(0).get(2): 180 (duration)
Exists CONFLICT between 15421 and 15541
pathServicesData.get(1).get(0): 15541 (service)
pathServicesData.get(1).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:17:30 BST 2020
pathServicesData.get(1).get(2): 105 (duration)
pathServicesData.get(2).get(0): 15423 (service)
pathServicesData.get(2).get(1):<PHONE_NUMBER> (start timestamp): Tue Aug 18 18:32:00 BST 2020
pathServicesData.get(2).get(2): 180 (duration)
...
Conflicts:
  **Conflict in path: 9408136_9408151 [TERRONHAS / TRANCOSO] between services: 15421 and 15541**

  **Conflict in path: 9408102_9408136 [S.MART. DO CAMPO / TERRONHAS] between services: 15421 and 15541**

  Conflict in path: 9408177_9408201 [RECAREI-SOBREIRA / PARADA] between services: 15541 and 15421

  Conflict in path: 9408151_9408177 [TRANCOSO / RECAREI-SOBREIRA] between services: 15541 and 15421

...
JSP runs...
...
Solve status: OPTIMAL
Statistics:
CpSolverResponse:
status: OPTIMAL
objective: 3240
best_bound: 3240
booleans: 70
conflicts: 0
branches: 70
propagations: 0
integer_propagations: 157
walltime: 0.0339646
usertime: 0.0339672
deterministic_time: 5.606e-06
primal_integral: 0
...
Post-processing:
...
path: 9408102_9408136 [S.MART. DO CAMPO / TERRONHAS]
service 15421:<PHONE_NUMBER> (start)
service 15421:<PHONE_NUMBER> (end)
service 15421: 180 (duration)
Exists CONFLICT between 15421 and 15541
service 15541:<PHONE_NUMBER> (start)
service 15541:<PHONE_NUMBER> (end)
service 15541: 105 (duration)
service 15423:<PHONE_NUMBER> (start)
service 15423:<PHONE_NUMBER> (end)
service 15423: 180 (duration)
path: 9408136_9408151 [TERRONHAS / TRANCOSO]
service 15421:<PHONE_NUMBER> (start)
service 15421:<PHONE_NUMBER> (end)
service 15421: 180 (duration)
Exists CONFLICT between 15421 and 15541
service 15541:<PHONE_NUMBER> (start)
service 15541:<PHONE_NUMBER> (end)
service 15541: 105 (duration)
service 15423:<PHONE_NUMBER> (start)
service 15423:<PHONE_NUMBER> (end)
service 15423: 180 (duration)
...
Questions:

Why did the JSP resolve some of the conflicts and not even "touch" the others?

In short, the modeling of the problem is wrong (is there a new rule
missing?) rr should I consider that they are normal limitations
CP-SAT Solver?
What am I doing wrong?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2148, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3OIGUCI5JDC6T2MQNDSDVJ4VANCNFSM4QSFEMNQ
.


http.url in spans reported by istio are being cut to a fixed length (116 characters of qs values)

Describe the bug
http.url in the span context is being stripped down (not showing the complete thing) which makes debugging rather difficult.
Taking my good old test case of [ingress-nginx] -> [consumer-gateway] -> [sauron-web].
Here is the first span, which for us is recorded by ingress-nginx using the opentracing libraries:
                        {
                            "key": "http.url",
                            "type": "string",
                            "value": "https://<our private site>/car-search?sort=price-asc\u0026newTabClick=false\u0026onesearchad=Nearly%20New\u0026make=JAGUAR\u0026model=F-PACE\u0026aggregatedTrim=Portfolio\u0026min-monthly-price=50\u0026deposit=1000\u0026term=60\u0026yearly-mileage=10000\u0026maximum-mileage=10000\u0026maximum-badge-engine-size=2.0\u0026zero-to-60=TO_8\u0026co2-emissions-cars=TO_165\u0026postcode=ll302up\u0026radius=1"
                        },

And here is the span for consumer-gateway, as recorded by istio (163 characters):
                        {
                            "key": "http.url",
                            "type": "string",
                            "value": "https://<our private site>/car-search?sort=price-asc\u0026newTabClick=false\u0026onesearchad=Nearly%20New\u0026make=JAGUAR\u0026model=F-PACE\u0026aggregatedTrim=Portfolio\u0026min-mont"
                        },

And then again down to sauron-web (150 characters):
                        {
                            "key": "http.url",
                            "type": "string",
                            "value": "https://app.sauron-web/car-search?min-monthly-price=50\u0026maximum-badge-engine-size=2.0\u0026maximum-mileage=10000\u0026postcode=ll302up\u0026sort=price-asc\u0026yearly-mile"
                        },

In both examples, the length of the recorded querystring parameters seems to be 116.
cc. @douglas-reid

/cc @bianpengyuan

@Stono just to clarify: in the traces you are seeing the http.url tag be truncated?
@objectiser any thoughts here?

Yes yes I can give you the JSON blob on slack

@Stono here's a quick dig through source for what I think is the relevant bit:
https://github.com/envoyproxy/envoy/blob/23bf90446b4c196d64342b20cf39bbac18795fa9/source/common/tracing/http_tracer_impl.cc#L33-L36

I can't find any solid reason for that limit in a quick search, but hopefully someone else can provide insight.

Asked a question here: https://github.com/envoyproxy/envoy/pull/444

Don't suppose anyone has had any traction understanding why this was?  It's really annoying for us investigating downstream systems!

I have not heard any more about this. Probably time to send a PR to bump up the limit.

@Stono I believe 1.1.3 contains the patch that updates the limit to 256. That might not totally meet your requirement, but it should be an improvement. Are you able to test it out?

Tested and working as expected in 1.1.3, still trims some of our rather large urls short though but 🤷♂

@Stono are you OK with me closing this issue for now?  ultimately, it would be nice to fully support long URLs (perhaps through configuration controlled limits), but that is a bigger undertaking.

Go for it.
On Mon, 22 Apr 2019, 5:29 pm Douglas Reid<EMAIL_ADDRESS>wrote:

@Stono https://github.com/Stono are you OK with me closing this issue
for now? ultimately, it would be nice to fully support long URLs (perhaps
through configuration controlled limits), but that is a bigger undertaking.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/12561#issuecomment-485466943, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALK7CL47TJEE73VKV5YEKLPRXRVBANCNFSM4G7FP3BQ
.

Thanks!


Fixed Windows build when used as cargo dependency or building for release without debug symbols

This PR fixes an issue with --release Windows builds of rust packages using quiche as a dependency (and quiche stand-alone, if built with custom configurations).
What happens (at least in my case) is that cargo builds the dependencies without debug symbols for release builds of a Rust package (i.e. builds with symbols only the root package).
If quiche is one of those deps, it gets built --release but without the debug symbols, and cmake-rs consistently puts boringssl in a <somepath>/Release directory, instead of the <somepath>/RelWithDebInfo directory expected by build.rs which then fails with the dreaded could not find native static library 'crypto', perhaps an -L flag is missing?.
This code synchronizes the behaviour of build.rs with the one included in cmake-rs; in this way it should supposedly work with all the configurations currently supported by cmake-rs on Windows using the msvc compiler chain.

Merged, thanks @xanathar!


Fails to recognize delimiters that fall on the boundary between two buffers

This is related to Issue #3 in that both solutions require that we are able to read multiple buffers of information without consuming them.
Terminating Delimiters
Currently we search for terminating delimiters using the following algorithm:
buffer = first_buffer
while (buffer does not contain delimiter):
    append buffer to result string
    consume buffer.size()
    buffer = next_buffer
append buffer[0..match.start()] to result string
consume match.start()

Note that in the first test case below, the delimiter is   (two spaces). The first buffer ends with one space and the second buffer begins with one space. Together, they form a delimiter, but this delimiter is not in either buffer, so the entirety of both buffers is read.
The best algorithm I can come up with, which follows, depends on rust-lang/regex#425; else we must make our own regex engine and implement hits_end() -> bool which returns true if the DFA is not in a dead state after we consume the last input character. This would imply that the buffer ends with a prefix to a word in that regex's language, and if we consume additional input it may or may not become a delimiter.
buffer = first_buffer
loop:
    while (buffer does not contain delimiter
            AND buffer does not end with delimiter prefix):
        append buffer to result string
        consume buffer.size()
        buffer = next_buffer
    while (buffer ends in delimiter prefix):
        buffer += next_buffer
    if (buffer contains delimiter):
        append buffer[0..match.start()] to result string
        consume match.start()
        break
# note that if the combined buffer didn't end up containing a delim,
# it will be appended to the result string on the next iteration of the loop at the top

Such functionality would also help us with the issue of parsing arbitrarily long starting delims. However, since there is nothing (simple) we can do to remedy that, we must consider an alternative. I propose the following:
to_consume = 0
while (result string does not contain delimiter):
    append buffer to result string
    to_consume += buffer.size()
    buffer = next_buffer
consume (to_consume - buffer.size() + match.start())
trim last (buffer.size() - match.start()) from result string

Note that this requires reading multiple buffers without consuming them. By default, BufRead.fill_buf() will happily return the same buffer over and over again if you do not consume() between calls.
Precedent Delimiters
This has all of the same problems as the above problem, with one added caveat: it is impossible to tell the difference between a string that has no precedent delimiters and a string having a very long precedent delimiter—without being able to check for delimiter prefixes—except by reading to EOF.
This issue technically still exists in the case of trailing delimiters, but in that case there is no efficiency hit because reading to EOF if there is no trailing delimiter is actually the desired behavior.
Test Cases
/// This test will fail if we do not solve the above problem in a way that
/// preserves the tail of the original buffer, because in this test case the
/// terminating delimiter begins within the first buffer size and
/// ends within the second.
#[test]
fn buffer_ends_within_end_delim() {
    let string: &[u8] = b"foo  bar";
    let mut br = BufReader::with_capacity(4, string);
    let mut test = Scanner::new(&mut br);
    test.set_delim_str("  ");

    assert_eq!(test.next(), Some(String::from("foo")));
}

/// This test will fail if we cannot detect partial matches of the delimiter
/// when skipping over prefixed delimiters. Because the buffer size is 4, it
/// will read "aaaa", which is not in the language of /a+b/, however the
/// automaton is not in a dead state either: reading a "b" would put us in
/// an accepting state, thus we must read more input to know if the regex is
/// satisfied. Reading an additional character will result in "aaaab", which
/// is a valid delimiter in this language and should therefore be skipped.
#[test]
fn buffer_ends_within_start_delim() {
    let string: &[u8] = b"aaaabfoo";
    let mut br = BufReader::with_capacity(4, string);
    let mut test = Scanner::new(&mut br);
    test.set_delim(Regex::new(r"a+b").unwrap());

    assert_eq!(test.next(), Some(String::from("foo")));
}

Note: the better algorithm above also requires the ability to read multiple buffers at a time, so it is not an improvement in that sense.
It is only better because the complexity of the regex matching is ϴ(buffer size) while the second choice is ϴ(result string size)

That ignores greedy operators. Test case:
buffer size: 4
delim: /a[ab]*b/
input string: aaabbc
reference: c
result: bc
You can fix this with a little reordering:
buffer = first_buffer
loop:
    while (whole buffer is delimiter prefix):
        buffer += next_buffer
    if (buffer starts with delimiter):
        consume buffer.size()
        buffer = next_buffer
    else:
        break
# note that if the combined buffer was a delim, it will be consumed
# back at the top

I think that in order to read multiple buffer widths, we will have to implement BufRead on our Scanner and write our own buffer logic.
The buffer should function identically to BufReader in the general case, but it should use a vector instead of a fixed slice. Further, we will provide a method extend_buf() or something similar that will read buffer size bytes into the buffer, even if the buffer already has some contents, extending it if necessary.
As a consequence, any call to consume will invalidate the buffer, but that is okay because Rust already disallows that operation by requiring the borrow for extend_buf() has expired before calling consume()
After extending the buffer, it should be allowed to shrink back to normal size over time as calls to consume are made: we will not (nor can we without making some assumptions about the underlying Read) go our of our way to shrink it back to normal size.

That buffer data structure is starting to sound kinda complicated to handle ad-hoc. I've created a separate issue #5 dealing with the data structure. This issue is on hold pending that issue's resolution.

See abonander/buf_redux, which provides the necessary lookahead features. We will not have to implement our own BufRead after all.

The last commit I pushed (36c64a3) contains breaking changes. I don't think they were necessary, but I'll have to reevaluate that in the morning.

We still fail to detect precedent delims longer than the input buffer, but all trailing delims work.


[enhancement] Create block for the new RGB line sensor

There's a new linesensor that is based on RGB. It connects trough I2C and has white leds to have more consistent lighting and better/ more reliable results. The chip it uses is unknown for now, check the hardware sheet or ask Bas/Michiel.

https://www.vishay.com/docs/84276/veml6040.pdf


figure out how Editor will use the resource template version property

Describe the feature you'd like
Add a version property to the resource template and profile validation when uploading.
Give an example
],
    "author": "LD4P",
    "date": "2020-04-03",
    "description": "Work, Instance, Item for Monographs, based on LC profile as of Aug-07-2019",
    "id": "ld4p:profile:bf2:Monograph",
    "title": "LD4P BIBFRAME 2.0 Monograph",
    "schema": "https://ld4p.github.io/sinopia/schemas/0.0.9/profile.json",
    "remark": "Updated",
    "version": "0.0.1"
  }

Describe alternatives you've considered

When trying to upload to Sinopia a profile with a "version" property on the profile metadata, Sinopia is currently giving the following error (screenshot):

If the "version" property exists on the resource template metadata, then Sinopia gives the following error (screenshot):

see LD4P/sinopia_profile_editor#334
is Profile version relevant in the Editor?
Resource Template version property needs to be thought through: if you upload a new version of an existing Resource Template, what is expected behavior? don't overwrite the template (overwriting existing template is the current behavior). Show the resource template version in the Resource Templates list page? need to take into account the template version # when opening an existing resource? (see #2159)

We still need a way to version templates. We now, at least, are able to update the creation date when cloning a template to create a new one, and we are beginning to use that as a form of versioning for updated templates, but we still need a more robust way to version that comes up with the rdf that specifically states what version a template is.

closing in favor of #2844


Status monitor message override

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[ ] Added CHANGELOG entry, or determined not required.
[ ] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[ ] Updated doc comments / prop-types, or determined not required.
[ ] Reviewed and tested on Mobile, or determined not required.
[ ] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Issue: https://github.com/xh/hoist-core/compare/develop...statusMonitorMessageOverride
Toolbox PR: https://github.com/xh/toolbox/pull/603
hoist-core PR: https://github.com/xh/hoist-core/pull/269
Backwards and forwards compatible:
Old hoist-core + new hoist-react = appears identical to old behavior, the non-success message overrides any user-provided
New hoist-core + old hoist-react = the messages on the monitor card are displayed on the same line, rather than a newline


Feature: add packages file

created packages.yml file and installed dbt-utils

you don't need to change the branch, just close the PR if there is nothing to actually modify :)