Accessing MediaNavigator outside AudioReaderFragment

Hi everybody.
I replicated the testapp architecture in order to add audiobooks to the e-reader app I'm currently working on. Right now, in my repo I have a LiveData for the book list that's taken directly from the db and I'm observing its changes in my LibraryFragment, in order to update the list of available publications. The problem with audiobooks is that when the playback continues in background after leaving the AudioReaderFragment, since the service constantly saves the new progression inside the db, the observer awakes and the list is reload from memory, causing the recycler view to flicker continuously.
Therefore, I'd need a way to detect when the user stops the playback of a book while being outside the AudioReaderFragment (i.e. when the user presses the "stop" button of the ExoPlayer notification while being in the LibraryFragment, for example), in order to "disable" the observer while the playback is going on and "enable" it again when the playback is stopped.
The smoothest way would be observing the playback property of the MediaNavigator but I don't know how to access it once I leave the AudioReaderFragment (where I connect to the service and start the playback). I also tried to analyze the code in order to find a callback that could help me but, after putting a log inside every MediaService and MediaPlayer.Listener callback, I saw that the only one that's never called (even when I tap on the stop button) is onPlayerStopped(), which is also the one that could be right for my situation. Is it correct that's never called? What other strategies could I follow in this situation?
Thanks in advance for your help.

To answer directly to your question: How to access the currently playing MediaNavigator? You need to first connect to the MediaService using your app subclass (AudiobookService in the test app). For example:
val mediaService = MediaService.connect(AudiobookService::class.java)
val mediaNavigator = mediaService.currentNavigator

But IMO, the proper way to address the flickering problem is to only update your views when properties that are visible to the user change, not when any property of the database entity changes. This can be handled either by:

Querying only a subset of your entity's columns with Room, the ones that are actually displayed.
Comparing only the properties that influence the view in your DiffUtil.ItemCallback implementation.

In the Test App we are doing number 2 for simplicity, but in a real app I would do 1.


Group buttons don't update group state on the server

Hitting the group buttons only sends out POST requests for the lights underneath it; one for the group is needed as well.
This wasn't implemented by https://github.com/rettigs/cs-senior-capstone/pull/51, but should have been.

Fixed by fd6edc72dd9f098cc96fe8dc8269a0261e2a64c1


@Giuseppe Innocenti

How can we get in contact friend?

@kookoorikoo how can I help?

Would like to ask @Giuseppe Innocenti for help with deck of cards

I'm sorry - deck of cards? How is this related to API Versioning?

Sorry...not related....but I haven't found any other way to contact Giuseppe Innocenti

I wish I could help, but I don't know who @ginnocenti is nor how to contact them.

This doesn't appear to be a relevant issue, but I hope you find your friend. Best wishes.


Search with "@" in the URL

I've tried to search for an E-Mail Address in RESTfm:
http://my-internal-restfm.lan/RESTfm/restfm_example/layout/us500/.json?RFMmax=1&RFMsF1=email&RFMsV1=vinouye%40aol.com
This fails with 401 - No records match the request.
While this works:
http://my-internal-restfm.lan/RESTfm/restfm_example/layout/us500/.html?RFMmax=1&RFMsF1=email&RFMsV1=vinouye*
Thanks for looking into this.
Rene

Rene,
This isn't the place for support, it's for technical issues with the PHP code.
But @ and . are special symbols in a FileMaker find, so you need to escape them.  Easiest way to see this is to right click on a field in an existing system that has an email address in it, and do find matching.  Then do a Modify Last Find.  You end up with \ before the @ and . so that's what you'd need to do in your criteria too.
For more support please go here : http://restfm.com/purchase
Thanks,
Nick

Thanks, it wasn't clear for me that this is no technical issue but a usage issue.
I'll switch from https://github.com/mariaebene/py-restfmclient to a rewrite version of https://github.com/massmutual/py4jdbc - rewrite for async/await in python.


Support payloadRetentionPeriod for messages

This PR enables support for the payloadRetentionPeriod field as described in the Svix API docs. Requests to create a message can include the field payloadRetentionPeriod as an integer [5, 90] to indicate the number of days a message's payload data should be persisted (default: 90 days).
The PR also includes a worker that removes payload data for messages that are past their retention time.
TODO:

Testing
Determine strategy for existing messages

How do we want to handle existing messages, give them expirations that are 90 days from their created_at timestamps?


I'm wondering if this great component supports to sync with parse-server?

I hope it's possible to sync data of pouchdb with parse-server that's the bundle of restful apis. Or should I make an adapter? Any idea would be appreciated.

I do not have experience with "parse-server". I personally do not use the direct Sync of PouchDB, I have a small node service in between handling the changes / user rights etc; reading the changes from pochdb-node + filter + geo logic.
In general the component should sync to PouchDB / CouchDB Http interfaces. If you need an PouchDB adapter for "parse-server" Properly you need to write one.
I Started with the leveldbCode adapter form PouchDb and started developing from there. People at PouchDb are nice and will help if you ask for.

Take a look at https://github.com/ParsePlatform/parse-server/wiki/Parse-LiveQuery from parse-server side and https://pouchdb.com/guides/changes.html from pouchdb side.

Thanks a lot! I think it's necessary to sync db by manual way to save changed data by change api. And I'm wondering how can I get changed data without any config for remote api?


How to configure MSSQL Destination with Windows Authentication

Slack thread: https://dlthub-community.slack.com/archives/C04DQA7JJN6/p1708385038548849
Issue
The current documentation does not clearly specify how to configure an MSSQL destination using Windows Authentication. I am unsure about the correct format for the connection string to bypass SQL login credentials.
Request
Could you provide detailed guidance or update the documentation on setting up an MSSQL destination with Windows Authentication?
Thank you for your help!

PR created: https://github.com/dlt-hub/dlt/pull/1251


TypeScript errors when including a nested state machine from a factory function

Description
I am trying to use a nested state machine from a factory function but TypeScript is does not seem to like that and is returning an error.
This is the factory that constructs the config for the generic FetchMachine.
export function fetchMachineFactory(serviceName: string) {
  return {
    initial: "loading",
    states: {
      loading: {
        invoke: {
          src: serviceName,
          onError: "failed",
          onDone: "done"
        }
      },
      failed: {
        on: {
          RETRY: "loading"
        }
      },
      done: {
        type: "final"
      }
    }
  };
}

It is then embedded in an existing machine like this:
type Context = { id: number };
type Events = { type: "SIGN_IN" } | { type: "RETRY" };

const a = Machine<Context, Events>({
  initial: "signIn",
  states: {
    signIn: {
      invoke: {
        src: "signIn",
        onDone: "fetchTrack",
        onError: "needsSignIn"
      }
    },
    fetchTrack: {
      ...fetchMachineFactory("someService"),
      onDone: "finished"
    },
    needsSignIn: {
      on: {
        SIGN_IN: "signIn"
      }
    },
    finished: {
      type: "final",
      activities: "finished"
    }
  }
});

Expected Result
No TypeScript error
Actual Result
The following TypeScript error:
Type '{ signIn: { invoke: { src: string; onDone: string; onError: string; }; }; fetchTrack: { onDone: string; initial: string; states: { loading: { invoke: { src: string; onError: string; onDone: string; }; }; failed: { ...; }; done: { ...; }; }; }; needsSignIn: { ...; }; finished: { ...; }; }' is not assignable to type 'StatesConfig<Context, any, Events>'.
  Property 'fetchTrack' is incompatible with index signature.
    Type '{ onDone: string; initial: string; states: { loading: { invoke: { src: string; onError: string; onDone: string; }; }; failed: { on: { RETRY: string; }; }; done: { type: string; }; }; }' is not assignable to type 'StateNodeConfig<Context, any, Events>'.
      Types of property 'states' are incompatible.
        Type '{ loading: { invoke: { src: string; onError: string; onDone: string; }; }; failed: { on: { RETRY: string; }; }; done: { type: string; }; }' is not assignable to type 'StatesConfig<Context, any, Events>'.
          Property 'done' is incompatible with index signature.
            Type '{ type: string; }' is not assignable to type 'StateNodeConfig<Context, any, Events>'.
              Types of property 'type' are incompatible.
                Type 'string' is not assignable to type '"final" | "atomic" | "compound" | "parallel" | "history" | undefined'.ts(2322)
types.d.ts(267, 5): The expected type comes from property 'states' which is declared here on type 'MachineConfig<Context, any, Events>'

Reproduction
I prepared a CodeSandBox to reproduce the error: https://codesandbox.io/s/happy-fog-uw3rvd-uw3rv
a-machine.ts is the machine with the TypeScript error
b-machine.ts is the same machine, only that I directly embedded the FetchMachine instead of spreading the result of the factory function.
c-machine.ts uses the factory function but the return type is cast to ...(fetchMachineFactory("someService") as StateNodeConfig<any, any, any>) which seems to work but we were losing types along the way in our project if we used this.
Additional context
XState version: 4.7.6
Do you have a tip on how to better type the return type of the factory function?

Could this possibly be related to why the example in https://github.com/davidkpiano/xstate/tree/master/packages/xstate-react#configuring-machines- no longer compiles with TypeScript 3.7.5 (current as of now)? I couldn't resolve the error by adding as const to any strings.
The error is absolutely inscrutable, apologies for deciding to include it:
index.ts:43:3 - error TS2769: No overload matches this call.
  Overload 1 of 2, '(config: MachineConfig<{ data: undefined; error: undefined; }, any, AnyEventObject>, options?: Partial<MachineOptions<{ data: undefined; error: undefined; }, AnyEventObject>> | undefined, initialContext?: { ...; } | undefined): StateMachine<...>', gave the following error.
    Type '{ idle: { on: { FETCH: string; }; }; loading: { invoke: { src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<...>; }; }; }; success: { ...; }; failure: { ...; }; }' is not assignable to type 'StatesConfig<{ data: undefined; error: undefined; }, any, AnyEventObject>'.
      Property 'loading' is incompatible with index signature.
        Type '{ invoke: { src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; }; }' is not assignable to type 'StateNodeConfig<{ data: undefined; error: undefined; }, any, AnyEventObject>'.
          Types of property 'invoke' are incompatible.
            Type '{ src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; }' is not assignable to type 'StateMachine<any, any, any, any> | { id?: string | undefined; src: string | StateMachine<any, any, any, any> | InvokeCreator<{ data: undefined; error: undefined; }, AnyEventObject, any>; ... 4 more ...; onError?: string | ... 2 more ... | undefined; } | InvokeConfig<...>[] | undefined'.
              Type '{ src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; }' is not assignable to type 'undefined'.
  Overload 2 of 2, '(config: MachineConfig<{ data: undefined; error: undefined; }, any, AnyEventObject>, options?: Partial<MachineOptions<{ data: undefined; error: undefined; }, AnyEventObject>> | undefined, initialContext?: { ...; } | undefined): StateMachine<...>', gave the following error.
    Type '{ idle: { on: { FETCH: string; }; }; loading: { invoke: { src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<...>; }; }; }; success: { ...; }; failure: { ...; }; }' is not assignable to type 'StatesConfig<{ data: undefined; error: undefined; }, any, AnyEventObject>'.
      Property 'loading' is incompatible with index signature.
        Type '{ invoke: { src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; }; }' is not assignable to type 'StateNodeConfig<{ data: undefined; error: undefined; }, any, AnyEventObject>'.
          Types of property 'invoke' are incompatible.
            Type '{ src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; }' is not assignable to type 'StateMachine<any, any, any, any> | { id?: string | undefined; src: string | StateMachine<any, any, any, any> | InvokeCreator<{ data: undefined; error: undefined; }, AnyEventObject, any>; ... 4 more ...; onError?: string | ... 2 more ... | undefined; } | InvokeConfig<...>[] | undefined'.
              Type '{ src: string; onDone: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; onError: { target: string; actions: AssignAction<unknown, DoneInvokeEvent<any>>; }; }' is not assignable to type 'undefined'.

@fasiha Can you put that in a CodeSandbox and open a separate issue for it? Thanks!


convert to called genotypes

Hi,
Sorry for all the feature requests, I'm working a lot with BGEN files and would love to move all of my preprocessing to Julia if possible.
In SnpArrays, there is the possibility to convert the snp array to genotypes and I was wondering if it could be possible to have the same function here using the probabilities contained in the BGEN file, possibly with a "calling" threshold.
Cheers,
Olivier

Sure, we can do that. One thing is that it will not be much faster than you writing a function for that yourself. BGEN format has variant-by-variant compression, and the computational bottleneck is the decompression for each variant.

I need clarification here--are you working on phased data or unphased data? If unphased data, isn't it natural to store a dosage matrix rather than doing genotype calling?

My goal eventually would be to convert any probability array returned by probabilities! to a CategoricalVector (or similar if you don't want to depend on CategoricalArrays) of genotypes given a calling threshold. This would be for both phased and unphased data as I'd like to support both in my project.

I'm sorry for not getting back to you earlier. Are you planning to limit the use of it for human data (biallelic, diploid)? If so, it should be relatively simple than what I initially imagined.
I might use some ideas like this:
https://www.cog-genomics.org/plink/2.0/input#dosage_import_settings

Sorry, I missed that. Yes at the moment my project is limited to human data!

Check out v0.1.14.


DefaultPIDSystem

Hi have implemented "DefaultPIDSystem" in the current implementation I am not using the "PIDSystem" configuration options yet

Coverage increased (+0.2%) to 89.46% when pulling 38da474505076d9f5c3d34821c9225a5c41e9532 on rajaram5:develop into 4f13d2ce277c05dceb6009f126aa07ded3cf716c on DTL-FAIRData:develop.


[Blazor] Data binding - "Expressions" - alternative intro proposal

@guardrex
Feel free to reject this, just trying to propose an alternative intro to the ValueExpression aspect.

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/components/data-binding.md
ASP.NET Core Blazor data binding

That's better ... see if my edits further assist the passage. For one thing, I made it use "field or property" throughout.

👍 lgtm


Polish website

As part of the 1.0 launch, we should polish https://hyper.rs. The repo to do so is in https://github.com/hyperium/hyperium.github.io.
This is a list of things I came up with, many can likely be broken out into separate issues so they are smaller chunks of work.

[ ] home page

[ ] update with charter
[ ] double-block of a summary
[ ] 6 blocks for tenets
[ ] user logos
[ ] last blog post

[ ] navigation

[ ] guides
[ ] examples
[ ] dev/contrib
[ ] blog
[ ] icons on right?

[ ] github
[ ] discord
[ ] twitter

[ ] fix collapse on mobile

[ ] guides

[ ] #3083
[ ] #3098
[ ] add new hyper-specific guides?
[ ] add tower section to guides

[ ] #3099
[ ] #3100
[ ] blog

[ ] add blog index page
[ ] add blog list on left (when viewing post)

Would you like to make a website like tokio.rs?
Obviously, if you want to implement these features, jekyll, mdbook and other tools are not flexible enough, while the front-end technology stack is more convenient to customize the theme or add more features. If you are interested I can help with this

No, I don't think there is need to change the stack, at least yet.


Hide scrollbar when not scrolling

Is this user-friendly?

Closing, as it is likely to be detrimental to user experience.


put quotes around json in markdown sections so it renders properly

In the Script Analysis Examples\Dataspace Analysis\DataSpace_Default_Analysis.ipynb, there was a json example in the .md sections that wasn't properly quoted. This PR adds quotes so that it renders properly in the notebooks.

@vignesh-ni FYI on this change if you want to double check.


Issue #686 - Removes excludes of PMD

Issue #686. After upgrade to qulice 0.16.4 we have to fix AvoidDuplicateLiterals PMD warings in several classes. This PR do the following changes:

Removes PMD exclusions from pom.xml.
Fix the PMD warnings in several classes that are removed from PMD exclusions.
Three new puzzles were created.

@davvd Please, find someone to review.

@pinaf Thanks for your review. Could you check if is better now?

@pinaf Thanks again. Please, could you check if everything is right now?

@dalifreire just 3 more and we are done

@rultor merge

@rultor merge

@pinaf Thanks for your request. @yegor256 Please confirm this.

@yegor256 ping...

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 33min)

@davvd Please, proceed

@elenavolokhova please, check this issue for QA compliance, as per par.24

@rultor deploy pls

@rultor deploy pls

@davvd OK, I'll try to deploy now. You can check the progress here

@davvd  Looks good!

@davvd  Looks good!

@elenavolokhova thanks, got it, great to see high-quality tickets here

@pinaf just added 10 mins to @elenavolokhova (for QA), payment ID is 91825740
Many thanks! 1 hour and 10 mins were added to your account in Transaction ID AP-25A13869HX7259925 (task took 265 hours and 24 mins)
review comments (c=55) added as a bonus
+70 added to your rating, current score is: +791


Delete obsolete longtexts on pull

Longtexts that exist in the system but not in the remote repository are deleted when pulling.
Closes #5202

be careful here, needs some testing

Thanks for the test


Newer release available com_github_gabime_spdlog: v1.9.2 (current: v1.7.0)

Package Name<EMAIL_ADDRESS>Current Version: v1.7.0@2020-07-09
Available Version: v1.9.2@2021-08-12
Upstream releases: https://github.com/gabime/spdlog/releases

New version is available for this package
New Version: v1.10.0@2022-04-04
Upstream releases: https://github.com/gabime/spdlog/releases
New Issue Link: https://github.com/phlax/envoy/issues/108


Offline Message from Maryann Martone: I'm looking for all the reference links

This Github issue is synchronized with Zendesk:
Ticket ID: #25161
Group: Support
Requester<EMAIL_ADDRESS>Issue escalated by: SciCrunch
URL:
Original ticket description:

From: Maryann Martone<EMAIL_ADDRESS>Phone:
Location: La Jolla, United States
URL: https://scicrunch.org/scicrunch/interlex/view/ilx_0102364?searchTerm=Colliculus%20Inferior%20GABAergic%20Principal
Department:
I'm looking for all the reference links that were in NIF Neuron but I don't see them.  I hope they were imported.
----
Zopim
https://www.zopim.com

@memartone We have them, but InterLex does not currently have a way to display the annotations on triples. We are working on getting them imported via https://github.com/SciCrunch/NIF-Ontology/pull/145.


Fetch content from database for fact quiz

[x] Service & repository in backend
[ ] Questions, answers and info box content
[ ] Test service & repository

Questions and answers are fetched from database. As we don't have info box content yet we do not fetch it.

Waiting for Paulus' configuration changes before we tests.

Configuration changes have been implemented, tests for services can be made.

I am currently implementing the service tests


[Project] Create React App for visualizer

React will be used for visualization. These files are basically created when create a React app.
ONE-vscode-DCO-1.0-Signed-off-by: parkjisu6239<EMAIL_ADDRESS>

I've used [Project] prefix to add files in Project folder and related.
I think you should use another prefix if this is not your intention.

Please split files like .gitignore and others, by your purpose

Read this again carefully
https://github.com/Samsung/ONE-vscode/issues/87#issuecomment-919753850
These are by thoughts about PRs

one context per PR, that is, one purpose of objective in one PR; that is there can be lots of PRs; this will take time to land a huge change
too many purpose makes understanding codes difficult
one who wrote the code knows what one is doing but others' don't
communicating by written word is very hard

@seanshpark
The files I uploaded now are default files created when I create an application with React framework.
It's not a folder that we created for random purposes.
So I thought it was unnecessary to subdivide it.
React docs
Should we divide these into different PRs?
There are no folders or files like this in the PR created later.

React docs
This file is a structure, so it doesn't work without any.

Please check like #93

hould we divide these into different PRs?

Yes

There are no folders or files like this in the PR created later.

I don't understand what you mean

I'll subdivide it and upload it again! I'll close this PR


Fix Yarn Scripts and Update CONTRIBUTING.md

Issue #6690
Description of changes:

Updated the CONTRIBUTING.md to add lerna and rimraf and pre-requisite to setting up the dev environment.
Added escaped double quotes to the scripts in order to add support for pathnames with spaces in between them.

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

Thanks for improving the docs @gitaalekhyapaul 👍


As an admin, I want the option of importing two different sections from the same HathiTrust work so I can include multiple articles or chapters from a single journal issue or book.

testing notes
You should be able to test this functionality by changing existing records and adding a new one.

Choose an existing non-excerpt digitized work to test with. Make a note of the public url for this work because you are going to need it for testing.
Edit the digitized work you chose to turn it into an excerpt (for the purposes of this test, the only field that really matters is the page range (digital edition)). For convenience, use "Save and continue editing."
[x] Use the "view on site" button to view the public version of the item you modified. Check that the url is based on the source id plus the first page number of the excerpt.
[x] Test the public url of this work that you saved before converting it to an excerpt: it should redirect to the new url with the page number.
Manually add another excerpt from the same source. (For the purposes of this test, the fields that matter are source id and page range (digital edition)). Save the record.
[x] Test the public url of this work that you saved before converting it to an excerpt: it should now return a 404 not found, since there is more than one excerpt from the original work.

dev notes

[x] Revise database unique requirements for DigitizedWork  — previously source id was required to be unique; will need to be  the combination of source id and page sequence that is required to be unique together.
[x] Revise work identifier in index data so that different articles from the same source can be distinguished
[x] revise url for public document detail page so it uses source id + start page for excerpts
[x] implement see other redirect from old url to excerpt url

@rlskoeser I don't know if this messes you up but it is not always just 2. I did a quick check and I think the most we have would be 3.

@mnaydan question for you while I'm thinking about it (in relation to our recent conversation on #393, about converting existing records from full to excerpt or reimporting) — if we need to allow multiple excerpts from the same source, then I will need to change the URLs on the PPA site to make sure they are unique. (Right now they are based on source id.)
I was thinking of using source id combined with starting page number for urls for excerpts. Can you think of any case where that would not be unique? Also, can you think of any reason the starting page number would change after you've added something (i.e., would this be a stable identifier)? If you have any ideas for something different, let me know.

@rlskoeser oh, good point. That makes sense to me. In one case, the end page of one excerpt is the same as the start page of the next excerpt (e.g., 459-466 and 466-479) - but the starting pages are different, so they'd still be unique. After looking over the cases I have, I think it should work.
Starting page should be a stable identifier, but I suppose the starting page could change if we caught a mistake in the currently marked page range (I've been spot checking and hopefully there aren't any, but, human error means it's possible...)
I think that both of these things would be rare enough that using start page as a stable identifier should work.

@mnaydan thanks for confirming — I agree, that's a rare enough case we can live with it.
I'd like to implement logic so that current records that get converted to excerpts will redirect to the new url. Does it sound reasonable to have it redirect to the excerpt with the lowest page number if there are multiple excerpts from one document? Or should it not redirect if there are multiple excerpts from one source?

@rlskoeser will there be only 1 record, even if there are multiple excerpts from a source?
For us to have correct metadata that corresponds to each excerpt, we'd need to have multiple records, right, and each could have it's own URL with the starting page number?
Here's a screenshot of an example case:

each excerpt needs to have its own record — so yes, multiple records and each needs a distinct url
(have we thought about linking them to each other? does that matter?)

@rlskoeser Ok so we are on the same page with that! I'm sorry, I think my brain is being slow, I'm not understanding the redirect/conversion logic :/
So using the screenshot above as an example, there's currently 1 "Transactions and proceedings" record in the PPA. That record would be converted to the lower page number of the two (so mdp.390150...p81) for the Shipley, and then a duplicate (but not really because unique URL) record would be created with mdp.390150...p145 for the Sturtevant?
I don't think we need to link them - wouldn't they be linked via record ID anyway? Thank you for your patience with me!

@mnaydan sorry for being unclear! You said there are a lot of records in the system now that need to be converted to excerpts. If anyone has the detail page for that work bookmarked in PPA (or cited it in an article), my assumption is that we want them to automatically be redirected to the new url for the excerpt. I can send an http status a code that says "see other" rather than "moved permanently", since it isn't exactly the same resource. If there are two excerpts for the same source, we can either redirect to one of them or return a not found or gone message.
For the record id — I don't think we currently do anything with that on the public site. I don't know how important it is for a user to know if we have other excerpts from the same source (or other volumes of the same work, for that matter). Since we don't have a feature like that right now, we'd probably better not try to introduce it at this point (but could be something to think about for later).

@rlskoeser ohh! I didn't realize this was for bookmarking/citing. Thanks for explaining. I think redirecting is fine if there's only 1 excerpt per source, but if there are 2+ excerpts, I think it should return a not found or gone message. (Often the excerpts are wildly different from one another, totally different articles and authors, so we can't assume it's the lowest number one that the bookmarker intended.)
For the record ID - I don't think we need to alert our user that we have other excerpts from the same source (and I agree with you about not introducing it at this point) but Meredith and I can think about it for later.

Tested with mdp.39015060429357, public URL https://test-ppa.cdh.princeton.edu/archive/mdp.39015060429357/.
After changing to an excerpt URL correctly changes to: https://test-ppa.cdh.princeton.edu/archive/mdp.39015060429357-p212/.
Problem 1: original URL does NOT redirect to the one with the page number. I just get the original record.
Problem 2: I couldn't add another record via the "Add from HathiTrust" button because it skips the record (this seems logical). However I also couldn't add another record via the "Save and add another" button from the record detail page. After filling out the form it returns an error: "Changing source ID for HathiTrust records is not supported." I put in the source ID mdp.39015060429357 and the page number 269 (page range for previous excerpt was 212-218). This problem blocks the rest of my testing.

@rlskoeser wisely (as always) suggested I add the record as "Other" and that works. I get a new URL with page number as expected: https://test-ppa.cdh.princeton.edu/archive/mdp.39015060429357-p269/.
However public URL still directs to the original record page. No 404.

@mnaydan would you mind testing the redirect again? The redirect will only happen if there is a single excerpt for the source id that is no longer available as a full work. Right now there are two excerpts with source id mdp.39015060429357 — from your notes it sounds like you added the second one after you tested the first thing, but I'm having trouble duplicating this and the logic in the code looks right to me.
FWIW, the query to look for excerpts with the same source id doesn't filter on status; should it only look for public / non-suppressed record?

URL for original full work: https://test-ppa.cdh.princeton.edu/archive/njp.32101023869397/
Changed to article: new URL https://test-ppa.cdh.princeton.edu/archive/njp.32101023869397-p220/.
@rlskoeser I had to hard refresh to get the original URL to redirect. I'm working in Chrome. I figured it out by trying it in FF and Safari, which both redirected. Works in Chrome if you hard refresh.

Ah, interesting that Chrome caches that without looking for a redirect. That makes sense, I guess, and isn't a real problem for us.
Does this pass testing then, or is there anything I need to address?

Passes testing. We can close. Having trouble thinking thru the logic of your status filter q at the moment. Whatever you think is best.


Spacing inconsistency with images when rotating device.

Device Details

iPhone 6s+
iOS 9.3.4

When posting two consecutive images then rotating the device the space between the images increases substantially. giving an undesirable effect. Screen shot included.

This is what the same conversation looks like in portrait mode.

Probably related to #10. Looking into it.


UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 6: ordinal not in range(128)

Hi,
This is the snap of the error im getting while trying to run it.
Loading MIX Language Model..........
Loading CONTEXT Language Model..........
Loading pre trained Embeddings..........
Loading Classfier:	..........
/home/archit/anaconda3/envs/winer/lib/python3.5/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests is an internal NumPy module and should not be imported. It will be removed in a future NumPy release.
from numpy.core.umath_tests import inner1d
Traceback (most recent call last):
File "winer.py", line 161, in
model['rf'] = pkl_load(fid)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 6: ordinal not in range(128)

Issue resolved by running on python 2.7


Set expiration time for PayPal popup

I have integrated PayPal popup with Java web application. I want to set up expiration time for the popup to avoid user paying some specific time. Let's say after 15 min. The user should not be allowed to pay.  Is there a way to do this with PayPal?

Hi @sirikumara -- there's no built-in way. I'd recommend using a setInterval or setTimeout to check and if 15 minutes has elapsed, you can destroy the button.


[Interactive inlay hints] Get source file from parameter node

Fixes #55474

Looks good, but you need a test case.

Yep, I was going to publish it once I added that.

@typescript-bot pack this
@typescript-bot user test tsserver
@typescript-bot test tsserver top100
@typescript-bot perf test this

@typescript-bot cherry-pick this to release-5.2 and LKG


Output preview does not update if property annotation A2 is made before the suggest annotations/guess blocks request

Getting this error back from the backend:
errorDescription: "Error returned from get_causx_partial_csv: Error returned from get_cells_and_columns: 'node1'246341"

Here's the .xlsx file to reproduce this:
World Education Index by Country 1234.xlsx

i am not managing to replicate the error.
however, i do see that when suggest blocks is returned, the orange notation for property doesn't disappear, even though it has been deleted (well, over-written) from the annotation. why is that?

Suggest annotation button returns the suggested annotations and deletes all other annotations. We should prompt users for a confirmation and remove other non-suggested annotations from the gui.

does this still need to be addressed?

We can close this issue, i'm implementing the confirmation in a different ticket #549


fixed disappearing items within the MenuButtons with assigned Shortcuts

Addresses #25900 and #25519.

Consider using the following structure insted, as already discussed here:
String text = items[i].xl_text;
if (items[i].shortcut.is_valid()) {
	text += String(tr(items[i].shortcut->get_name()));
}

I think the AppVeyor build failed because of the misaligned indentation.

Is that really necessary  to expand the ternary here?
We've got some really long lines around popup_menu.cpp:470, and no code style rule on this whatsoever.
Fixed formatting with clang-format.

This needs to be rebased as #25841 was reverted in #25901.
A re-do of #25841 that ensures that #25900 doesn't appear would be welcome, though I'll probably wait for after 3.1 to merge it.

Closing as per the above, it's no longer relevant after the revert of #25841.

Looks like I was wrong in the above comment, this PR is still relevant. #25841 was reverted, but this PR re-does its fix while preventing the #25900 regression.

Ah nevermind, now I remember. The original bug still needs a fix similar to what this PR does, but this PR itself is invalid as it builds upon a revert commit, and was never rebased. I'll do a new PR.


Wrong link

Issue the link "https://www.progettosl.it/" doesn't work, the right one should be "https://www.progettosl.eu/" I think
File path /www_mapod4d_it/project.html
Row 331

Issue has been resolved in local repo. closed #17


Infos/result are reported multiple times

Describe the bug
I'm testing the pluging the implement the api changelog and reporting the breraking change for our Apis.
The pluging seems working file except the noises that it generates, each info is reported mulitiple times.
To Reproduce
Steps to reproduce the behavior:

The command-line, for example: oasdiff changelog oas_original.json oas_non_breaking_changes.json

Spec 1:
oas_original.json

Spec 2:
oas_non_breaking_changes.json

Output

Expected behavior
The infos/result should be merged and reported only once
Desktop (please complete the following information):

OS: WIndows

Hi @mouradchama,
I couldn't replicate this problem using the command and files you provided.
Could you please check that the instructions are precise?
Also, you mention a "plugin", I am not sure what you mean by that.
Thanks,
Reuven

Update:
I successfully replicated the issue (it didn't work yesterday due to another problem that I fixed meanwhile).
I'll update shortly with more info.

The triple messages are actually correct, each one belongs to a different media type.
The fix will change all request property messages to include the media-type, for example:

Update:
Oasdiff currently omits media-type for changes in requests and responses.
Fixing this will require adding the media type to all breaking change messages under requests and responses.
Ideally, we should also avoid displaying the media-type when there is only one media-type, this will keep messages short and readable for the majority of specs.
We will fix this in several steps:

Automate message generation (see https://github.com/Tufin/oasdiff/pull/604)
Support two types of messages: with media-type and without media type
Gradually add media-type to relevant checks


anchors adjacent with buttons should align with buttons

Keep anchors as anchors, but design to be consistent with buttons.
add .am-btn-link

Resolved with 1.3.10


Multi module result back case with custom result type

Hi there,
I have a multi module project that's configured in a way so that my "feature" modules do not have any dependencies on each other. I have a screen built in a module A that launches a screen in some other module B, and returns a result back to module A. This result is a custom type implemented as a Kotlin data class.
I was reviewing the documentation and from what I gather, it says that the recipient must define a OpenResultRecipient<T> with the result data type T. However, in my case, since the recipient and sender are defined in different modules, the recipient has no way to reference T.
I could work around this by providing a "shared" module C that contains all the data types every "feature" module (e.g. A and B) can access... but I would like to avoid this if possible because it breaks the separation paradigms that this library relies on with the multi module configurations available.
Are custom result types currently supported in multi module projects? I am currently consuming 1.8.42-beta.
Appreciate your response, and thanks for your continued passion and efforts with this amazing project.

Hi @trod-123 !
At the moment, for complex types, you'd have to be able to reference the type T from both modules. A workaround might be to use a String (some sort of serialized version of the complex type).
The way you could do this with official compose navigation is not better tbh. You'd be passing a key-value pair via SavedStateHandle. Then on recipient you would need to know both the key and type of value to be able to use it.
It seems to me like this situation, however, might be an indication that maybe you should rethink how you are modularizing. If it was me, I'd be looking to expose entire navgraphs from each feature module in a way that other modules don't need to know about destinations, they only navigate to the nav graph itself. If you have some kind of modal destination that needs to be used by multiple modules, maybe it should be inside its own module that all clients can depend on.
Of course, I don't know the exact situation, so I can only talk theoretically 😄. I'm sure there are cases where using a non-type-safe approach is warranted.
Let me know if this helped!

It's a bit out of scope from this issue... but I am not quite sure how performant createNavigator() will be, since it is creating a new instance every time I navigate between pages it seems.

As long as you don't do anything expensive as part of that instantiation, you should definitely be fine :) when you navigate, some instantiations are done anyway, the instantiation itself is not expensive enough to be concerning (unless you do TONS of them).
Also, be prepared for some changes around the corner with v2. I think you'll like the changes, but they may require some changes on your side. Of course, I am not dropping v1 (no new features there but still compose, navigation updates and bug fixes), I want to keep both options for some time to give people time to migrate.

Given it seems like you reached an ok place with this, I'll close it. But please let me know if you find some issue with implementing your approach! :)


Bring back section about secrets to the readme.

SDK users who visit it's Github page should see all information that is needed to get started in the README. This includes the instruction on how to configure required secrets.
This was moved to the CONTRIBUTING previously, but this should also be mentioned in the core README as it is needed by SDK users as well, not just contributors.

Right now to run example apps one needs to be able to provide secrets to Gradle. This is not related to contributing to the repo or to the SDK - customer may be running these example apps just to see how SDK works.
However, I agree that this is only related to running example apps from source, and not applicable to "production" use of the SDKs. Let me quickly suggest another change if that's ok :)


Update get_content_files permissions

The permissions for getting the file content were a bit too restrictive, requiring can_preview (i.e. "can preview draft") permissions rather than can_read_files (i.e. "can read files") permissions.
This PR fixes that by setting the conditional generator's then_ value to the same as can_read_files.
That being said, I have the feeling that the given check for the file having a Local storage class and giving out access based on that could be reworked into business logic rather than permissions...
At least that's what it feels like to me – WDYT?

Quick initial testing showed that the view-permission shared links work.
Further testing should be done to validate the permissions with shared links of different permissions and the "download all files" feature.
Also, as @ppanero suggested, we should probably add test cases for downloading public/public records' files as anonymous user.


Using GO15VENDOREXPERIMENT with packages which have import re-writing vendored dependencies

Try adding govendor itself to a project with GO15VENDOREXPERIMENT set.  Then run govendor list.  It will show github.com/dchest/safefile as both "u" and "e".  This is because govendor correctly detected github.com/dchest/safefile as a dependency of govendor, and vendored it, but govendor vendors github.com/dchest/safefile itself, using import rewriting.  The tool did not rewrite those import statement from github.com/kardianos/govendor/internal/github.com/dchest/safefile back to github.com/dchest/safefile.
In the process of flattening out the vendored transitive dependencies, the primary dependency's sources need to have their import statements rewritten to match the vendoring style current in force.

Right now govendor supports both import path rewriting and the vendor folder. In order to switch from import path rewriting to vendoring, the user is expected to use "govendor migrate". So before "govendor list" is called, it should first be migrated when the flag is set to 1.
Does that make sense? Or did I miss a point?

Ok...well, I was starting with a fresh project that wasn't using either.  I had GO15VENDOREXPERIMENT set first, then did govendor init and govendor add +e.
That mostly worked, vendoring everything, without import rewriting.  The problem came when I did govender add github.com/kardianos/govendor.  That vendored govendor alright, but the vendored copy still contained import statements referring to github.com/kardianos/govendor/internal/github.com/dchest/safefile.  And that internal package was not vendored.  Instead, it vendored github.com/dchest/safefile.  That's probably the correct thing to do (flattening nested dependencies), but then the import statements in the vendored copy of github.com/kardianos/govendor need to be fixed.

True. I ran into this myself. Honestly this is why it is important to agree on a single method. If we use the vendor folder, all packages should switch to using this. That way everyone can agree on what happens.
The trouble comes in is that when govendor is using the vendor folder, it assumes all other files (including the "internal" files) are package files; it doesn't search for other "vendor.json" files as that is now defined to live inside the "vendor" folder root. (see vendor-spec).
I guess I would advise to use in one mode or another mode. In this case I plan to leave the rewrite until 1.6 comes out.
I'll leave this issue open, I'm not sure how many people have imports rewritten with govendor that would need to mix with the new vendor folder. Thoughts welcome.

That seems reasonable, but then something else the tool could have done that would have worked is vendored github.com/kardianos/govendor/internal/github.com/dchest/safefile, which it didn't.  It's weird.  It vendored github.com/dchest/safefile...so it's like, it recognized that safefile was a transitive dependency, and tried to flatten it.  Even wierder, the it not flatten the other two packages in govendor's internal folder, gt and pathos.  Those is it copied into vendor/github.com/kardianos/govendor/internal/gt and vendor/github.com/kardianos/govendor/internal/pathos.

I'll look into it for sure. I think it did read the vendor file, but didn't rewrite the imports (wrong mode).
I think the fix is to only read vendor files in the vendor folder per the spec.

This should be fixed. But regardless, I don't have the time to support two modes.
govendor on the default branch now only supports the vendor folder. A new branch called "rewrite" supports import path rewrites.


Compilation issue with OSX Monterey M1

Hi guys,
I am starting to move all my development to an OSX Monterey PC, and I am still learning how to do it.
I wish to compile Pinocchio from source, and this is the error that I encountered
[  2%] Building CXX object src/CMakeFiles/pinocchio.dir/parsers/urdf/geometry.cpp.o
[  2%] Building CXX object src/CMakeFiles/pinocchio.dir/parsers/urdf/model.cpp.o
cd /Users/cm2099/Devel/pinocchio/build/src && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBOOST_MPL_LIMIT_LIST_SIZE=30 -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -DHPP_FCL_HAS_OCTOMAP -DHPP_FCL_HAVE_OCTOMAP -DOCTOMAP_MAJOR_VERSION=1 -DOCTOMAP_MINOR_VERSION=9 -DOCTOMAP_PATCH_VERSION=7 -DPINOCCHIO_WITH_HPP_FCL -DPINOCCHIO_WITH_URDFDOM -Dpinocchio_EXPORTS -I/Users/cm2099/Devel/pinocchio/build -I/Users/cm2099/Devel/pinocchio/build/include -I/Users/cm2099/Devel/pinocchio/include -isystem /Users/cm2099/Install/include -isystem /opt/homebrew/include/eigen3 -isystem /opt/homebrew/include -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion  -O3 -DNDEBUG -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -fPIC -std=gnu++11 -MD -MT src/CMakeFiles/pinocchio.dir/parsers/urdf/geometry.cpp.o -MF CMakeFiles/pinocchio.dir/parsers/urdf/geometry.cpp.o.d -o CMakeFiles/pinocchio.dir/parsers/urdf/geometry.cpp.o -c /Users/cm2099/Devel/pinocchio/src/parsers/urdf/geometry.cpp
cd /Users/cm2099/Devel/pinocchio/build/src && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBOOST_MPL_LIMIT_LIST_SIZE=30 -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -DHPP_FCL_HAS_OCTOMAP -DHPP_FCL_HAVE_OCTOMAP -DOCTOMAP_MAJOR_VERSION=1 -DOCTOMAP_MINOR_VERSION=9 -DOCTOMAP_PATCH_VERSION=7 -DPINOCCHIO_WITH_HPP_FCL -DPINOCCHIO_WITH_URDFDOM -Dpinocchio_EXPORTS -I/Users/cm2099/Devel/pinocchio/build -I/Users/cm2099/Devel/pinocchio/build/include -I/Users/cm2099/Devel/pinocchio/include -isystem /Users/cm2099/Install/include -isystem /opt/homebrew/include/eigen3 -isystem /opt/homebrew/include -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion  -O3 -DNDEBUG -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -fPIC -std=gnu++11 -MD -MT src/CMakeFiles/pinocchio.dir/parsers/urdf/model.cpp.o -MF CMakeFiles/pinocchio.dir/parsers/urdf/model.cpp.o.d -o CMakeFiles/pinocchio.dir/parsers/urdf/model.cpp.o -c /Users/cm2099/Devel/pinocchio/src/parsers/urdf/model.cpp
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/deprecation.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/utils.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/robot_wrapper.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/romeo_wrapper.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/explog.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/shortcuts.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/visualize/__init__.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/visualize/base_visualizer.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/visualize/gepetto_visualizer.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/visualize/meshcat_visualizer.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/visualize/panda3d_visualizer.py
cd /Users/cm2099/Devel/pinocchio/build/bindings/python && /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Users/cm2099/Devel/pinocchio/cmake/compile.py /Users/cm2099/Devel/pinocchio/bindings/python /Users/cm2099/Devel/pinocchio/build/bindings/python pinocchio/visualize/rviz_visualizer.py
[  2%] Built target compile_pyc__Users_cm2099_Devel_pinocchio_bindings_python
In file included from /Users/cm2099/Devel/pinocchio/src/parsers/urdf/geometry.cpp:6:
/Users/cm2099/Devel/pinocchio/build/include/pinocchio/parsers/urdf/types.hpp:31:3: error: typedef redefinition with different types ('boost::shared_ptr<Box>' vs 'std::shared_ptr<Box>')
  PINOCCHIO_URDF_TYPEDEF_CLASS_POINTER(Box);
  ^
/Users/cm2099/Devel/pinocchio/build/include/pinocchio/parsers/urdf/types.hpp:25:42: note: expanded from macro 'PINOCCHIO_URDF_TYPEDEF_CLASS_POINTER'
/Users/cm2099/Devel/pinocchio/src/parsers/urdf/model.cpp:11:10: typedef PINOCCHIO_URDF_SHARED_PTR(Class) Class##SharedPtr; \
                                         ^
<scratch space>:174fatal error: :1:'urdf_parser/urdf_parser.h' file not found
note: expanded from here
BoxSharedPtr
#include <urdf_parser/urdf_parser.h>^

         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/homebrew/include/urdf_model/types.h:53:1: note: previous definition is here
URDF_TYPEDEF_CLASS_POINTER(Box);
^
/opt/homebrew/include/urdf_model/types.h:44:32: note: expanded from macro 'URDF_TYPEDEF_CLASS_POINTER'
typedef std::shared_ptr<Class> Class##SharedPtr; \
                               ^
<scratch space>:126:1: note: expanded from here
BoxSharedPtr
^
In file included from /Users/cm2099/Devel/pinocchio/src/parsers/urdf/geometry.cpp:6:
/Users/cm2099/Devel/pinocchio/build/include/pinocchio/parsers/urdf/types.hpp:31:3: error: typedef redefinition with different types ('boost::shared_ptr<const Box>' vs 'std::shared_ptr<const Box>')
  PINOCCHIO_URDF_TYPEDEF_CLASS_POINTER(Box);
  ^
/Users/cm2099/Devel/pinocchio/build/include/pinocchio/parsers/urdf/types.hpp:26:48: note: expanded from macro 'PINOCCHIO_URDF_TYPEDEF_CLASS_POINTER'
typedef PINOCCHIO_URDF_SHARED_PTR(const Class) Class##ConstSharedPtr; \
                                               ^
<scratch space>:175:1: note: expanded from here
BoxConstSharedPtr
^
/opt/homebrew/include/urdf_model/types.h:53:1: note: previous definition is here
URDF_TYPEDEF_CLASS_POINTER(Box);
^
/opt/homebrew/include/urdf_model/types.h:45:38: note: expanded from macro 'URDF_TYPEDEF_CLASS_POINTER'
typedef std::shared_ptr<const Class> Class##ConstSharedPtr; \

I have installed Boost from source, since the homebrew formulae doesn't work well.
I have also installed hpp-fcl and eigenpy from source.
I have installed the following packages using homebrew:

octomap
urdfodom_headers

Finally, I install Python 3.10 from python.org
Please let me know what I am doing wrong.

Please use conda, it works pretty well for Mac M1.

I think the problem is related the issue https://github.com/ros/urdfdom_headers/issues/73 . Basically recent versions of urdfdom/urdfdom_headers changed the location where headers are installed, but that breaks existing binaries with cmake config files that expect the headers in a different location.

The issue is with urdfdom_headers. I installed it from conda, and it went away.
But I am still curious to understand deeply this problem. Could you tell me if there is a particular version restrictions with Pinocchio?

From your log, your are using the one from brew.

You can install pinocchio for M1 with conda without any problem

The issue is with urdfdom_headers. I installed it from conda, and it went away.
But I am still curious to understand deeply this problem. Could you tell me if there is a particular version restrictions with Pinocchio?

From your log, your are using the one from brew.

Yes, I was indeed using it.
And the issue still stands with brew.
But now I sorted it out using the Conda one.


refactor: default forms to "all"

Summary | Résumé
Updates "forms" subnav to default highlight "all" as the selected sub nav item
Before
The "all" sub nav highlighting happens "late"
We know all will be highlighted so we can safely default to that item.

Test instructions | Instructions pour tester la modification

Visit /forms note the sub nav highlights properly
Also visit the form builder as the Sub nav is also used there --- no updates but ensure it's working as current

Unresolved questions / Out of scope | Questions non résolues ou hors sujet
Noting -- for accounts with Manage All Forms / a large amount of cards we're still seeing a small "blip" but this PR updates will cover most use cases.

Pull Request Checklist
Please complete the following items in the checklist before you request a review:

[x] Have you completely tested the functionality of change introduced in this PR? Is the PR solving the problem it's meant to solve within the scope of the related issue?
[x] The PR does not introduce any new issues such as failed tests, console warnings or new bugs.
[ ] If this PR adds a package have you ensured its licensed correctly and does not add additional security issues?
[ ] Is the code clean, readable and maintainable? Is it easy to understand and comprehend.
[ ] Does your code have adequate comprehensible comments? Do new functions have docstrings?
[ ] Have you modified the change log and updated any relevant documentation?
[ ] Is there adequate test coverage? Both unit tests and end-to-end tests where applicable?
[ ] If your PR is touching any UI is it accessible? Have you tested it with a screen reader? Have you tested it with automated testing tools such as axe?

I added some small changes. One to fix the navigation and the second to announce the content change when navigation happens.
Notes:

Cards have a mix of tabs and "pills" components. Future refactor to use only one - pill or tab. (currently it's just confusing)
live-region used around cards container to announce changes, very verbose and not ideal

Thanks @thiessenp-cds will "approve" your commits and merge.


x/net/http2: stderr spam from running tests

Tests shouldn't spam to stderr:
$ go test  -short
2017/11/22 20:01:28 protocol error: received DATA on a HEAD request
2017/11/22 20:01:31 protocol error: received DATA before a HEADERS frame
PASS
ok      golang.org/x/net/http2  5.150s

From:
=== RUN   TestTransportReadHeadResponseWithBody
2017/11/22 20:00:08 protocol error: received DATA on a HEAD request
--- PASS: TestTransportReadHeadResponseWithBody (0.00s)

...

=== RUN   TestTransportResponseDataBeforeHeaders
2017/11/22 20:01:54 protocol error: received DATA before a HEADERS frame
--- PASS: TestTransportResponseDataBeforeHeaders (0.00s)

/cc @tombergan

@bradfitz its enough to just add log.SetOutput(ioutil.Discard) to TestMain?

@gregory-m, that's too big of a hammer. I'd prefer to do it per-test, and understand per-test whether we want no logging, or want something specific logged. We do that elsewhere already (maybe in net/http, if not x/net/http2)

Ok, I will create CL.


lookahead() behavior for the headers with varbits

extract() method for packet_in has two forms:

extract(fixed_header)
extract(header_with_varbit_field, legth_of_varbit_field)

The problem is that more often than not, the length of the varbit field is contained inside the same header. For example, this is the case with IPv4. The current examples solve this problem by using two headers to represent an IPv4 header: one for the fixed part and another one, containing onlythe options.
I tried the "canonical" way:
header ipv4_t {
    bit<4>       version;
    bit<4>       ihl;
    bit<8>       diffserv;
    bit<16>      totalLen;
    bit<16>      identification;
    bit<3>       flags;
    bit<13>      fragOffset;
    bit<8>       ttl;
    bit<8>       protocol;
    bit<16>      hdrChecksum;
    ipv4_addr_t  srcAddr;
    ipv4_addr_t  dstAddr;
    varbit<320>  options;
}

To extract the header I need to do a lookahead first and, in my view, the most "natural" way looks like this:
    state parse_ipv4 {
        bit<4> ihl = packet.lookahead<ipv4_t>().ihl;
        packet.extract(hdr.ipv4, ((bit<32>)ihl - 5) * 4);
        . . .

The spec is not saying anything about whether it is OK to do a lookahead on a header with varbit field. The current compiler rejects it:
l3_switch.p4(53): error: varbit<320>: unexpected type in lookahead argument
    varbit<320> options;
           ^^^
terminate called after throwing an instance of 'Util::CompilerBug'
  what():  COMPILER BUG: ../ir/vector.h:126
../ir/vector.h:126: Null e

Aborted (core dumped)

It would be nice to clarify and make an explicit decision on the behavior. I believe, it should be allowed (at least as long as we ask for a header that precedes varbit one). It is certainly possible to work around this issue, but it would be nice if the straightforward code is allowed too.

Section 11.8.3 states:

One invokes lookahead as follows:
b.lookahead<T>()
where T must be a type with fixed width

So we should clean up the error message but I think the spec is perfectly clear.
-N

Will you please open an issue on p4c with a complete source listing so we can improve the error message? Thanks!


refactor: find good structure and naming for plugins in dm-core-plugins

blocked by PR https://github.com/equinor/dm-core-packages/pull/95
We should have a common structure for import of plugins (like blueprint, yaml-view, ++)
now, the component naming for exported plugins is inconsistent:
  {
    pluginName: 'explorer',
    component: Editor,
  },
  {
    pluginName: 'yaml-view',
    component: PluginComponent,
  },
  {
    pluginName: 'tabs',
    component: TabsContainer,
  },

{
pluginName: ,
component: Plugin
}
Rename

default-preview to json
default-pdf to pdf
yaml-view to yaml
edit-blueprint to blueprint
mermaid to blueprint-hierarchy

Prefix plugin names with npm package name: @development-framework/dm-core-plugins/

https://github.com/equinor/dm-core-packages/issues/116


Discovery Pane "learn more" link doesn't work.

This opens a video on the SeaMonkey page, but it doesn't do anything on the Thunderbird version. The video is pretty useless though, so this should probably either be removed or link to something on the Support site.
See also: Bug 1481089.

@Sancus What is the direct URL to the video?

Removed in https://github.com/thundernest/addons-server/commit/c01d676ba0dd750522f2824f2ef2e8e262f1cac8


docker build -t  . broken still.  Line 36... kernelspec install-self --user

Is anybody else seeing this?  I've tried on mac and unix.  Both break at the same location on a fresh clone and build.  This has been broken for the last 2 weeks.  Anyone know what the last passing commit was?
docker-demo-images/ ] docker build -t jupyterdemolocal .
...
removing itsdangerous-0.24-py27_0.tar.bz2
---> d17a757c74ef
Removing intermediate container bc1e883d34da
Step 36 : RUN $CONDA_DIR/envs/python2/bin/python $CONDA_DIR/envs/python2/bin/ipython kernelspec install-self --user
---> Running in 6c7110207ad2
Traceback (most recent call last):
File "/opt/conda/envs/python2/bin/ipython", line 6, in
sys.exit(start_ipython())
File "/opt/conda/envs/python2/lib/python2.7/site-packages/IPython/init.py", line 118, in start_ipython
return launch_new_instance(argv=argv, **kwargs)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 591, in launch_instance
app.initialize(argv)
File "", line 2, in initialize
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/IPython/terminal/ipapp.py", line 305, in initialize
super(TerminalIPythonApp, self).initialize(argv)
File "", line 2, in initialize
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/IPython/core/application.py", line 386, in initialize
self.parse_command_line(argv)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/IPython/terminal/ipapp.py", line 300, in parse_command_line
return super(TerminalIPythonApp, self).parse_command_line(argv)
File "", line 2, in parse_command_line
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 487, in parse_command_line
return self.initialize_subcommand(subc, subargv)
File "", line 2, in initialize_subcommand
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/traitlets/config/application.py", line 418, in initialize_subcommand
subapp = import_item(subapp)
File "/opt/conda/envs/python2/lib/python2.7/site-packages/ipython_genutils/importstring.py", line 31, in import_item
module = import(package, fromlist=[obj])
ImportError: No module named jupyter_client.kernelspecapp
The command '/bin/sh -c $CONDA_DIR/envs/python2/bin/python $CONDA_DIR/envs/python2/bin/ipython kernelspec install-self --user' returned a non-zero code: 1

automated builds for this repo jupyter/demo (top level Dockerfile) doesn't exist and for jupyter/demo-minimal has been failing since nov 2014
https://hub.docker.com/r/jupyter/demo-minimal/builds/

The Dockerfiles in this repo do not pin library version numbers. So (best guess) what I expect is happening is a version mismatch between the notebook server that some RUN command further up in the Dockerfile (or in the minimal-demo base Dockerfile) installed and what the python2 environment specifically installed.
@rgbkrk AI opened #67 to start moving in the direction of pinning like we do in docker-stacks across the board. But is there a way you'd like to handle in the near term?

I'm hitting this issue as well.  Is there a workaround?

I ran into this too, both here and on https://github.com/rothnic/anaconda-notebook. I found that a quick fix was to tell conda-install to explicitly install IPython 3 (rothnic/anaconda-notebook#5). I think a better solution is to update the whole image to install jupyter instead.

As soon as we fix up some problems with the images over in jupyter/docker-stacks, I hope to get to issue #67 which will rebase the docker-demo-image on the jupyter/minimal-notebook:4.0 image and resolve these problems along the way.
I don't yet know if all the kernels in the current demo image support jupyter 4.0 yet though. If not, we'll either have to remove them or wait until they all do.

I noticed that recent additions of Jupiter docker stacks have removed the
creation of the Jovian user to the startup script. This makes it a little
more difficult to extend the container since the directories where you
would like to place things no longer exist at build time. It also seems to
make it harder to make the containers immutable and more likely that you
need to install things during the run time part which defeats the
immutability of containers. Is there a good pattern for extending the
containers? Normally my approach would be to try and keep the  command
script as small as possible so that containers are almost completely
immutable.
On Sep 12, 2015 3:19 PM, "Peter Parente"<EMAIL_ADDRESS>wrote:

As soon as we fix up some problems with the images over in
jupyter/docker-stacks, I hope to get to issue #67
https://github.com/jupyter/docker-demo-images/issues/67 which will
rebase the docker-demo-image on the jupyter/minimal-notebook:4.0 image and
resolve these problems along the way.
I don't yet know if all the kernels in the current demo image support
jupyter 4.0 yet though. If not, we'll either have to remove them or wait
until they all do.
—
Reply to this email directly or view it on GitHub
https://github.com/jupyter/docker-demo-images/issues/68#issuecomment-139817091
.

I'm busy restoring the user creation in the docker container right now but allowing the Jovian uid to change in the startup script. Once we have the best of both worlds, extension should be as expected in the dockerfile. The various subimages in the stacks repo will be reasonable examples.

On Sep 12, 2015, at 5:33 PM, kesten<EMAIL_ADDRESS>wrote:
I noticed that recent additions of Jupiter docker stacks have removed the
creation of the Jovian user to the startup script. This makes it a little
more difficult to extend the container since the directories where you
would like to place things no longer exist at build time. It also seems to
make it harder to make the containers immutable and more likely that you
need to install things during the run time part which defeats the
immutability of containers. Is there a good pattern for extending the
containers? Normally my approach would be to try and keep the command
script as small as possible so that containers are almost completely
immutable.
On Sep 12, 2015 3:19 PM, "Peter Parente"<EMAIL_ADDRESS>wrote:

As soon as we fix up some problems with the images over in
jupyter/docker-stacks, I hope to get to issue #67
https://github.com/jupyter/docker-demo-images/issues/67 which will
rebase the docker-demo-image on the jupyter/minimal-notebook:4.0 image and
resolve these problems along the way.
I don't yet know if all the kernels in the current demo image support
jupyter 4.0 yet though. If not, we'll either have to remove them or wait
until they all do.
—
Reply to this email directly or view it on GitHub
https://github.com/jupyter/docker-demo-images/issues/68#issuecomment-139817091
.

—
Reply to this email directly or view it on GitHub.

@gwtaylor - thanks for the info.  It looks as though the changes got me past the error listed above, but I have run into another error so can't be sure.
diff --git a/Dockerfile b/Dockerfile
index 1fe8352..f82c3d4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -77,7 +77,7 @@ USER jovyan
 RUN conda install --yes numpy pandas scikit-learn scikit-image matplotlib scipy seaborn sympy cython patsy statsmodels cloudpickle dill numba bokeh && conda clean -yt

 # Now for a python2 environment
-RUN conda create -p $CONDA_DIR/envs/python2 python=2.7 ipython numpy pandas scikit-learn scikit-image matplotlib scipy seaborn sympy cython patsy statsmodels cloudpickle dill numba bokeh && conda clean -yt
+RUN conda create -p $CONDA_DIR/envs/python2 python=2.7 ipython=3.2.1 numpy pandas scikit-learn scikit-image matplotlib scipy seaborn sympy cython patsy statsmodels cloudpickle dill numba bokeh && conda clean -yt
 RUN $CONDA_DIR/envs/python2/bin/python $CONDA_DIR/envs/python2/bin/ipython kernelspec install-self --user

 # IRuby

The next error I get is:
In-place registering ihaskell-<IP_ADDRESS>...
Preprocessing executable 'ihaskell' for ihaskell-<IP_ADDRESS>...
[1 of 2] Compiling IHaskellPrelude  ( main/IHaskellPrelude.hs, dist/build/ihaskell/ihaskell-tmp/IHaskellPrelude.o )
[2 of 2] Compiling Main             ( main/Main.hs, dist/build/ihaskell/ihaskell-tmp/Main.o )

main/Main.hs:204:17:
    `language' is not a (visible) field of constructor `KernelInfoReply'

main/Main.hs:205:17:
    `versionList' is not a (visible) field of constructor `KernelInfoReply'
Failed to install ihaskell-<IP_ADDRESS>
cabal: Error: some packages failed to install:
ihaskell-<IP_ADDRESS> failed during the building phase. The exception was:
ExitFailure 1
The command '/bin/sh -c cabal update &&     cabal install cpphs &&     cabal install gtk2hs-buildtools &&     cabal install ihaskell-<IP_ADDRESS> --reorder-goals &&     cabal install ihaskell-widgets-0.1 HTTP Chart Chart-cairo &&     ihaskell install &&     rm -fr $(echo ~/.cabal/bin/* | grep -iv ihaskell) ~/.cabal/packages ~/.cabal/share/doc ~/.cabal/setup-exe-cache ~/.cabal/logs' returned a non-zero code: 1

All build errors should be resolved now that #71 is in. We can leave this issue open until someone else is able to confirm a fresh build works.
There's also a new PR #73 to prevent future builds of the haskell portions from running into new errors. As of yesterday, the minor version pinning we've done for the IHaskell dependencies were enough to get a successful build.

Certainly working for me, new versions getting pushed out now that Peter is helping me too.

I rebuilt master today to see how it's aged over two weeks. No problems.


Update Excel Export to Include Water Approval Points and Quantity Values - WALLY

As a WALLY user I want the Water Approval Points (Short Term Licences) and Quantity values to be exported into the Excel so that I am able to further analyze EFN (Environmental Flow Needs) risk or make further adjustments as necessary.
Acceptance Criteria

[ ] Given a WALLY user selects Water Approval Points and Quantity to export, when they export the data, then they are given all data and summary information in a format compatible with Excel.
[ ] Export should have this data in the Summary tab

Additional Context

Data to be included in the Excel export that is not currently being exported and is manually added into Excel to evaluate EFN risk
Export function: This function allows users to export to Excel (or as a shapefile). However, the current output from WALLY into Excel only contains partial information that is found in the online staging environment.
Data is already in Wally
This does not require any calculations

This information has been added to the excel export with Ticket #707 and included in PR #732.
There is a lot more information for water approval included with this data than is being exported to excel. I have copied what is being displayed on the front end of the app. Depending on styling and formatting it may make sense to include more of it if useful.
I have added the information to the summary page but wonder if this should also be included in the licencing tabs as well.


[Translation] Chinese

Hi, all members from SwiftWeekly,
Just as NSHipster.com to NSHipster.cn, objc.io to objccn.io, I would like to bring swiftweekly.github.io to Chinese' Swift developers, for tracking the news of the Swift community.
In the beginning, I've tried to create a PR to make this website to be multilingual. And I came accross  https://github.com/github/pages-gem/issues/401 , it seems like GitHub page does't have an official i18n Jekyll plugin to make it works so far :(.
So I created a new organization just likes objccn, called swiftweeklycn, and I am going to translate the latest issue every other Thursdays and deploy it to github-page.
FYI The latest issue has already done and deployed .
Let me know what you think.

Thanks @wongzigii ! Seems like a really valuable resource for that community.

A few notes:

Can you remove the "Subscribe" and "Sponsor" buttons and pages? (To avoid confusion with the proper newletter subscriptions and sponsors.)
It looks like the footer links are broken (twitter, github, rss, etc.)

@BasThomas We should definitely share this in the next issue 😊

Can you remove the "Subscribe" and "Sponsor" buttons and pages? (To avoid confusion with the proper newletter subscriptions and sponsors.)
It looks like the footer links are broken (twitter, github, rss, etc.)

Will fix it ASAP, no worries.

Thanks @wongzigii !

Hey @wongzigii
Where is the swiftweeklycn repo hosted? Would you like to move it under the SwiftWeekly GitHub organization? I think that would be great and a better way to keeps things organized. 😄
cc @BasThomas Thoughts?

Hi @wongzigii!
This is awesome! I think it would indeed be a good idea to move that version to this organization as well.
@jessesquires: it is now hosted here.

@BasThomas Ah I see.
Hm.... actually. It might be tricky to get everything to work with GH pages. Maybe not.
Looks like we could activate GH-pages for the master branch.
Then the site would appear at: https://swiftweekly.github.io/swiftweeklycn/

Good idea.
Maybe https://swiftweekly.github.io/cn/ would be shorter and better ? So I am going to transfer the repo to this organization and rename the repo name to cn. Additionly, I will drop that organization.
A few notes:
I use https://github.com/swiftweeklycn/_posts to seperate all posts as a gitsubmodule to keep it simple. Should I also transfer that repo too?

You don’t have the permission to create repositories on SwiftWeekly

Seems like I don't have permission while doing transfer.

Hey @wongzigii ! I'll help with this now

@wongzigii Ok -- I just sent you an invite to the org. Once you accept, you should be able to transfer the repo. :)
If you can't -- it's probably because we need to fix some permissions. Let me know 😄

Maybe https://swiftweekly.github.io/cn/ would be shorter and clearer? So I am going to transfer the repo to this organization and rename the repo name to cn. Additionally, I will drop that organization.

Sounds great! 👍

I currently using https://github.com/swiftweeklycn/_posts to separate all posts as a git-submodule to keep it simple. Should I also transfer that repo too?

Hm. I'm not sure. I don't think we'll need this once we move the main repo to the org. Here's what I'm thinking:

We transfer the cn repo under swiftweekly.
This repo is essentially just a copy of the main repo

Our publishing flow would be:

We publish a new issue on the main, english site
You can copy the new post date-issue-##.md to cn/_posts
Translate the post and push

It's a bit manual, I guess (copying the new post), but doesn't seem to bad. This way you can just translate the post in-line. What do you think?
OR -- maybe there's a way to do everything within the main swiftweekly.github.io repo and jekyll?

I've adjusted some font/font-size for better rendering in Chinese.

Sounds good to me. 👌

@jessesquires Done! BTW, I can't access the cn settings panel.

Can you remove the "Subscribe" and "Sponsor" buttons and pages? (To avoid confusion with the proper newletter subscriptions and sponsors.)

Should we bring back the sponsor and subscribe and point to the original link, cause the cn is now the subpage of main. (maybe not? I am not sure)

hey @wongzigii / @BasThomas
I just setup some new teams / permissions for the org.
@wongzigii -- you should be an admin on cn now.

Now that we've got the main pieces in place. Let's close this out and continue the discussion at https://github.com/SwiftWeekly/cn/issues/1
😄


feat: Remove func keyword

~I'm super confused by this. The only change I made is to comment out the lexing of "func". But as a result, a huge number of tests fail; most queries can no longer be compiled. I don't see how that's possible — the AST that's being passed back from prql-parser surely doesn't change. (As expected, the only test in prql-parser fails is one that contained func, which I've commented out — which suggests that the AST likely doesn't change). Am I missing something very obvious? Is there dark magic in our codebase?~
OK it was because stdlib was using it!
What do folks think about removing func now that we have line continuations? Exactly one way to do things etc etc...

Removing dependence on a keyword for multi-line declaration is cool, but there was another motive for func keyword.
I've re-added func keyword because there were cases where parsing was very close to being ambiguous. I was even thinking about making it required.
A case of ambiguity with param defaults:
let my_func = a b c:x -> x -> a + c b

A case of ambiguity with returning a function:
let my_func = a -> x -> a + x

The general problem (and potential performance sink) is that when the parser encounters a func call a b c, it cannot know if it is actually a func call, or a func definition.
Because of precedence, it first has to assume that it is a func definition and only when it does not find a trailing ->, it backtracks and parsers a b c as expressions, composing a function call.

Could we instead make it right-associative?
e.g. with:
let f = x y -> x z -> x + y + z

If -> is right associative, then this would be parsed as:
let f = x y -> (x z -> x + y + z)

If it's left associative, it would be parsed as:
let f = (x y -> x) z -> x + y + z

...which seems wrong.
To take your examples:
let my_func = a b c:x -> (x -> a + c b)  # this applies with no parentheses too

vs.

let my_func = a b -> (c:x -> a + c b)

and
let my_func = a -> x -> a + x  # this applies with no parentheses too

vs.

let my_func = a -> (x -> a + x)

?

Oh, we could absolutely make it left or right associative (one of these is the current behavior), but my point is that parsing this is much harder and less performant than it needs to be.
This applies to all function calls: when parsing join albums side:left (==album_id), the parser has to traverse all the way until ( before it can conclude that this is not a function declaration.
I'm all for minimal grammar, but I do think having a func keyword would benefit performance and ambiguity.
(even with the keyword, we still need to decide on left/right-associativity)

I was less keen on the func keyword, but not immovably so.
I agree it slows down the parsing a bit. But the parsing is still pretty fast! And at least how I understand it, it's not ambiguous to humans? Though possibly that's because we so rarely see nested function definitions.
I also really like the clean aesthetics of the current form, and only having one form of function definition. Though aesthetics aren't that good a reason, and the latter point would hold if we mandated func...

Presumably a language such as Haskell is similar? i.e. f x y = x + y could be lots of things until the =?

Presumably a language such as Haskell is similar? i.e. f x y = x + y could be lots of things until the =?

I don't know haskell, but I don't think that's the case. Aren't all terms before = always function name and its args?

Aren't all terms before = always function name and its args?

Yes but same as with PRQL — until we get to the = (or it our case, the ->) — it could be lots of things.
In particular f could be a function being applied to two arguments, x and y?

I've looked into Haskell and it does not have this problem.
That's because f x y = ... cannot be an expression, only a statement. This means that in this statement:
a = f x y

... f x y cannot be a start of a function declaration, no matter what we add onto the line.
For anonymous functions, Haskell does have a leading denomination:
a = \x y -> x + y

I know that this might seem like a detail, but I can have major performance implications. An extreme example would be:
let x = a b:(1 + 2 + ...) c:(1 + 2 + ...) d:(1 + 2 + ...) ... z:(1 + 2 + ...)

Here, parser would first try to parse this as a function declaration - all of the parameters and all of their default values, only to encounter an end of the line, conclude that this is not a function declaration, throw this all away and start again, parsing as a function call.
I wish we could reuse the parsed args, but they do a slightly different syntax (type annotations), so this would be hard to pull off.

In Haskell, I don't think so, no. (I have a very limited knowledge of Haskell, correct me if I'm wrong).
If I understand correctly, a statement has to start with variable / function name, followed by parameters, followed by =.

What do folks think about removing func now that we have line continuations? Exactly one way to do things etc etc...

@max-sixty This discussion so far has been highly technical, targeted at people who're deeply familiar with PRQL innards. As someone who might wind up writing/tweaking documentation for this, I would enjoy more explanation:

Where is func used now? I thought it had been replaced by let...
What does this have to do with line continuations?

Thanks, as always.

If I understand correctly, a statement has to start with variable / function name, followed by parameters, followed by =.

Sorry to belabor the point, but to ensure we're sharing understanding on this example. IIUC (also not an expert), this is valid Haskell:
f :: Int -> Int -> Int
f a b = a + b  -- Function definition

...but so is...

x = 10
y = 20

f x y  -- Function application

(even though that final statement isn't doing anything, it's still valid IIUC)
The point re before the = is important — i.e. once we get to the =, then we know it's a definition — in the same way once we get to the ->, we know it's a definition.
Does that make sense? (If I'm correct it doesn't mean that we have remove func obv! Instead I wanted to understand where we were vs. other languages.)

Where is func used now? I thought it had been replaced by let...

It broadly has! But it's still valid, and allows multi-line function definitions (check out PR for examples). So now we have line wrapping, one proposal is to replace it. Another proposal is to bring it back, to make the parser simpler...


test: add test for session action failing by TIMEOUT

What was the problem/requirement? (What/Why)
When tasks take more time than the defined timeout in the job template, the worker agent should FAIL the corresponding session action with progressMessage containing a "TIMEOUT" string.
We should add testing to verify this functionality.
What was the solution? (How)
Add a test to verify this functionality with session action TIMEOUTs.
Also moved around the tests involving job attachments so that they run first as they test with the most user-like behaviour.
What is the impact of this change?
Better worker agent code quality
How was this change tested?

No
Is this a breaking change?
No
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The PR's name vs content is very different. The PR has many more test cases than the title.

As I've put in the description, I've moved around some of the tests.


WTF??? samsung scx-3400 series

the document is a word document.
And the test page works. Weird


unpublish NA freelance product designer ad

okay....not sure why my old commits show up here? not sure how to remove them from this PR as well.....
But anyways, we're not going with freelancers anymore so unpublishing this.

thanks Jon — you have to make sure your local is even w/whats upstream — I'll update this real quick!


upate tenant name with domain.

Users are not able to fetch api results because in the documentation for API (config.json) file it is written as below:
credentials -> tenantName: The first part of your Azure AD B2C tenant name. FOR EXAMPLE CONTOSO. which is wrong,
PLEASE ADD full domain contoso.onmicrosoft.com

@Jamal8548
Thank you for your contribution. This error has been corrected using another PR by our internal team, but the change will take a few hours before it goes live. For now, we'll close this PR. #please-close


Document how to escape curly braces in Markdown

We currently don't document how to prevent a text like {some content} inside a Markdown file from being treated as a JS expression.
It works should work by replacing the opening brace with its HTML entity: {
I think we should document this in our Markdown section.

Thanks @hippotastic!
I’m adding this section now, but it looks like it doesn’t work 😞
Adding { errors with ReferenceError: variable$$render is not defined from the default export of the Markdown file.

I guess this warrants creating a new bug in the main repo then! I'm gonna head over there and create one. 😅

Thanks!
I can write this code block without any problems
```markdown
{curly
```

But using the entity in a paragraph or whatever breaks:
Escaped {curly}

Aaaaand, same goes for <:
error: Cannot read property 'exports' of undefined

What should work is escaping it like this: {'{'}
But of course that doesn't look very pretty and I would advise not documenting this and fixing it instead.

Given that we are NOT documenting @hippotastic 's LOVELY workaround...
Do we close this issue? OR do we put an issue in Troubleshooting? I know it came up on Discord recently, but I'm not sure how much of an issue this is. And, if we fix it... then we have to go take this out...
Close? What do we think?

I'd say we wait until it's fixed and then document it! 😄

Yup! https://github.com/withastro/docs/pull/993 should be good to go once this is fixed.

Will merge #993 to close this once we’ve upgraded to the RC release of Astro!


Refs #32339 -- Allowed renderer to specify default form template name.

This is an attempt to pull out some parts from #15241 to make it more manageable.
I think we can do it in three steps...

Allow the renderer to specify default form template name. (This one.)
Add the <div> template
Deprecate the default.html template.
Update all the docs examples to favour <div> (maybe part of 2 but ...)

What do we think?
(Release notes and tests.)

Thanks for the quick review @felixxm. I've pulled in your suggestions, intially
documented BaseRenderer in a separate commit, and added a test-case for
customising FORM_RENDERER.

Hey @smithdc1 — thanks for your comments 👍
I just comment on this now:

Labels, BaseFormSet, and ErrorDict et al all have a template_name. However, as I don't think BaseRenderer will be able to easily tell which type of object it's rendering and therefore which template it should use, maybe there's not much we can do here.

My thought would be that we don't need API here. The number of people customising ErrorDict rendering (say) could probably all dine at a single table at a DjangoCon... 😄 — Let them use the existing API.
FormSets maybe... 🤔
Let me ponder over the weekend.
Assuming we're agreed on the general approach, I can clean-up and we'll get it in at the beginning of next week.
Then adding a <div> template (plus a renderer, to opt-in to use it) should be addressable. ("In order to improve form accessibility, a new div based form template is available...")
We've still got time for 4.1a1 so, hopefully we can get as far as the deprecation of default.html too. Updating all the docs examples can be done slightly later if needed. (So we should have time.)

OK, so.. Take 2. 😅
Thanks for the previous comments @smithdc1! After talking with @felixxm, I've
adjusted to make template_name a property on both Form and Formset that
will pull the respective value from the renderer.
This is quite tightly-coupled, but there is no form or formset without a
renderer already, and the only alternative I could see was passing the
instance/type into the render method to let the renderer do the choosing
there. (That didn't strike me as any better, and the diff came out tiny, so...)
Adding the property allows folks to override with a string as they are now, and
it gives us the FORM_RENDERER hook to both opt-in and opt-out of deprecating
default.html once the div.html template is in place.
As such, I think it's about what we need. What do you think?
Thanks!


Webdriver: added --bail options for MochaJS. Actually isn't --bail use.

mocha.opts was removed and mochajs options added:
--reporter spec
--ui bdd
--compilers coffee:coffee-script/register
--require coffee-script/register
--timeout 70000
Options timeout will be in some next revision configurable with some default value as well as reporter.
How to use:
./node_modules/.bin/webdriver  [--bail|-b]

@jaroslav-kubicek pls CR :-)


sortfunctionality for loading data with the Python API

Is your feature request related to a problem? Please describe.
I need to have the most recent 100 entries sorted on the last updated DateTime without getting all data.
Describe the solution you'd like
I would like to have rg.load("name", limit=100, sort=[("field", "asc|desc")])
Describe alternatives you've considered
N.A.
Additional context
looking at the UI payload for sort, this should be possible

@frascuchon I think the sort should default to event_timestamp by default from the serverside. I feel that having added new records, I would always expect to see them at the top of the page/dataset as confirmation.
I also added an initial test.

I've been taking a look into the implementation details. We must tackle this carefully since changes would be a bit more difficult.
We're using a more performance pagination for elasticsearch (see here), but it depends on how sorting is setup.
We will include this info in the next_idx field to apply to sort as expected. I will create a separate PR to add sorting to this endpoint.


The backend adjusts the lobby entity according to the customizations it receives from the frontend

closed with commit 2099ca2336f401b8cb641e0623f1664f62f8c484


[[Power-Fx]] Localization hand-back [CTAS - RunID=20230530-235707-5y8x0bvy57]

Translation handback check-in (PR Created by automation).

✅ No public API change.


AZ-204_lab_02.md

English:
Note: Wait for the creation task to complete before you proceed with this lab.
Current Translation:
Remarque : Attendez que le chargement du blob soit terminé avant de poursuivre ce labo.
Suggested Translation:
Remarque : attendez que le chargement du blob soit terminé avant de poursuivre ce labo.
Description:
after "Remarque / Conseil / Avertissement : " instruction is not to use upper case when no line break. As a general rule, this instruction has been applied in this file, except in some segments. Please make a global search and fix them to ensure global consistency, thanks

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Run bugfix tool and waiting for result ICMS QUERY


Add smoke/sanity tests for various Adopt repos/builds

While we have been focussing on testing the main jdk builds, given some recent issues reported to other AdoptOpenJDK repos/efforts, we should check with different teams about adding some simple tests to verify the other 'products' hosted at the project, like installers and JMC, etc.
Related:
https://github.com/AdoptOpenJDK/openjdk-website/issues/598
https://github.com/AdoptOpenJDK/homebrew-openjdk/issues/202
https://github.com/AdoptOpenJDK/openjdk-installer/issues/172

Closing this in favour of https://github.com/AdoptOpenJDK/openjdk-tests/issues/2024


GEODE-9230: Remove magic numbers in GfshParserAutoCompletionIntegrati…

…onTest
GfshParserAutoCompletionIntegrationTest uses magic numbers in some tests. They depend on the number of possible parameters of start server command.
That means that when a new parameter is added to the start server command, some tests verifying the gfsh autocompletion feature are impacted, which has no sense.
The number of parameters can be calculated instead of hardcoded in order to remove this dependency.

Code is ready but checks failed due to flaky test, so I have added an empty commit to get all tests passed.

CI failed due to distributed test org.apache.geode.management.AEQManagementDUnitTest.testCreateAEQWithDispatcherInPausedStateAndResumeAndVerifyUsingMBean which is listed in the latest mass test report


Add terminal quick picker

If you type in term␣ in quick picker, you get a list of active terminals

This is like viewPickerHandler, but only for terminal.
Addresses #29879 . Doesn't have a command attached to it yet for a keybinding.

This looks awesome!