Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Podcast player #750

Merged
merged 21 commits into from Mar 11, 2021
Merged

Podcast player #750

merged 21 commits into from Mar 11, 2021

Conversation

bHelland
Copy link
Contributor

@bHelland bHelland commented Jan 27, 2021

Designmanual: ?path=/story/enkle-komponenter--lydavspiller

  • Fjernet gamle måten å initiere lydavspiller på. Eget script i AudioPlayer som rendrer playeren på nytt med ReactDOM. Dette initieres i ArticleContent
  • Endret audio-player til å kunne vise bilde, beskrivelse, tekst

Generelt:

  • Oppgradert TypeScript og eslint til siste versjon og fikset feil som følge av det. TypeScript måtte oppgraderes grunnet avhengig i ekstern pakke
  • Siden måten audioplayeren rendres på er man avhengig av at article-converter oppgraderes samtidig som front-end oppgraderes

Ser at snyk feiler pga en nøstet avhengighet i "@typescript-eslint/eslint-plugin@4.14.1" og "@typescript-eslint/parser@4.14.1" Regner med at det kommer en fiks på det

@ingeborgsteel
Copy link
Contributor

Ikke akkurat krise, men uttale-tabellen ser ikke helt riktig ut i now-deplymenten. Vet ikke om det kan være den layoutwrapperen kanskje?

Skjermbilde 2021-02-02 kl  10 11 36

@bHelland
Copy link
Contributor Author

bHelland commented Feb 3, 2021

Ikke akkurat krise, men uttale-tabellen ser ikke helt riktig ut i now-deplymenten. Vet ikke om det kan være den layoutwrapperen kanskje?

Skjermbilde 2021-02-02 kl 10 11 36

Fikset

@gunnarvelle
Copy link
Member

Snyk-feil kan som regel fikses med å merge inn master i branch.

};
staticRenderId?: string;
};
const AudioPlayer = ({
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser at type er fjerna som props. Nokon spesiell grunn til det?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"type" er ikkje eit attributt på elementet, men kan brukast på underelementer ved fleire format. Vi tar kun imot ei fil så difor brukar vi ikkje

@@ -318,6 +318,7 @@ const SearchPageDemo = ({ t }) => {
dispatchResources({ type: 'RESOURCE_TYPE_SELECTED', ...data });
}
}
// eslint-disable-next-line react-hooks/exhaustive-deps
Copy link
Contributor

@elenaand elenaand Feb 4, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hva er det du disabler når du disabler react-hooks/exhaustive-deps? Fra et raskt google søk ser det ut som om det ikke er best practice (facebook/create-react-app#6880 (comment))

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

disabler følgende warning:
warning React Hook useEffect has a missing dependency: 'resourceItems'. Either include it or remove the dependency array react-hooks/exhaustive-deps

Etter oppgradering av typescript så var det en del slike som dukket opp. Har fikset de fleste, men det er et par i designmanulen som krever noe omskriving, derfor disablet jeg de. Siden de er i designmanualen og ikke i pakkene så tenker jeg at det ikke er så hast med å fikse

@gunnarvelle
Copy link
Member

Forsøkte å linke inn alle pakker fra denne PR i både article-converter og ndla-frontend og kjøre begge lokalt, men audioplayer vises ikkje. Feilmeldinga som eg får i konsollet er:

Uncaught TypeError: context.formatMessage is not a function
    at t (injectT.js:29)
    at Controls (Controls.js:381)
    at renderWithHooks (react-dom.development.js:14803)

Har du fått dette til å fungere?

@bHelland
Copy link
Contributor Author

bHelland commented Feb 4, 2021

Forsøkte å linke inn alle pakker fra denne PR i både article-converter og ndla-frontend og kjøre begge lokalt, men audioplayer vises ikkje. Feilmeldinga som eg får i konsollet er:

Uncaught TypeError: context.formatMessage is not a function
    at t (injectT.js:29)
    at Controls (Controls.js:381)
    at renderWithHooks (react-dom.development.js:14803)

Har du fått dette til å fungere?

@gunnarvelle det har funka ja. Testa vel ikkje etter dei siste commitsa mine. No får eg ei anna feil i article-converter:

[2021-02-04T09:56:02.314Z] ERROR: article-converter/14646 on Bjrnars-MacBook-Pro.local: Invariant failed: You should not use <Link> outside a <Router> Error: Invariant failed: You should not use <Link> outside a <Router> at invariant (/Users/bjornar/Sites/NDLA-frontend-packages/node_modules/tiny-invariant/dist/tiny-invariant.cjs.js:13:11) at Object.invariant [as children] (/Users/bjornar/Sites/NDLA-frontend-packages/node_modules/react-router-dom/modules/Link.js:88:11) at ReactDOMServerRenderer.render (/Users/bjornar/Sites/NDLA-frontend-packages/node_modules/react-dom/cjs/react-dom-server.node.development.js:3635:55) at ReactDOMServerRenderer.read (/Users/bjornar/Sites/NDLA-frontend-packages/node_modules/react-dom/cjs/react-dom-server.node.development.js:3373:29) at renderToStaticMarkup (/Users/bjornar/Sites/NDLA-frontend-packages/node_modules/react-dom/cjs/react-dom-server.node.development.js:4004:27) at renderFunc (/Users/bjornar/Sites/article-converter/src/utils/render.js:23:10) at renderInternal (/Users/bjornar/Sites/article-converter/src/utils/render.js:35:10) at Object.embedToHTML (/Users/bjornar/Sites/article-converter/src/plugins/relatedContentPlugin.js:171:12) at embedToHTML (/Users/bjornar/Sites/article-converter/src/replacer.js:28:33) at callback (/Users/bjornar/Sites/article-converter/src/replacer.js:15:11)

@bHelland
Copy link
Contributor Author

bHelland commented Feb 4, 2021

Sjå foreløpig bort fra kommentaren min over. Ser ut til at linkinga mi ikkje fungerer heilt

@bHelland
Copy link
Contributor Author

bHelland commented Feb 4, 2021

Linkinga mi er ok. Får feilen i article-converter som nevnt ovanfor på artiklar med relatert innhold. Dette skjer også i master! (f.eks: http://localhost:3000/nn/subject:35/topic:1:190662/resource:1:102239?filters=urn:filter:26a01df2-376e-4090-b0bf-eec2ca3d41dd)

Feilen som @gunnarvelle får klarer eg også å gjenskape på artiklar utan relatert innhold(som då klarer å rendrast av article-converter) i branchen audio-player

EDIT: Mangla linking i article-converter til "react-router" og "react-router-dom". Relatert innhold fungerer difor. Sjå bort ifrå fyrste punkt

@bHelland
Copy link
Contributor Author

bHelland commented Feb 4, 2021

Siste commit fikser oversettelse problemet. Bør kanskje lage en egen provider komponent i ndla/ui som kun tar imot locale og håndterer messages selv

@gunnarvelle
Copy link
Member

Testa siste versjon og no får eg opp lydavspilleren som det skal. Men om eg klikker på Bruk lydfil i avspilleren så klarer eg ikkje lukke dialogen som dukker opp. Ser ikkje kvifor dette skjer.

@bHelland
Copy link
Contributor Author

bHelland commented Feb 8, 2021

Testa siste versjon og no får eg opp lydavspilleren som det skal. Men om eg klikker på Bruk lydfil i avspilleren så klarer eg ikkje lukke dialogen som dukker opp. Ser ikkje kvifor dette skjer.

Har du url til artikkelen dette skjer? Eg får ikkje gjenskapt feilen på artiklar som eg testar

@gunnarvelle
Copy link
Member

I test: https://test.ndla.no/subject:14/topic:1:185588/topic:1:185591/resource:1:75437 Lydavspiller nederst i artikkelen.

@bHelland
Copy link
Contributor Author

bHelland commented Feb 8, 2021

Klarer ikkje å gjenskape det lokalt. Alle lydavspelarane i artikkelen virker og får lukka modalen. Testa i Chrome og Safari.

@gunnarvelle
Copy link
Member

Då er det sikkert berre problemer lokalt hos meg.

Copy link
Member

@gunnarvelle gunnarvelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Kan merge inn master for å fikse snyk evt.

@gunnarvelle
Copy link
Member

Dette er vel forresten breaking i ndla-ui så vi må passe på det ved publisering.

@gunnarvelle
Copy link
Member

Snyk-feilen er på grunn av en ny avhengihet i es-lint-pakka @typescript-eslint/eslint-plugin. Men det er ingen nyere versjon som løser det så usikker på om dette er et problem.

@bHelland
Copy link
Contributor Author

Snyk-feilen er på grunn av en ny avhengihet i es-lint-pakka @typescript-eslint/eslint-plugin. Men det er ingen nyere versjon som løser det så usikker på om dette er et problem.

Det er ein fiks på veg: gulpjs/glob-parent#36

@gunnarvelle
Copy link
Member

Snyk-feilen er på grunn av en ny avhengihet i es-lint-pakka @typescript-eslint/eslint-plugin. Men det er ingen nyere versjon som løser det så usikker på om dette er et problem.

Det er ein fiks på veg: gulpjs/glob-parent#36

Kult. Då kan vi jo avvente denne litt til fixen er ute.

LicenseDescription.propTypes = {
children: PropTypes.node,
licenseRights: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
messages: PropTypes.shape({
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typescript liker av en eller anna grunn ikkje shape ved validering. Det enkleste var å fjerne propTypes då denne uansett er erstatta av Props.

aria-label="play">
<span aria-hidden>
{playing ? (
<Pause role="img" aria-label="pause" title="play" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det som ikkje gir meining er at både role og aria-label er aria props, men TS reagerte kun på role. Så eg måtte legge den til på IconProps for at koden skulle validere.

@gunnarvelle gunnarvelle merged commit 95068f2 into master Mar 11, 2021
@gunnarvelle gunnarvelle deleted the audio-player branch March 11, 2021 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants