* Update 'implements' blocks to use new syntax
* Add InterfaceSyntax test case
* Add InterfaceMultipleMethodDeclsError test case
* Add InterfaceDifferentNumArgsError test case
changelog_begin
changelog_end
This is needed so shared libraries are properly resolved and this
actually works outside of our build. Same issue that broke
damlc_legacy originally and we had someone trying to use cpp on their
own project (whether they should is another question but having it
half working is even worse).
I don’t know how to write a test for this unfortunately. It would only
fail if our nix store is not available which is pretty hard to
simulate. I could spin up a docker image or something but that doesn’t
seem worth the trouble.
fixes#13100
changelog_begin
changelog_end
* Improve docs of auth middleware and trigger service
changelog_begin
changelog_end
Fix#13049Fix#13048
Several improvements to the documentation for these two services. The main aim was
to add, where needed, references to the new user management service. Ultimately,
only the auth middleware really needed to add a note about it, since to the trigger
service this is (so far) completely transparent.
For the rest, I took advantage of the chance to polish the docs a bit and make a few
improvements (that I will describe more in depth in a self-review).
* Prevent copy-pasting drama.
Thanks @S11001001
Co-authored-by: Stephen Compall <stephen.compall@daml.com>
* Address https://github.com/digital-asset/daml/pull/13111#discussion_r816967559
* Address https://github.com/digital-asset/daml/pull/13111#discussion_r816970609
* Address https://github.com/digital-asset/daml/pull/13111#discussion_r816973727
Co-authored-by: Stephen Compall <stephen.compall@daml.com>
* LF Spec: Add interface expressions
This PR adds type rules and operational semantics for interface
expressions (including updates). The only thing I haven't added yet is
the operational semantics for exercise interface, and the operational
semantics for interface preconditions.
changelog_begin
changelog_end
* typo
* spurious duplicate
* minor edits
* review suggestions
* WIP
* First version that compiles (with debug print statements)
* Revert changes on the failure tests
* Make all tests pass with some major cleanup of the new code
* Remove debug prints & outcommented code
* Make decoding / encoding test also compatible with user token tests
changelog_begin
changelog_end
* Minimize diff
* Fix oracle tests
* leave note for followup
* Update ledger-service/http-json/src/itlib/scala/http/AbstractHttpServiceIntegrationTest.scala
Co-authored-by: Stephen Compall <stephen.compall@daml.com>
Co-authored-by: Stephen Compall <stephen.compall@daml.com>
* Prevent iface choice & method name collisions.
This PR adds interface choices and methods to the name collision checker.
changelog_begin
changelog_end
* check the names from interfaces
* add error
* implement name collision check in scala side
* scalafmt
* Add test for multiple ensure declarations in interface
* update ghc patch
* Update expected result for daml-doc interface test
changelog_begin
changelog_end
I have to admit I still fdon’t fully understand why this sometimes
fails and sometimes doesn’t. It looks like some caching issue is
involved (e.g. currently builds in /d/a/2 succeed while builds in
/d/a/1 succed) but I’m not entirely sure that’s all.
This PR tries to address this in two ways:
1. Add the library when linking the Haskell bits instead of only on
the C library. I think this is required since we the final Haskell
binary is linked against the static cbits which does not carry a
reference to bcrypt but I’m not completely sure.
2. Rename the target to avoid interference with builds from before the
grpc upgrade. I suspect what is happening is that due to the lack of
sandboxing we sometimes end up picking up that library if it is in the
build tree from an older build instead of the new one.
changelog_begin
changelog_end
In SandboxFixture when mixing in the auth middleware fixture, set
up the ledger client with a user token instead of a claims token
when not running in the claims-token-specific auth tests.
Fixes#12831.
* note about inClaims
* prevent Product, Serializable warts with AuthServiceJWTPayload
CHANGELOG_BEGIN
CHANGELOG_END
* interfaces:ensure that implementations are ordered
We make sure that the implementations are ordered by insertion in the
Scala AST. This is important to guarantee an evaluation order of the
interface preconditions that is determined by the order of interface
implementations of a template.
CHANGELOG_BEGIN
CHANGELOG_END
* use VectorMap instead of ListMap
* Adding a link to Daml Intro
Adding a link to Daml Intro for Canton to link to. Canton changes being made to link to this in the same docs, rather than the external links.
* Blank commit
CHANGELOG_BEGIN
CHANGELOG_END
* Fix GSG to account for login requirement
You can only follow a user after they logged in so the previous order
did no longer work.
changelog_begin
changelog_end
* Update docs/source/getting-started/index.rst
Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
* Update docs/source/getting-started/index.rst
Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
* Update docs/source/getting-started/index.rst
Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
* fix borked sentence
changelog_begin
changelog_end
* Update docs/source/getting-started/index.rst
Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
* Update docs/source/getting-started/index.rst
Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
Co-authored-by: carrielaben-da <91496516+carrielaben-da@users.noreply.github.com>
Apparently https://github.com/digital-asset/daml/pull/13066 resulted
in linker errors but only on clean builds (I think). I don’t fully
understand why. The requirement from bcrypt seems to come from the
grpc upgrade but reverting that still leaves undefined symbol errors
to DbgHelp. Don’t really care enough to track it down given that this
fixes it.
changelog_begin
changelog_end
Duplicates the trigger service's auth tests for the two modes of
the oauth test server from #12929, then selects out the
claim-token-dependent tests as explained in
https://github.com/digital-asset/daml/issues/12831#issuecomment-1048176312
Part of #12831.
* also suppress claims-only tests in oracle-with-oauth2-test
* use inClaims for several tests
CHANGELOG_BEGIN
CHANGELOG_END
* Add interfaces to LF spec.
Part of #11349. This PR adds the interface & implements declarations, deals with "requires", and name collisions. I'm leaving expression types and operational semantics to a future PR.
changelog_begin
changelog_end
* missing curly
* change T to I for interfaces
* revisions from Remy
The previous way of tracking this only worked for direct children of
rollback nodes but lost the information when there was an exercise
node in between.
Reported in https://discuss.daml.com/t/exception-rollback/4000
changelog_begin
- [Daml Studio] Fix a bug where contracts that have been rolled back
would still show up as active in the table view and in the list of
active contracts at the end of the transaction view. This only
affected display. Fetching those contracts failed and `query` also
did not return those contracts.
changelog_end
* Update app-architecture.rst
Second-iteration changes to the App Architecture page, addressing User Management and the Alias contract.
[CHANGELOG_BEGIN]
[CHANGELOG_END]
* Update app-architecture - edits - 1
Which/ how many additional details about the public party do you want to include here? Or as another option, should it be explained in-depth elsewhere?
[CHANGELOG_BEGIN]
[CHANGELOG_END]
* Update docs/source/getting-started/app-architecture.rst
Adding Moritz's suggested changes
[CHANGELOG_BEGIN]
[CHANGELOG_END]
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
* Update docs/source/getting-started/app-architecture.rst
Changed to Moritz's suggested wording.
[CHANGELOG_BEGIN]
[CHANGELOG_END]
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
* Update docs/source/getting-started/app-architecture.rst
Adding Moritz's suggestion w/link.
[CHANGELOG_BEGIN]
[CHANGELOG_END]
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
Co-authored-by: carrie-laben <91496516+carrie-laben@users.noreply.github.com>
Co-authored-by: Moritz Kiefer <moritz.kiefer@purelyfunctional.org>
* Include orphan instance imports in buildLfPackageGraph
* Add failing test for cross-DAML-LF version data-deps with stdlib orphan instances
* Add failing test for cross-DAML-LF version data-deps with custom orphan instance
changelog_begin
changelog_end
* Moving the 'testing your web app' page to the GSG
CHANGELOG_BEGIN
CHANGELOG_END
Moving the 'testing your web app' page to the GSG
* Updating paths after moving the file
Updating paths after moving the file
* Adding the testing page to the pdf file too.
* Adding a link to the user management description
CHANGELOG_BEGIN
CHANGELOG_END
Adding a link to the user management description
* fixing link in first-feature linking to the moved page
fixing link in first-feature linking to the moved page
* Updating a link to the testing file
Updating a link to the testing file
The trick is extremely simple actually, see the comment for details.
Pretty embarassed that it took me this long to figure it out but
better late than never I guess.
I also upgraded grpc to match our java version and dropped the comment
to keep it in sync with the nix version which we hopefully never need
now. Not strictly required but seemed nice to do at the same time.
changelog_begin
changelog_end
The sphinx update switched to an html 5 writer by default which broke
a bunch of our CSS which I unfortunately missed. While that is
definitely fixable, a few days before our 2.0 release this doesn’t
seem sensible to focus on so for now let’s force the html4 writer.
changelog_begin
changelog_end
However that happened, we were stuck with Nix 2.3.15 (or 2.3.16 in some
cases) on our macOS nodes. This PR is a minor edition to the Nix
initialization commands to switch from 2.4 to "latest", but I wil lalso
use it to record the changes I just did manually to the cluster.
The cluster is currently composed of two parts:
- 7 machines running Catalina (10.15.7).
- 1 machine running Monterey (12.2).
Unfortunately they use different setup. The Catalina ones are described
by the state of the repo (in theory, though keeping them in sync is
manual); in order to update those, I have:
1. Taken one node off the CI pool (`builder1epjj7`).
2. On that node, run the following commands:
```
cd ~/daml/infra/macos/3-running-box
vagrant destroy -f
rm ~/images/*
vagrant box remove macinbox
vagrant box remove azure-ci-node
rm -r ~/.vagrant.d/boxes/macinbox-06032020.tar.gz
softwareupdate -d --fetch-full-installer --full-installer-version 10.15.7
cd ~/daml/infra/macos/1-create-box
sudo macinbox --box-format vmware_desktop --disk 250 --memory 32768 --cpu 10 --user-script user-script.sh
cd ../2-common-box
vagrant up
vagrant package --output ~/images/initialized-$(date +%Y%m%d).box
vagrant destroy -f
cd
./run-agent.sh
```
This leaves us with that node running an updated box. The new box is
in `~/images/initialized-$(date)`.
3. Send that file to all the other nodes with `scp`.
4. Reboot all the nodes (after deactivating & waiting for jobs to
finish).
For the Monterey node, images (steps 1 and 2 in this repo) are currently
created by @nycnewman on another machine I don't have access to, so I
took a slightly different approach: I took the existing image, started
it from the `3-running-box` folder as usual, manually updated Nix there,
then repackaged that.
CHANGELOG_BEGIN
CHANGELOG_END