Add page selection functionality

JIRA Ticket: LTSVIEWER-160

Companion PR

What does this Pull Request do?
Allows the user to input specific pages and / or ranges of page to include in the PDF
How should this be tested?
Note: this can currently only be tested on legacy IDS manifests

Checkout MPS viewer locally from the companion PR branch
Restart your local MPS viewer docker container
It should install the latest version of the PDIIIF plugin and run webpack automatically
Go to the MPS viewer main page and select a legacy PTO
Accessing PDIIIF from the plugin menu there should be an input
Try to download a PDF without entering anything into the text box. By default no range being entered should download the full document
Entering these value should work and give a PDF with corresponding pages (N.B. keep track of the numbers you choose here):

A single page number
A range (e.g. 2-3)
A range with no lower bound (e.g. -3 = first-3)
A range with no upper bound (e.g. 2- = 2-last)
A comma separated list of pages (e.g. 1,2,3)
A comma separated list of pages and ranges (e.g.1, 3-5, 8, 9-14)

Entering these values should trigger the validation and prevent download:

0
A number bigger than the size of the document

Other Non-parsable values (e.g. horse) should just result in all pages being included

Test coverage
Yes/No: Are changes in this pull-request covered by:

unit tests? Yes
integration tests? No

Interested parties
@enriquediaz

After testing, this is what I found:
Chrome

Hot Dog Manger and Heard de Notre Dame downloaded
Chronique du monde stayed in the “Checking document” spinning wheel until timing out

The following download variations worked as expected

A single page number
A range
A comma separated list of pages
A comma separated list of pages and ranges
A non-parsable value (e.g. horse) (got the entire document)
Entering 0 (download prevented)
A number bigger than the size of the document (download prevented)

The following download variations didn’t work as expected

Not entering anything into text box

If this was the first attempted download, I would get an alert saying  “The file [FILE_NAME] could not be opened. It may be damaged or use a file format that Preview doesn’t recognize.”
If I tried this after doing a different download variation (like a page range 2-3, it would produce a download with pages 2-3)

A negative number

Entering -2 gave me the first 2 pages
If the negative number was greater than the number of pages (e.g. entering -5 in hot dog example that has 3 pages), download would be prevented

If you forget to close a range of numbers (e.g. 1, 44-, 57) then the entire rest of the document will be downloaded

Firefox

Download wasn’t working for me in Firefox; could see “Checking Document” and then “Download PDF” (expect for with Chronique du monde), could select a number of pages, but after clicking “Download”, nothing happened

@jonw-cogapp I have been re-testing on my Mac and I'm afraid that I can replicate most of the problems spotted by @mferrarini:

Chronique du monde stayed in the “Checking document” spinning wheel until timing out

I see this problem in both Chrome and Firefox.

Not entering anything into text box
If this was the first attempted download, I would get an alert saying “The file [FILE_NAME] could not be opened. It may be damaged or use a file format that Preview doesn’t recognize.”
If I tried this after doing a different download variation (like a page range 2-3, it would produce a download with pages 2-3)

If you come to the page cleanly (i.e. hard refresh in the browser) it will generate a 190kB file that gives this error when opened, despite no errors showing in the console. And if you select a range, it will work correctly. However, if you have previously selected a range, and then click download without specifying a range, it will work correctly but actually only generate the previous range that you requested, in case that helps to  troubleshoot this.
I didn't have any general problem with Firefox as follows:

Firefox
Download wasn’t working for me in Firefox; could see “Checking Document” and then “Download PDF” (expect for with Chronique du monde), could select a number of pages, but after clicking “Download”, nothing happened

Apart from the two problems mentioned above (Chronique du monde always "Checking document"; trying to download without specifying ranges failing when loaded the first time)

@tristanr-cogapp @mferrarini
Since I last commented I was able to recreate some of the issues — I missed the significance of:

If this was the first attempted download

The state should have been initialised as undefined not empty array in order

However, if you have previously selected a range, and then click download without specifying a range, it will work correctly but actually only generate the previous range that you requested, in case that helps to troubleshoot this.

This was related to me not hooking up the input box correctly, and the state value falling out of sync with the input. It would update the state variable on change, but when the box was closed it didn't write the state variable into the input. It would look like the box was empty, but behind the scenes it was using the previous values. I've updated this to work both ways, but it now also resets the state the state when the dialog closes. The input and the state value should now remain in sync.

Chronique du monde stayed in the “Checking document” spinning wheel until timing out

I'm not sure why I initially couldn't recreate this, but was able to reproduce this consistently later. It introduced and was subsequently patched in PDIIIF. Updating the dependency has resolved this for me


[AutoPR recoveryservicesbackup/resource-manager] Bump recoveryservicesbackup Node.js package version to 3.0.0

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3435

Closing PRs that are older than 1 month.


Clarify that run_example files are not mean to be run by the user, they are for ci

We could add a comment to the files or something in the docs or any other soltion but I think it can be confusing for users finding them in the folder.
Closes: https://github.com/conan-io/examples2/issues/130
Closes: https://github.com/conan-io/docs/issues/3631

I think we could do a couple of things here:

Change the name of the files to something less inviting to be run than run_example.py
Check an environment variable that's set in the CI and output a message if it's not set (just a warning, do not fail)


Label inconsistency in AeronStats with single publisher and multiple subscribers on the same machine

Test setup:
Start AeronDriver (from driver jar)
Start AeronStat (from samples jar)
Start BasicSubscriber
Start BasicPublisher
You will see something similar to this in the output of AeronStat (I have removed the 20 base stats for simplicity):
12:03:47 - Aeron Stat
20:               28,880 - sender pos: udp://localhost:40123 ec38cf33 a
21:            8,417,488 - publisher limit: udp://localhost:40123 ec38cf33 a
22:               28,880 - subscriber pos: udp://localhost:40123 ec38cf33 a
23:               28,880 - receiver pos: udp://localhost:40123 ec38cf33 a
24:               28,880 - receiver hwm: udp://localhost:40123 ec38cf33 a
Then start up a second BasicSubscriber on the same machine and you will get the following from AeronStat:
12:03:55 - Aeron Stat
20:              354,640 - sender pos: udp://localhost:40123 ec38cf33 a
21:            8,743,248 - publisher limit: udp://localhost:40123 ec38cf33 a
22:              354,640 - subscriber pos: udp://localhost:40123 ec38cf33 a
23:              354,640 - receiver pos: udp://localhost:40123 ec38cf33 a
24:              354,640 - receiver hwm: udp://localhost:40123 ec38cf33 a
25:              354,640 - subscriber: udp://localhost:40123 ec38cf33 a
Notice that on entry 25, the subscriber does not show "pos" in the label.
If you then kill the first subscriber (entry 22) you will get the following:
12:03:58 - Aeron Stat
20:              479,728 - sender pos: udp://localhost:40123 ec38cf33 a
21:            8,868,336 - publisher limit: udp://localhost:40123 ec38cf33 a
23:              479,728 - receiver pos: udp://localhost:40123 ec38cf33 a
24:              479,728 - receiver hwm: udp://localhost:40123 ec38cf33 a
25:              479,728 - subscriber: udp://localhost:40123 ec38cf33 a
Notice that entry 22 has been removed
If you then restart that subscriber:
12:04:10 - Aeron Stat
20:              983,056 - sender pos: udp://localhost:40123 ec38cf33 a
21:            9,371,664 - publisher limit: udp://localhost:40123 ec38cf33 a
22:              983,056 - subscriber: udp://localhost:40123 ec38cf33 a
23:              983,104 - receiver pos: udp://localhost:40123 ec38cf33 a
24:              983,104 - receiver hwm: udp://localhost:40123 ec38cf33 a
25:              983,056 - subscriber: udp://localhost:40123 ec38cf33 a
Entry 22 shows back up but this time the "pos" label is no longer there.

Nice spot on detail. Thanks!


Added support for formatting command output as JSON string solving #48

Added support for formatting command output as JSON string solving #48

Coverage remained the same at 100.0% when pulling 8bee0d79875e8d71a682cc039c6439817cd2e950 on waldekmastykarz:json-output into ff36ba2e798ad1e5a3f3b45c038f9189e577e4c5 on SharePoint:dev.

Merged manually


[Bug]: The admin email id's are not displayed on the admin settings page.

Is there an existing issue for this?

[X] I have searched the existing issues

Description
All the email id's which has admin access should be displayed in the field but currently the field is empty.
Steps To Reproduce

Login with admin credentials
Navigate to "Admin settings" page

Observe the "Admin Email" field

DP: https://ee-2453.dp.appsmith.com
Public Sample App
No response
Environment
Deploy Preview
Issue video log
No response
Version
Appsmith Business v1.9.39-SNAPSHOT

This issue is fixed clsoing the issue


extending to allow -X ? (which file do I start?)

e.g.  from https://alpaca.markets/docs/api-documentation/api-v2/
curl -X GET \
    -H "APCA-API-KEY-ID: {YOUR_API_KEY_ID}" \
    -H "APCA-API-SECRET-KEY: {YOUR_API_SECRET_KEY}"\
    https://{apiserver_domain}/v2/account

doesn't quite get parsed;
I would love to fork & extend it in the parser; which files should I start? thanks!

Add a " " before the \
This was a bug in the bash parser that was fixed but we haven't updated it yet.


Adding readme and testing

I was testing a few stuff and then ended up adding a readme file for substrings problem, because it doesnt seem to give much info just from the folder name.

Thanks @teodorrupi


Julia 0.6 Formula broken?

Both DataFrames and StatsBase export Formula as the process of re-structuring 1018 is occurring. However, both give an error when creating an instance of Formula. This hampers various functions in the GLM package and those that depend on it such as MixedModels (i.e., all packages that rely on Formula). For example,
using DataFrames
fm = Formula(y ~ x)
UndefVarError: y not defined

The ~ is no longer a macro so you'd have to do @formula y~x instead of just y~x.

I remember the discussion, but wasn't aware that the change was implemented. Should I go ahead and update the documentation for it, then?

The documentation already reflects the updated formula syntax: https://juliastats.github.io/DataFrames.jl/stable/man/formulas/#The-Formula,-ModelFrame-and-ModelMatrix-Types-1

I meant the documentation in GLM, MixedModels, and other packages that rely on the struct. Since it is implemented and documented in DataFrames I will go and update the documentations on the affected packages. Thanks.

Thanks for the willingness to help. I actually have a branch to make the change for GLM, so I'll take care of that one. But PRs elsewhere are of course welcome.

Will do.


If a share is typed with spaces in the wrong places the error message is strange.

          If a share is typed with spaces in the wrong places the error message is strange. It should display "non-alphanumeric character detected"

Originally posted by @BenWestgate in https://github.com/BenWestgate/Bails/issues/13#issuecomment-1646643857

No longer accepting spaces in the input.


Bump ChemicalToolBox for missing tools

I removed all of the ChemicalToolBox from usegalaxy.org's shed_tool_conf.xml before deploying #492 and it seems that perhaps the CVMFS cache did not update properly when I did, because some tools were reported as already installed that should not have been. This should cause them to be reinstalled.

Looks like epehemeris uses /api/tools with /api/tool_shed_repositories, which means I have to update the install database for all the stuff I deleted, blech.

@galaxybot test this

@galaxybot deploy this


Inputs alignment slightly off on Windows 10, Chrome v63, HiDPI screen.

Extension of this Pull Request https://github.com/alphagov/govuk-frontend/pull/491 to investigate if we can get alignment pixel perfect across browser.
Looks to be how box-shadow is rendered on this device.
Raised here to unblock this PR.

I can't reproduce this, might have been specific to my setup at the time.
Feel free to re-open.


(feature request) Segmented dropdown button

Is there any plans on developing segmented dropdown buttons?
These are really useful when there is a list (or a table) and each item (or row) has several actions. This could be done easily by segmenting a regular data-activates='dropdown' button, making dropdown appear only when second segment is pressed (covering the whole segmented button).

Since this project is an implementation of the material design guidelines, I believe that it will be added at any moment.
that about contributing with a PR?

Yes, I know the connection to Google Material, hence the question. I am not sure if I am qualified to make a PR with a new feature like this (unlike, say, a bug patch), since many components will have to be changed, which means by the time this PR is approved it may become conflicting. Moreover, I don't know how devs would like to go about making this segmented dropdown button, as there are tons of ways.
What I can do, though, is to showcase it using existing css components, tweaking them a little bit, if that would do any good to the cause :)

Just a small codepen showcase


Auto create container flag

Added auto create collection field in @Document annotation: https://github.com/microsoft/spring-data-cosmosdb/issues/454
Corrected the behavior of findById with partition key API to return optional false when document is not present: https://github.com/microsoft/spring-data-cosmosdb/issues/451

Codecov Report

Merging #462 into v2.1.x will decrease coverage by 0.34%.
The diff coverage is 63.15%.

@@           Coverage Diff            @@
##           v2.1.x   #462      +/-   ##
========================================
- Coverage   75.34%    75%   -0.35%
========================================
  Files          48     48
  Lines        1456   1472      +16
  Branches      163    168       +5
========================================
+ Hits         1097   1104       +7
- Misses        270    275       +5
- Partials       89     93       +4

Impacted Files
Coverage Δ

...epository/support/DocumentDbEntityInformation.java
88.46% <100%> (+0.83%)
:arrow_up:

...repository/support/SimpleDocumentDbRepository.java
86.15% <33.33%> (-5.65%)
:arrow_down:

.../spring/data/cosmosdb/core/DocumentDbTemplate.java
88.4% <50%> (-1.64%)
:arrow_down:

Continue to review full report at Codecov.

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


If you do /wild twice you tp to the same location

Hi, I have a 1.15 survival server, its just one world no network no thing, when I added the wild plugin and tried to use it, it said "Cannot use command in this world" so I opened the gui and added my world through chat. Even thought the teleport worked once if you do it again it teleports you back to the same place. Please help, thanks.
WildConfig.txt

Look at the bottom of your config at worlds and you should see the issue. If not let me know (Hint compare world to survival you should see the problem)

Thanks it got fixed


Python 2.7 binding on Windows

CPython 2.7 uses Visual Studio 2008 on Windows. Given that this compiler has a very limited support for C++11, is the Python binding for tinyspline available on Python 2.7 for Windows? Is somebody using the tinyspline package on such a configuration? If yes, how?

CPython 2.7 uses Visual Studio 2008 on Windows.

What do you mean by that? Is CPython 2.7 compiled with VS2008? As far as I can tell you should be able to create the binding with an appropriate C++ compiler and use the resulting .py file in your environment (along with the dll library) regardless of CPythons's compiler.

As far as I can tell you should be able to create the binding with an appropriate C++ compiler and use the resulting .py file in your environment (along with the dll library) regardless of CPythons's compiler.

Actually, there are issues. As you can read here: http://www.menpo.org/blog/2014/07/python_windows_development/ . Which C++11 features are you using? If the library really need them, I believe that a workaround could be to use Boost when a compiler not C++11 compatible is detected.

Which C++11 features are you using?

Currently, the only C++11 feature used by tinysplinecpp should be the move semantics for BSpline and DeBoorNet (1, 2, 3, 4, 5, and 6). I don't think that Swig generates source files that require C++11 enabled compiler suites.

As you can read here: http://www.menpo.org/blog/2014/07/python_windows_development/ .

I see your point. At first, you could try to remove the move semantics from tinysplinecpp and adapt the corresponding CMakeLists.txt to enable the C++ wrapper in case of VS2008. If the python binding is generated properly afterwards, we can think about a solution.

There is also vector::data(): I will use &vec.front() http://stackoverflow.com/questions/6485496/how-to-get-stdvector-pointer-to-the-raw-data

Currently, we have the following 3 approaches to add the requested feature:

Create and maintain a branch that removes all C++11 related features from tinysplinecpp.h and tinysplinecpp.cpp. Actually, this only affects the move semantics of BSpline and DeBoorNet as all other features can be replaced with C++99 compatible code in the master branch. Furthermore, the branch needs to disable the C++ compiler detection in order to allow older compiler suits to create the C++ interface and bindings.
Use Cython to create a binding of the C interface. Does this approach scale with changes to the C interface. That is, if someone is adding a feature to the C interface, does Cython automatically add this feature to the binding?
Use Swig to create a binding of the C interface. Since I'm experienced with Swig, I know that it scales relatively good with changes to the C interface.

As for myself, I prefer the first solution since the overhead of maintaining the branch should be moderate. However, I'm fine with solution 2 and 3 as long as we do not need to modify any of of C/C++ source files. However, we need to consider that adding a further interface generators yields to maintenance tasks in CMakeLists.txt as well.

After some additional thoughts on my specific use, I believe that I will most likely use tinyspline in a C++ library, then I will wrap the couple of task-specific functions that I need to be called from Python using Cython.
So, I am going to close this ticket unless somebody else has a specific interest for Python 2.7 support on Windows (the current EOL date is 2020: http://legacy.python.org/dev/peps/pep-0373/).

Currently Python 2.7 is not supported on Windows (using Visual Studio). So this ticket should stay open.
My favorite solution is always to add a CMake option that activate/deactivate the few specific C++11 features in use.

My favorite solution is always to add a CMake option that activates/deactivates the few specific C++11 features in use.

I will work in this the next days.

I am about to finish the necessary work to fix this issue. There is only one thing missing: http://stackoverflow.com/questions/39100583/cmake-passing-two-or-more-defines-to-swig.

You should now be able to disable C++11 features with TINYSPLINE_DISABLE_CXX11_FEATURES (of course available as option as well). Use the corresponding environment variable if you want to build the Python binding. Waiting for your feedback before closing this issue.

Closing the issue.


Regression: editOnNextCell broken

grid.properties.editOnNextCell is false by default. When set to true it is supposed to open the next cell for editing when cell editor is closed with the enter, tab, arrow keys. It is currently opening the correct cell but instead of superimposing the cell editor over the cell, the cell editor appears at the top left of the grid, which is incorrect (and very confusing).

Fixed in 3.0.2 (PR #742)


Not launching multi account selections

When I select multiple accounts a random number of times it will fail to launch the game. It is listed in the game instances though.
If I launch one at a time, I can login all the accounts (multiple instances)
Not sure if this is a bug or the game launches too quickly that is causing this. Is there a delay timer that I can change?

Did the multiboxing work for you in the past?
What LB version are you currently running?
Launchbuddy allready has a delay implemented calculated by:
Math.Pow(i, 2) * 25 + 50
where i is the number of tries to close the mutex (handle that prevents multiboxing).

Multi box is working. I just get random loading issues where the login shows but then no game load.

I have this same problem, it happens for me when i have the radial menu addon installed. Once i delete that and let gw2 generate a new .dll again without this addon i can launch multiple accounts again without problems.


handle HERE document variables (fixes #30)

This fixes the handling of HERE document variables. It can now correctly beautify this:
while false do
if true
puts 'Produce', '-------', <<PRODUCE, 'Dairy', '-----', <<DAIRY, '* Organic'
1. Strawberries*
2. Blueberries

PRODUCE
1. Yogurt
2. Milk*
3. Cottage Cheese

DAIRY
end
end

Merges should go into dev, if you do that, I'll push it out.

This one I want to look at a bit more, but still needs to get pulled to dev.
Thanks for the PR's.

Ok. I'm currently experimenting with your gem and may provide a bunch of new feature and minor bugfixes in separate PRs by next week. Then I'll do them against the dev branch.

Closing this for now, will return with updated PRs next week.


Order experience by end date or customizable

Expected behavior
Experience ordered by end date, or customizeable
Actual behavior
Experience ordered by begin date

Good point. We haven't thought about the end date but just about he start date.
We'll take a look into it in the next couple of days.
About the customisable: That's already in the pipeline. But I can't tell you when that's going to be live.


doc: enable Graphviz extension

doc: enable graphviz extension

Enable the built-in Sphinx Graphviz extension to allow creating Graphviz
diagrams natively on the source files. Some style defaults have been
enabled to make sure diagrams are consistent and have good quality in
both light and dark modes.

doc: guides: docs: replace diagram image with dot source …

Replace the dot diagram with its original source. This is possible
thanks to the Sphinx Graphviz extension. Note that some style attributes
have been removed as defaults are already provided by the extension.

Before:

After:

Thanks for the update. Did you test on macOS and Windows?

No, I haven't tested, but I assume that if dot is found, docs will build as expected (CMake is helping here with find_package(Doxygen REQUIRED dot)).

No, I haven't tested,

OK, I will leave my -1 in place for now then. I can test for you later today when I have access to my windows and macOS boxes and will approve if all goes well.

Oo that is gold. Does it work with PDF generation as well ? The image generated and then included in the generated latex ?

Oo that is gold. Does it work with PDF generation as well ? The image generated and then included in the generated latex ?

Yes, PDF build works correctly (I tested it).

Mac / dark:

Windows / light:


Remove unnecessary term in query

It's a regex that matches everything, and so just slows the query down.
See https://github.com/berkeley-dsep-infra/datahub/issues/3984#issuecomment-1343125440

/cc @minrk @GeorgianaElena

Is there a chance this or something like it was here to exclude data points where the field is unpopulated?

Or maybe just a leftover from running within one namespace, and instead of dropping the filter, the filter was expanded to catch-all?

When I tried it out there was no difference, most likelye a leftover from the filter saying ~=".*-prod" when I set it up for Berkeley :)


Child Related Object a User Has No Access To

Hi Doug.  First off, thank you for this component.  I downloaded the code and, in testing, discovered that, if a user does not have any access to one or more of the specified list of child objects (in my case, Opportunity), an error occurs during object initialization.  I am specifying a list of objects in the configuration of the component in App Builder.  I know the list is correct because it works fine when a user who has at least read access to all specified related objects runs it.  I made a fix to the client controller and was wondering if you would be interested in it.
Also, your code made a great starting point for a similar component I made that handles both files and attachments.  My client is starting a prolonged rollout of lightning, and we will have a period of time where we will have both attachments and files in the system, until everyone is off of Salesforce for Outlook and we convert all attachments to files with Magic Mover.
Many thanks,
tom

I'm not able to reproduce the issue where the component errors if the current user does not have access to a child object. For me, that relationship simply isn't shown in the vertical nav on the left side. I believe this is handled by this earlier code.
Others have requested ability for this to include attachments and files. I'll close this issue and open a new enhancement request specifically for attachment support.
If you're still having issues where users without access to a child object encounter an error with this component, let me know and I'll reopen this issue.
Thanks


riscv64: Add fmsub/fnmsub/fnmadd instruction lowerings

👋 Hey,
This PR adds lowering rules for the  fmsub/fnmsub/fnmadd instructions.
These instructions were already implemented in the backend, but had no lowering rules associated with them, so they were never emitted.

This is neat!
Out of curiosity, can't you use these same fnmsub/fnmadd instructions if y is negated instead of x? Similarly if both x and y are negated, I think you can use fmadd/fmsub, depending on whether z is negated or not. And of course you could also match on (fneg (fma ...)), leading to 16 possible rules in total.
That said, I'm a little worried about whether fusing negation into an fma can change its results. I'm hoping the answer is "no", but do either of you happen to know for sure and can you explain it to me? I'm reasonably confident that negating the result is equivalent to negating both terms and both cases are safe to fuse without loss of precision. I'm less confident that, for example, fmadd x y (fneg z) will always give the same results as fmsub x y z if the magnitude of z is very different than x*y.
Anyway, I thought way too much about this and I think you can fold those 16 cases into four rules based on how many of x, y, z, or the result are wrapped in fneg:

Even number of fnegs in (result, x, y): use fm*
Odd number of fnegs in (result, x, y): use fnm*
Even number of fnegs in (x, y, z): use *add
Odd number of fnegs in (x, y, z): use *sub

With the right helpers you can write the four rules all at the same priority. This is a little awkward and would be easier if ISLE had or-patterns or match expressions or something, but I think the following should work and generate about as good of a pattern-matching tree as we're capable of right now.
(type IsFneg (enum (Result (negate u64) (value Value))))

(decl is_fneg (Value) IsFneg)
(rule 1 (is_fneg (fneg x)) (IsFneg.Result 1 x))
(rule 0 (is_fneg x) (IsFneg.Result 0 x))

(rule (lower (has_type ty (fma x y z)))
  (if-let (IsFneg.Result neg_x x) (is_fneg x))
  (if-let (IsFneg.Result neg_y y) (is_fneg y))
  (if-let (IsFneg.Result neg_z z) (is_fneg z))
  (rv_fma ty (u64_xor neg_x neg_y) neg_z x y z))

; this rule will need a rule priority to not overlap with other top-level fneg rules
(rule (lower (has_type ty (fneg (fma x y z))))
  (if-let (IsFneg.Result neg_x x) (is_fneg x))
  (if-let (IsFneg.Result neg_y y) (is_fneg y))
  (if-let (IsFneg.Result neg_z z) (is_fneg z))
  (rv_fma ty (u64_xor 1 (u64_xor neg_x neg_y)) (u64_xor 1 neg_z) x y z))

; parity arguments indicate whether to negate the x*y term or the z term, respectively
(decl rv_fma (Type u64 u64 Value Value Value) InstOutput)
(rule 0 (rv_fma (ty_scalar_float ty) 0 0 x y z) (rv_fmadd ty (FRM.RME) x y z))
(rule 0 (rv_fma (ty_scalar_float ty) 0 1 x y z) (rv_fmsub ty (FRM.RME) x y z))
(rule 0 (rv_fma (ty_scalar_float ty) 1 0 x y z) (rv_fnmsub ty (FRM.RME) x y z))
(rule 0 (rv_fma (ty_scalar_float ty) 1 1 x y z) (rv_fnmadd ty (FRM.RME) x y z))
(rule 1 (rv_fma (ty_vec_fits_in_register ty) 0 0 x y z) (rv_vfmacc_vv z y x (unmasked) ty))
(rule 1 (rv_fma (ty_vec_fits_in_register ty) 0 1 x y z) (rv_vfmsac_vv z y x (unmasked) ty))
(rule 1 (rv_fma (ty_vec_fits_in_register ty) 1 0 x y z) (rv_vfnmsac_vv z y x (unmasked) ty))
(rule 1 (rv_fma (ty_vec_fits_in_register ty) 1 1 x y z) (rv_vfnmacc_vv z y x (unmasked) ty))
(rule 2 (rv_fma (ty_vec_fits_in_register ty) 0 0 (splat x) y z) (rv_vfmacc_vf z y x (unmasked) ty))
(rule 2 (rv_fma (ty_vec_fits_in_register ty) 0 1 (splat x) y z) (rv_vfmsac_vf z y x (unmasked) ty))
(rule 2 (rv_fma (ty_vec_fits_in_register ty) 1 0 (splat x) y z) (rv_vfnmsac_vf z y x (unmasked) ty))
(rule 2 (rv_fma (ty_vec_fits_in_register ty) 1 1 (splat x) y z) (rv_vfnmacc_vf z y x (unmasked) ty))

Also I think you might be able to handle (splat y) as well because I guess floating-point multiplication is commutative assuming NaN canonicalization. So you can safely swap x and y, if I'm not mistaken…

I'm not entirely sure, for these 4 instructions I pretty much copied the LLVM lowerings for them. I also briefly looked at our x64 backend and noted that it had some similar rules for fnmadd. I can't really explain these transformations in great detail, FP Math makes my head hurt 😖 .

I'm less confident that, for example, fmadd x y (fneg z) will always give the same results as fmsub x y z if the magnitude of z is very different than x*y.

That case isn't represented in our backend, and I'm not entirely sure how to prove it. My z3 skills are non existent, but I probably can implement it for the x64 backend and fuzz it for a few days.

(fneg (fma ...)) I think is a no-go since LLVM has this rule, but only with the nsz (No Signed Zero) flag, which means it probably swaps -0.0 with 0.0 or vice-versa.

Adding the fneg y variations seems like it would work, at least we have those rules in the x64 backend. And de-duplicating those rules with the vector rules seems really neat, since we have pretty much the same instructions for both.

So, I played around with alive for a bit. Really cool tool! Unfortunately the compiler explorer for alive2 has a short timeout so I had to run these locally.

Out of curiosity, can't you use these same fnmsub/fnmadd instructions if y is negated instead of x?

Yes you can! Here's the proof that I built for this and it does validate.

Result
afonso@DESKTOP-1AHKMV2:~/git/alive2/build$ ./alive-tv --disable-undef-input --smt-to=1800000  ./tgt.ll

----------------------------------------
define half @src(half %x, half %y, half %z) {
#0:
  %negx = fneg half %x
  %fma = fma half %negx, half %y, half %z
  ret half %fma
}
=>
define half @tgt(half %x, half %y, half %z) {
#0:
  %negy = fneg half %y
  %fma = fma half %x, half %negy, half %z
  ret half %fma
}
Transformation seems to be correct!

I'm reasonably confident that negating the result is equivalent to negating both terms and both cases are safe to fuse without loss of precision.

This one doesn't seem to pan out, it seems to have the issue with the signed zero. Proof

Result
afonso@DESKTOP-1AHKMV2:~/git/alive2/proofs$ ../build/alive-tv --disable-undef-input --smt-to=1800000 ./neg_fma_eq_fma_negxz.ll

----------------------------------------
define half @src(half %x, half %y, half %z) {
#0:
  %fma = fma half %x, half %y, half %z
  %n = fneg half %fma
  ret half %n
}
=>
define half @tgt(half %x, half %y, half %z) {
#0:
  %negy = fneg half %y
  %negz = fneg half %z
  %fma = fma half %x, half %negy, half %negz
  ret half %fma
}
Transformation doesn't verify!

ERROR: Value mismatch

Example:
half %x = #x0000 (+0.0)
half %y = #x8100 (-0.000015258789?)
half %z = #x0000 (+0.0)

Source:
half %fma = #x0000 (+0.0)
half %n = #x8000 (-0.0)

Target:
half %negy = #x0100 (0.000015258789?)
half %negz = #x8000 (-0.0)
half %fma = #x0000 (+0.0)
Source value: #x8000 (-0.0)
Target value: #x0000 (+0.0)

I'm less confident that, for example, fmadd x y (fneg z) will always give the same results as fmsub x y z if the magnitude of z is very different than x*y

I can't really test this using alive, since it doesn't have a fmsub intrinsic. But I did something similar using fmul+f{add,sub}, which has 2 rounding steps instead of one, which is what I think really matters. In this case the proof does check out and you can remove an intermediary fneg. Proof

Result
afonso@DESKTOP-1AHKMV2:~/git/alive2/proofs$ ../build/alive-tv --disable-undef-input --smt-to=1800000 ./fma_split_neg.ll

----------------------------------------
define half @src(half %x, half %y, half %z) {
#0:
  %mul = fmul half %x, %y
  %negz = fneg half %z
  %res = fadd half %mul, %negz
  ret half %res
}
=>
define half @tgt(half %x, half %y, half %z) {
#0:
  %mul = fmul half %x, %y
  %res = fsub half %mul, %z
  ret half %res
}
Transformation seems to be correct!

We should probably add a mid end rule for this case!

Similarly if both x and y are negated, I think you can use fmadd/fmsub, depending on whether z is negated or not.

I'm not too worried about this case because it's already covered by a mid end rule. That being said, it looks like It comes pretty much for free with the solution that you proposed above, so might as well have it.
I'm going to write up a PR using that. Thanks for looking at this in so much detail!


Fixed a typo in GPU installation command

@sbtx Thank you for your PR! But this fix is already included into #1034.


INT64 not recognized

Version
1.11.0
What happened?
A column of tokens INT8 NOT NULL  is recognized as an int64 in go, but tokens INT64 NOT NULL is an interface{}
Relevant log output
No response
Database schema
CREATE TABLE test (
  tokens INT64 NOT NULL,
  PRIMARY KEY (tokens)
);

SQL queries
No response
Configuration
No response
Playground URL
No response
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

Is this a CockroachDB extension? int64 is not a valid PostgreSQL type
$ psql
psql (14.1)
Type "help" for help.

kyle=# CREATE TABLE foobar (num INT64);
ERROR:  type "int64" does not exist
LINE 1: CREATE TABLE foobar (num INT64);

@kyleconroy i apologize, I was under the impression is was in Postgres! I’ll know better to check next time first now :)

FWIW, cockroach might accept INT64 but it's just an alias internally for INT8. Honestly, it's confusing. Seems fine to never implement support for INT64.


feat: synchronize with mathlib3 #16525

mathlib3: https://github.com/leanprover-community/mathlib/pull/16525

bors d+
Please merge once the mathlib3 port is approved.

This is ancient and has been conflicted for a while. I think it would be better to restart any forward porting efforts.


Added basic logging config to bot

@vivax3794 your change has been mentioned. Is it ok now?

looks good, just missing those type hints now

actually I just tested this pr and
    def should_rotate(message: loguru.Message, file):
AttributeError: module 'loguru' has no attribute 'Message'

Tested locally and ran flake8, works well.


Cherry pick #8178 and #8211 to release-2.12.0

This addresses https://issues.apache.org/jira/browse/BEAM-5723
A part of https://issues.apache.org/jira/browse/BEAM-6620

R: @kennknowles
CC: @apilloud

Run Java PreCommit

Run JavaPortabilityApi PreCommit

Run Java PreCommit

Updted PR to cherry pick @echauchot fixes to CassandraIOTest

My worry as the unaddressed thread on https://issues.apache.org/jira/browse/BEAM-6974 where the Cassandra tests are very flaky (I think more than 50%). They seem to pass first try here.

@kennknowles the flakiness of the tests was because of a port conflict, this should be solved now. Notice that's the reason why I included the cherry pick of the test fixes too here.

@kennknowles the flakiness of the tests was because of a port conflict, this should be solved now. Notice that's the reason why I included the cherry pick of the test fixes too here.

@iemejia you mix up 2 different flakiness issues: the flakiness I fixed that was due to port conflicts is related to this ticket but @kennknowles refers to that other ticket which is not related to port conflicts. I have no idea about this later ticket as there is no error message and there it was not reproduced locally.

@echauchot  I was not mixing both, I was not even aware of BEAM-6974. I thought Kenn referred to the other issue.
Any chance to have a quick fix of that one? Remember that the fix has to be done in both HIFIOWithEmbeddedCassandraTest module and HadoopFormatIOCassandraTest module because the code of the tests is duplicated for the moment.

@iemejia I have no time to do this. I already spent a lot of time on Cassandra related tickets. I'll try to to a quick fix but after that can you please take it ?
Seems bad to have duplicated code, what's the reason

Oups sorry I forgot this was not about CassandraIO but about HadoopInputFormat and his clone, so not in your park effectively (I thought it was correlated to your PR).
It is a miracle that the 3 tests passed in the past. I can do the fix if you prefer.
The duplicated code is about HadoopInputFormat being superceded by HadoopFormat and will be removed soon.

Just fixed it: https://github.com/apache/beam/pull/8234


Cannot set importance of a mail

Hello guys,
I am using php-ews to send mails and I cannot find a way to set the importance (priority) of a mail.
Here is my code:

$from = $mail['from'];
$to = $mail['to'];
$subject = $mail['subject'];
$body = $mail['body'];
$attachments = $mail['attachments'];

$msg = new EWSType_MessageType();
if($to && count($to) > 0){
    $toAddresses = $this->getAddresses($to);
    $msg->ToRecipients = $toAddresses;
}

$fromAddress = new EWSType_EmailAddressType();
$fromAddress->EmailAddress = $from['mail'];
$fromAddress->Name = $from['name'];

$msg->From = new EWSType_SingleRecipientType();
$msg->From->Mailbox = $fromAddress;

$msg->Subject = $subject;

$msg->Body = new EWSType_BodyType();
$msg->Body->BodyType = 'HTML';
$msg->Body->_ = $body;

$msgRequest = new EWSType_CreateItemType();
$msgRequest->Items = new EWSType_NonEmptyArrayOfAllItemsType();

$msgRequest->Items->Message = $msg;
$msgRequest->MessageDisposition = 'SendAndSaveCopy';
$msgRequest->MessageDispositionSpecified = true;

$response = $this->ews->CreateItem($msgRequest);
return $response;

Thank you in advance for your response!

This issue is over three years old. If you are still having trouble with the latest version from master, please open a new issue.


Updated tutorial links in docs

Prior link pointed to an old link that does not exist anymore.

Updated the tutorial links to point to the most up-to-date one.  Miniorly related to issue #1040 in terms of improving clarity in the docs.
For review: @BruceYanghy, @XiaoYangLiu-FinRL, @spencerromo


Update to the latest version of the foreign toplevel manager protocol

There was an update the of the toplevel manager protocol. Unfortunately,
there are no new interesting updates with regard to the taskbar
implementation. Nonetheless, update the protocol xml files to the latest
version so that the implementation is up-to-date.
While being there, also change the debug warning that is shown when
there is a version mismatch between the server and client version of the
protocol.

@alebastr True, totally forgot about adding the event handler for this. Will update the pull request.

LGTM, thx!


Pass the asset instead of the did.

Fixes #703  .
Changes proposed in this PR:

replaced did with the asset object;
modified the compute tests and c2d README

Approved, but please merg v4main to be sure, since I also merged Pablo's renamings.


portainer + traefik doesn't work

Hi,
Sorry for my bad english.
I try to use portainer + traefik.
First try :
In the same manage i create a Portainer stack + a Traefik stack + a Whoami stack.
I add a worker, and the stack of Whoami is at the worker (cluster1)
And traefik don't detect the whoami.
First, in the manager I create a network overlay
docker network create --driver=overlay --subnet=<IP_ADDRESS>/24 proxy_net

I create a portainer-agent-stack.yml
version: '3.6'

services:
  agent:
    image: portainer/agent
    environment:
      AGENT_CLUSTER_ADDR: tasks.agent
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints: [node.platform.os == linux]

  portainer:
    image: portainer/portainer
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9000:9000"
    volumes:
      - portainer_data:/data
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
networks:
  agent_network:
    driver: overlay
    attachable: true

volumes:
  portainer_data:

and i deploy it
docker stack deploy --compose-file=portainer-agent-stack.yml portainer

after I create the traefik stack
version: '3.6'

services:
  reverse-proxy:
    image: traefik # The official Traefik docker image
    command: --api --docker # Enables the web UI and tells Træfik to listen to docker
    ports:
      - "80:80"     # The HTTP port
      - "443:443"
      - "8080:8080" # The Web UI (enabled by --api)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/traefik/traefik.toml:/etc/traefik/traefik.toml
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
    networks:
      - proxy

networks:
  proxy:
    external: true
    name: proxy_net

and the whoami stack
version: '3.6'

services:
  whoami:
    image: emilevauge/whoami # A container that exposes an API to show its IP address
    labels:
      - "traefik.frontend.rule=Host:whoami.infra.home"
      - "traefik.port=80"
    networks:
      - proxy

networks:
  proxy:
    external: true
    name: proxy_net

the config of traefik
[entryPoints]
    [entryPoints.http]
    address = ":80"
[api]
[ping]
[docker]
watch = true
swarmMode = true
exposedByDefault=true

endpoint = "unix:///var/run/docker.sock"

domain = "infra.home"

Question :
I do something wrong ?
It's a bug of portainer ?
It's a bug of traefik ?
It's not the right place to ask ?

Thanks for your reply

Hi @pguichon
Maybe these can help:

https://github.com/portainer/portainer/issues/1897
https://schemen.me/portainer-with-traefik/

Thx for you reply.
I already read them.
My problem is only if the stack is not on the manager.
If I use a contraint like :
placement:
        constraints: [node.role == manager]

It's work.
I think it's a network problem (but I am not sure).
I don't understand what I do wrong.
I have
a manager  (with a portainer and traefik)  --> cluster1 (a worker with whoami)
--> cluster2 (a worker)
--> pgsql (a worker with a pgsql database)
Everything work very well except that.

Cannot really help with reverse proxy configurations, sorry. Will tag as help wanted.

I find the problem : I have to use  command:  -api --docker --docker.swarmmode --docker.watch in the traefik-stack.yml
Thx for your reply


Bug:  Can't update?

Describe the Bug
Can't update from 2.4.0 because of an extraction issue?
To Reproduce
just using the Homebridge update feature, Homebridge and Node are all fully up to date, other plugins work fine.
Expected Behavior
Installing update :-)
Relevant Log Output
'/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/providers/common/include/prov/der_wrap.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/providers/common/include/prov/der_sm2.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/providers/common/include/prov/der_ec.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/progs.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/crypto/bn_conf.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/crypto/dso_conf.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslv.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/ess.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/ocsp.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/srp.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/x509_vfy.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/cms.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/conf.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/x509v3.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/asn1.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/safestack.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/lhash.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/ssl.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/err.h'
gyp ERR! error while extracting tarball TAR_ENTRY_ERROR EACCES: permission denied, open '/Users/siriplex/Library/Caches/node-gyp/18.16.1/include/node/openssl/archs/linux-armv4/asm/include/openssl/crypto.h'

npm ERR!  Please review log for details.
``

### Device and Model

Mac Mini M1

### Node.js Version

18.16.1

### NPM Version

9.7.2

### Homebridge Version

1.6.1

### Homebridge Switchbot Plugin Version

2.4.0

### Homebridge Config UI X Plugin Version

4.50.4

### Operating System

macOS

@jcvignes can you try the latest beta?

v2.8.0 is released


Emit launch events

Rebase of #950 (I don't have permission to push updates there)
squashed #950 to make conflict resolution easier, and fixed a couple small issues, but this works well in my own tests.
Much better feedback when launch fails: in my tests, launch failed because I hadn't set up image push/pull correctly:

And when launch succeeds, you get more incremental feedback about progress:
https://user-images.githubusercontent.com/151929/134658127-c2406be2-a108-4a9f-9502-77fd35e7ae9f.mov
The original PR stripped k8s timestamp/log-level prefixes from messages, but I reverted that to make it simpler. I think if we want to do that, it should be a KubeSpawner option, not something we do in BinderHub.
EDIT by @consideRatio: closes #950.
EDIT by @manics: closes https://github.com/jupyterhub/binderhub/issues/886

The failure is real, and I think it's due to the streaming callback being async, so it isn't guaranteed to have been called when the original request finishes. I need to adjust the waits a little bit to deal with that.
I've no idea why helm always fails and local always succeeds, though.

@minrk the test failure seems real?

Yes, I think I finally figured out why it was failing. I'm happy with it now.

I hope exposing these messages will motivate some work on https://github.com/jupyterhub/kubespawner/issues/524 :)


Allow setting of field locations as lat/lng coords

Until we get a fancy map, allow creation of locations as a passed set of lat/lng coordinates.  Probably using KML format will be useful to start since it can be exported from google earth pro: [lng],[lat],[elev][space] [lng],[lat],[elev].
Goal is to get the data associated with the quote and then project so we can see the locations drawn on a simple map, and mostly so we get the db structure correct and working with complex geometry.
-121.7362572473126,38.53441977139934,0 -121.7355166365403,38.53441178558781,0 -121.7354814725578,38.53455895851263,0 -121.7362224219185,38.53454446823565,0 -121.7362572473126,38.53441977139934,0

fancy map achieved!


Tag the releases and/or produce aggrerate source JAR

We would like to reuse shaclex in the Eclipse Lyo project. Eclipse requires us to let their IP lawyers to review all the source code of the libraries we use and make sure there is no GPLed or copypasted source code.
I usually upload the source jar I get from maven central for the review. The shaclex source jar I got from bintray has only 2 source files, does not include a license file and does not list its dependencies.

Is it possible to build more complete source jars? The closest I came in googling is here: http://www.scala-sbt.org/0.13/docs/Howto-Package.html
Can you please tag https://github.com/labra/shaclex/commit/ad6d3db15379a1a57085403f39f6016b024f0354 as 0.0.62, please?
Can you confirm that if I want to archive only the subset of the repository tree that contains the source that is shipped in the JARs, I should take /src and /modules directories (excluding src/test subdirectories)?

I know you don't really have to help us out with all these license/tagging things, so I just want to thank you in advance for all your effort!

https://github.com/labra/shaclex/commit/0a038e68e43200e9ae50cce6083e2d22ecb814a9 seems to be 0.0.61
https://github.com/labra/shaclex/commit/009d3fc95250918322040d90c732290711445274 seems to be 0.0.60
https://github.com/labra/shaclex/commit/ed0969ad42193b47636e93c9bf7f75f6c3b3c982 seems to be 0.0.57

Thanks for your issue. I would be happy if you can include Shaclex in Eclipse Lyo. The only problem is that I don't know exactly how to do it at this moment.
Answering your questions:

Eclipse requires us to let their IP lawyers to review all the source code of the libraries we use and make sure there is no GPLed or copypasted source code.

Apart of the code that I wrote, the rest of the imported libraries are those that are listed in the build.sbt file:
https://github.com/labra/shaclex/blob/master/build.sbt
The libraries on which Shaclex depends are the following:

"org.antlr" % "antlr4"
"org.atnos" %% "eff" % effVersion
"io.circe" %% "circe-core" % circeVersion
"io.circe" %% "circe-generic" % circeVersion
"io.circe" %% "circe-parser" % circeVersion
"org.typelevel" %% "cats"
"ch.qos.logback" %  "logback-classic"
"com.typesafe.scala-logging" % "scala-logging"
"org.scalactic" %% "scalactic"
"org.scalatest" %% "scalatest"
"org.http4s" %% "http4s-dsl"
"com.typesafe" % "config"
"org.apache.jena" % "jena-arq"
"com.lihaoyi" %% "scalatags"
"org.gnieh" %% "diffson-circe"
"xerces" % "xercesImpl"
"org.jgrapht" % "jgrapht-core"
"com.github.nikita-volkov" % "sext"

I usually upload the source jar I get from maven central for the review. The shaclex source jar I got from bintray has only 2 source files, does not include a license file and does not list its dependencies.

It seems that the packaged file you are looking at is the one that is packaged for the main module called "shaclex" which only contains the "main" method to execute shaclex online. The rest of the functionality is provided by the code in the different modules. Each module has his own folder under the modules folder:
https://github.com/labra/shaclex/tree/master/modules
One possible solution is to just take the source code of each of those modules. It is published in the same bintray with the corresponding name. For example, the code for version 0.0.63 of the shacl module is here:
https://bintray.com/labra/maven/shacl#files/es%2Fweso%2Fshacl_2.12%2F0.0.63

Is it possible to build more complete source jars? The closest I came in googling is here: http://www.scala-sbt.org/0.13/docs/Howto-Package.html

I was looking at it but it doesn't say how to include the sources from the modules. If you know how to do it, let me know.
I understand that what you need is to have a jar with all the source files from all the modules. I know how to create a whole binary jar with all the compiled classes. This is done by the "sbt-native-packager":
http://www.scala-sbt.org/sbt-native-packager/index.html
It seems that there is a universal-src configuration:
http://www.scala-sbt.org/sbt-native-packager/formats/universal.html#configurations
for creating bundles of source.
But I don't know how to use it yet. If you can give it a try, let me know. You can create a Pull request if you want.

Can you please tag ad6d3db as 0.0.62, please?

Done, I have also added tags to the other list that you sent.
One peding thing to do is to automate the process of publishing to bintray and adding a tag so I don't forget in the future.

Can you confirm that if I want to archive only the subset of the repository tree that contains the source that is shipped in the JARs, I should take /src and /modules directories (excluding src/test subdirectories)?

Yes. All the source code of the Shaclex library is contains in the src folder of the root module and in the same folder of all the modules directories.
I will keep this issue open until we are able to generate an aggregated source jar.

I asked the question about generating source jar for multi-module projects to stack overflow


Add branching helper functions to funcs

With all these Sum Types going in, we should probably add some branching helper functions so they do not need to be brought in from other libs.

ifElse : (a -> Boolean) -> (a -> b) -> (a -> b) -> a -> b
when : (a -> Boolean) -> (a -> b) -> a -> b
unless : (a -> Boolean) -> (a -> b) -> a -> b

Each takes a predicate as the first argument, then functions that are executed based on the result of the predicates. Each returns a function ready to take a value and either returns the value passed into the function, or runs it through one of the provided functions returning that result, based on the result of the predicate.
These are super handy for lifting into a Sum type:
const { Nothing, Just } = Maybe

const lift = ifElse(
  x => x === undefined,  Nothing, Just
)

Submitted PR#9 to address this.

Pr is merged...closing this issue, will be in the 0.1.1 release.


Ensure standalone service comes back quickly after ungraceful restarts

Motivation
After an ungraceful restart of Pulsar standalone, it might take few iterations of restart to get the service back up.
This is due to the previous ZK sessions not being "expired".
The main problem is that by having broker & zk combined the 2 behaviors clash:

Broker try to register z-node and finds it there from other session (and restart) — which is correct for a regular broker
ZK server doesn’t have the time to actually expire the session because broker exits immediately

Modifications
In standalone mode, clear the registration z-nodes from the previous processes.

Updated

@merlimat I still don't feel this is a good solution to address this problem because of two reasons. ModularLoadManager can support standalone broker so, no need to add another LoadManager for standalone and also we use standalone mode to test multiple broker node on local-host testing. So, I feel PulsarStandalone could be the right place to add delete znode  logic rather introducing seprate load-manager.

@rdhabalia I believe that having z-node created and deleted in very different parts of the code makes it very hard to figure out how things work. Having the entire logic for the lock and its cleanup within the same class encapsulate the complexity there and anyone reading that class can easily understand the behavior.
Regarding NoopLoadManager: the standalone currently works with ModularLoadManager, but ModularLoadManager was really not designed for standalone. In fact, standalone mode doesn't need a load manager because there are no other brokers. All the features provided by a load manager are not used by standalone (and sometimes they complicate it): load-balancing, getting load reports, tracking rates of bundles, traffic shedding and so on.  All this is, in the best case, it's overhead to the functioning of Pulsar standalone. The NoopLoadManager short circuits all these features. The only piece of code it contains is the z-node registration, since it's needed in lookup logic.

cherry-picked as 113418d in branch-2.1


write_process_memory failed: 0x3E6

As of most recent patch, .exe ran after opening map in an online lobby. Happens both with and without runasadmin.

Fixed in the newest v1.0.2 release for the vol.02 update.


sympy doesn't interpret all strings as variables

Certain strings are not interpreted as variables by sympy. An example for this is the string sum, which is interpreted as python's built-in sum function. This means that pgcl programs with a variable of this name cannot be interpreted correctly.
Commit e753cf744686bb26515b2ac1b2c2e2e9160c3a53 fixes this to some degree. Parameters still cannot have any of these names, and for variables to have such a name, they need to be explicitly defined in the __init__ function of the GF. Also, there are likely more functions in the GF class that have this problem.

Each remaining call to sympy.S should be passes an appropriate locals parameter, similar to __init__

this issue is of minor priority. We are aware of "bad" names for variables but this can easily avoided by a user renaming the program vars.
More important is a stable working version for updates etc. where the user does not have any influence on.


ContentSection not exported from @carbon/ibmdotcom-react

Description
Importing ContentSection is giving the following error message:
Attempted import error: 'ContentSection' is not exported from '@carbon/ibmdotcom-react'.
Currently using @carbon/ibmdotcom-react": "^1.27.0"
Possible cause: The export may be missing from https://github.com/carbon-design-system/carbon-for-ibm-dotcom/blob/a80379a0d39cafa3c0376952151cab0bd9c7e276/packages/react/src/components/index.js
Component(s) impacted
ContentSection
Browser
Firefox
Carbon for IBM.com version
v1.27.0
Severity
Severity 2 = Aspects of design is broken, and impedes users in a significant way, but there is a way to complete their tasks. Affects major functionality, has a workaround.
Application/website
TMF
Package
@carbon/ibmdotcom-react
CodeSandbox example
https://www.ibm.com/standards/carbon/react/?path=/story/components-content-section--default
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

Hi @JOwens818 !
As noted in slack, a workaround would be to import the es module directly:
import ContentSection from '@carbon/ibmdotcom-react/es/components/ContentSection/ContentSection';
This would also be better for your bundler so it won't do as much guess work in the tree shaking side.


Results class convergence testing not correctly testing across thresholds

The IsPerformanceConverged function (line 21) iterates through the ThresholdsDictionary to pull CNEP convergence status from the values, but breaks and returns the results of the first entry in the dictionary. The same is effectively true for TestResultsForConvergence (CNEP convergence) and RemainingIterations (CNEP remaining iterations for the first threshold olny). If the intent is to return true (or expected iterations) when all thresholds are converged, it may be better to set a variable (isConverged  or something) to true, and then iterate through the dictionary setting it to false when any thresholds have not converged, or in the case of iteration count setting the return value equal to EAD iterations remaining, and then overwriting with any performance iteration counts that are > the current max. If the intent is to return convergence or iteration counts for a set threshold, the threshold key should be passed as a parameter to these functions.

good catch. i think there needs to be a if (!converged) return false sort of statement inside the for each loop rather than an if isconverged return isconverged.

I haven't been able to test it unfortunately, i just got the 4.8 .net framework installed yesterday, so to date i've just been sort of reading through the code. I do have it now though and so can build and execute, and this morning put together a very simple test program thingy, so i can create one if we want to do that.

there should already be a test program thingy

https://github.com/HydrologicEngineeringCenter/fda-model/blob/main/fda-model-cmd/Program.cs
or all of the unit tests.

@AlexRyanUSACE - not testing but just reading the code? REALLY good catch. Writing unit tests is on me. @HenryGeorgist I look forward to your feedback on the PR.

@AlexRyanUSACE please take a look at this PR: https://github.com/HydrologicEngineeringCenter/fda-model/pull/192
I have updated the logic and added a test confirming that the logic fits the bill.


Environment functions

Opening files with default apps
Opening URLs in the default browser

Can I work on this issue.

Ok, thanks.

Can I work on this issue.

It seems like you aren't active at the moment (at least I don't see your fork of LibOS). Are you sure, you are willing to participate?


Organizing Timelines & Triggers

Hello, do you think it would be possible to organize the timelines & triggers in sub-folder ?
Like, now it's
triggers/a11s.js
triggers/a12s.js
triggers/byakko-ex.js
triggers/cape_westwind.js

and there are tons of files but wouldn't it be easier to find a fight with subfolder ?
triggers/eden/e1s.js
triggers/omega/o1s.js
triggers/SB_extremes/byakko-ex.js
triggers/SB_raids/royal_city_of_rabanastre.js

Yeah, it's definitely gotten to the point where this is overwhelming.  I was going to add the last couple of dungeons and then rearrange everything.
I'm thinking a top level set of directories like 02-arr,03-hw,04-sb,05-shb sort of thing to indicate what expansion it's from, and then underneath each doing trial, dungeon, raid, alliance.  How does that sound?

Yes sounds good, something like that ?
02-arr/raid/
02-arr/alliance/
02-arr/dungeons/
02-arr/trials/


community: Added memory to OpenAPI planner and allowed optional endpoint parameters

Description:
Dear LangChain team.
Thanks for your fantastic framework. LangChain enables us to build innovative LLM applications. While utilizing OpenAPI toolkit from the LangChain community package, I encountered a limitation with the OpenAPI planner agent: it cannot retain information about previous user queries and responses. If users want to add a constraint or requirement to their previous query, they must restate a new query instead of simply mentioning the new condition. I believe the latter approach is more natural and closer to real-world conversations.
For example, let's say I'm searching for laptop products from Klarna, and I initially ask: Please list 5 laptops in US for me. Without memory, if I want to add a price constraint, I will need to repeat my initial query and specify the price range: Please list 5 laptops with a maximum price of $500 in US for me. However, with memory functionality, I can just continue the conversation by asking: Please search again with a maximum price of $500.
This pull request made the following changes:

Added a {history} section to the OpenAPI planner prompts to store chat history.
If the shared_memory parameter is assigned to create_openapi_agent:

The provided memory object is passed to the root agent of OpenAPI planner to store the chat history with the user.
A read-only memory, wrapped from the given memory, is passed to the planner and controller to ensure the chat history remains unchanged during the planning progress.

Introduced include_optional_params as an optional parameter of reduce_openapi_spec with a default value of False. When set to True, optional parameters of OpenAPI endpoints are included in the generated API documentation, allowing LLMs to leverage optional endpoint parameters.
Added an example showcasing the interaction with memory-enabled OpenAPI planner to the existing OpenAPI toolkit example: docs/docs/integrations/toolkits/openapi.ipynb

Issue:
None
Dependencies:
None
Twitter handle:
None

Rebased onto the latest master branch (head at 8f019e91d7206c830f6a32678a9d4497b12c66ec).

@baskaryan I looked through the code and it lgtm, but I'm not 100% because there were a decent amount of changes - you might also have comments on the doc changes


Minor phrasing tweaks to about page.

Closes https://github.com/themotte/qcvault/issues/31 I guess.


[IVANCHUK] Query current/starting miq_workers, bypassing cache/stale objects

NOTE, this is an ivanchuk and older only fix.  Master is not affected, see below.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1781202
If the server deletes the row in the prior loops call to this method because the
worker exceeded memory, the subsequent call to post_message_for_workers could fail
with "can't modify frozen Hash" when trying to update the worker's heartbeat.
Incidentally fixed on master in commit:
https://github.com/ManageIQ/manageiq/commit/e6cbfa8b4625147741919c723eacac540f056099

@Fryguy are ok with this change?  The change on master will need to be a little different as it's not vulnerable to the same bug.

@simaishi this should be ready to go and is ivanchuk and older only so you can merge when ready for backport.  There won't be a master fix for this since it was rewritten recently and incidentally fixed the underlying problem.

Hammer backport details:
$ git log -1
commit 8da6f7b46b3c5d73082dbaa9389b787642b33597
Author: Satoe Imaishi<EMAIL_ADDRESS>Date:   Mon Jan 6 15:56:31 2020 -0500

    Merge pull request #19638 from jrafanie/fix_frozen_hash_updating_worker

    [IVANCHUK] Query current/starting miq_workers, bypassing cache/stale objects

    (cherry picked from commit 06d8ef03af7f5fec914b7dc0933adb8e627d4dc7)

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1788289


Permissions data could not be loaded issue

When I try to join my server it gives an error saying "Permissions data could not be loaded please try again later" how do I fix? My server is online using the newest version of spongeforge.

Duplicate of #899


Incorrect usage of verifyNew passes as a green test

From<EMAIL_ADDRESS>on April 01, 2010 13:38:17
hi there,
i tried searching for something similar but couldn't find anything, so here
goes nothing: What steps will reproduce the problem? 1. create a class DirectoryStructure that uses the class File
2. create DirectoryStructureTest that verifies the call to File's constructor
3. do not specify .withArguments(DIRECTORY_PATH) to the
verifyNew(File.class, times(100000)) method What is the expected output? What do you see instead? - the test passes, whereas it should throw some kind of exception to notify
that verifyNew is incorrectly used like mockito does What version of the product are you using? On what operating system? - Power Mockito 1.3.6 Full

Windows Xp Please provide any additional information below. - mockito has such a system. you can see what i mean if you remove the
.mkdirs() from  verify(directoryMock).mkdirs() in DirectoryStructureTest @
line 39

have a good day,
C
Attachment: DirectoryStructure.java DirectoryStructureTest.java
Original issue: http://code.google.com/p/powermock/issues/detail?id=251

From<EMAIL_ADDRESS>on April 05, 2010 23:47:14
Thanks for reporting this and thanks for a great description of the problem as well as
the examples.
Note: The last verifyNew (verifyNew(File.class, times(1000))) should be
verifyNew(File.class, times(1000)).withArguments(DIRECTORY_PATH);
Status: Accepted
Labels: Milestone-Release1.4

From<EMAIL_ADDRESS>on April 06, 2010 06:43:52
hi,
sure, no problem, i thought they'd be easier to follow, since you originally wrote
them. so the credits for the examples are yours because i only adapted them a bit,
nothing more.
p.s. would it be ok with you if i used your article
( http://blog.jayway.com/2009/10/28/untestable-code-with-mockito-and-powermock/ ) in a
presentation for my colleagues on power mockito?
thanks and cheers,
C

From<EMAIL_ADDRESS>on April 07, 2010 12:13:44
Sure why not :)

From<EMAIL_ADDRESS>on April 12, 2010 00:35:33
Fixed in r1292
Status: Fixed


Doesn't work well with React.js projects

Related to #182. Codo doesn't work well with React projects.
Example One
Source Code
'use strict'

React = require('react')

###
This is an example component.

@example Simple usage
  <ExampleComponent className="test" />

@param [String] className Classes to be applied to the component.
###
ExampleComponent = React.createClass
  displayName: 'ExampleComponent'

  render: ->
    React.DOM.div({}, 'example')

module.exports = ExampleComponent

Result

This would be the preferred way to define documentation, however this (as probably expected) results in only the file being listed in the tree with the above documentation generated.
I did however find a slight workaround to get some form of documentation working.
Example Two
Source Code
'use strict'

React = require('react')

ExampleComponent = React.createClass
  displayName: 'ExampleComponent'

  render: ->
    React.DOM.div({}, 'example')

###
This is an example component.

@example Simple usage
  <ExampleComponent className="test" />

@param [String] className Classes to be applied to the component.
###
module.exports = ExampleComponent

Result

Obviously not ideal, but at least there's some output.
Suggestion
In addition to fixing the bug with no output on React.createClass and the issues around CommonJS exports, I think it would be great to be able to manually specify a class in a block of documentation without any relationship to actual code using something like a @class tag in the following form:
###
@class ExampleComponent

This is an example component.

@example Simple usage
  <ExampleComponent className="test" />

@param [String] className Classes to be applied to the component.
###

And then have that class name be picked up, listed in the Classes list.

I've had some success using the mixin flag and moving the React.createClass to the exports. It's far from perfect but does mean we get some docs.
# Example Component
#
# @mixin
#
ExampleComponent =

  # --------------------------------------------
  # Defaults
  # --------------------------------------------

  propTypes: {}
  mixins: []

  # --------------------------------------------
  # Getters & Checkers - get/has/can/is
  # --------------------------------------------

  getInitialState: ->
  getDefaultProps: ->

  # --------------------------------------------
  # Lifecycle Methods
  # --------------------------------------------

  componentWillMount: ->          # add event listeners (Flux Store, WebSocket, document)
  componentWillReceiveProps: ->   # change state based on props change
  componentDidMount: ->           # data request (XHR)
  componentWillUnmount: ->        # remove event listeners

  # --------------------------------------------
  # Private methods
  # --------------------------------------------

  # Parse server data for hydration
  #
  # @param [Object] data Data from server
  #
  _parseData: (data)->

  # --------------------------------------------
  # Event handlers
  # --------------------------------------------

  # Handle click from Clicker
  #
  # @param [Object] e Synthetic click event
  #
  _handleClick: (e)->

  # --------------------------------------------
  # Render methods
  # --------------------------------------------

  render: ->

module.exports =  React.createClass(ExampleComponent)