Chrunchyroll Preview Clip

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2<IP_ADDRESS>. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-u', 'PRIVATE', '-p', 'PRIVATE', '--sub-lang', 'esLA', '--verbose', '-o', '-', 'http://www.crunchyroll.com/rezero-starting-life-in-another-world-/episode-24-the-self-proclaimed-knight-and-the-greatest-knight-702447']
[debug] Encodings: locale cp1252, fs mbcs, out cp1252, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.4.4 - Windows-10-10.0.10586
[debug] exe versions: rtmpdump 2.4
[debug] Proxy map: {}
[Crunchyroll] Logging in
[Crunchyroll] 702447: Downloading webpage
ERROR: Este es un clip de muestra. Para ver el video completo, inicie una prueba gratuita hoy!; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\YoutubeDL.py", line 691, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\common.py", line 347, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpj47q005f\build\youtube_dl\extractor\crunchyroll.py", line 295, in _real_extract
youtube_dl.utils.ExtractorError: Este es un clip de muestra. Para ver el video completo, inicie una prueba gratuita hoy!; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description of your issue, suggested solution and other information
I'm trying to stream chunchyroll to mpc-hc but it always says that it's a preview clip. I tried with cookies, .netcr and manualy typing username and password giving always the same error

Exactly the same error since yesterday.

Yes we have the same problem on crunchy , something has changed :)

It seems that somerhing has changed in the login form. So when requesting a video the website seems to not recognize the account.

Same, it's a login problem with youtube-dl

Exactamente el mismo Error / El form login de Chrunchyroll fue cambiado el 13/09/2016
(Exactly the same error / Crunchyroll... login form was changed on 13/09)

Just wait the update of the exe now ^^

thanks
...now, waiting the update of the exe

Wow thanks. I'll wait then ^.^


CSV cannot be opened in Numbers, Google Sheets

I'm also having this problem, and it's now four months on – does anyone from The Met check the Github account to view and address bug reports?
I'm thinking perhaps not, as there are currently 23 open requests.  The last update I can see is over two years ago – Nov 2020 – is anybody there?  👻


applet.internal.selftest: permit pin mapping to be direct instead of swapped

Currently, the glasgow run selftest pins-loop test requires that pins are mapped as opposites / swapped (i.e: A0:A7 to B7:B0).
I don't think it's possible to achieve the required mapping with ribbon cables, as each port's data pins would end up on the opposite port's ground pins (in a cable where pin 1 maps to pin 20 on the other end).
As I have direct cables to hand (where pin 1 maps to pin 1 on both ends), I'd like to use this to perform the self test, instead of 8x jumpers.
This patch adds a --pinmap-straight flag that permits the "straight-through" A0:A7 -> B0:B7 mapping, instead of the "straight across the board" mapping that currently stands.
It's not likely to be beneficial for production runs where a test jig is available, but should help those who don't have access to one, and are bringing up / testing a non-trivial number of boards.

You can use a ribbon cable crimped with an offset.

You can use a ribbon cable crimped with an offset.

... that's a very fair point.
I'm not sure how common that'll be as an "off the shelf" part though, and I don't have any parts to hand (or a cable that I'm willing to rework).

I've never used off-the-shelf ribbon cables with Glasgow; it's really easy to crimp IDC cables so there's no point.

I second this, I have some off-the-shelf straight through cables and would be great to be able to use them here. Currently I am just using jumpers. I think everybody playing with a glasgow should have jumpers available, so I don't think this matter that much, but IMO it would definitely be a good addition.

As I have direct cables to hand (where pin 1 maps to pin 1 on both ends), I'd like to use this to perform the self test, instead of 8x jumpers.

I have to admit that for some reason it did not occur to me (while writing the selftest applet) that you could simply twist the cable. That's clearly much easier for everyone (myself included!) so I think we should just switch the selftest applet to always assume that.

it did not occur to me that you could simply twist the cable
Ah, yes - I should have been more explicit, sorry.

I think we should just switch the selftest applet to always assume that.
Done! --pinmap-swapped is available if you need the "old" behaviour (i.e: A0:A7 to B7:B0).

--pinmap-swapped is available if you need the "old" behaviour (i.e: A0:A7 to B7:B0).

I was suggesting to make the new behavior the only available. Even I don't actually have a selftest cable crimped according to the "old" behavior because... I accidentally crimped it for the "new" behavior but also made it too short to be usable.

I was suggesting to make the new behavior the only available.

Ah, okay. How's this?


AES-CBC padding buffer length passed to PaddingProcessor is too short

Decrypting a a 32byte payload with AES-CBC with a key of 256bit and iv of 128bit and a custom padding scheme (\n followed by \0, legacy code compat) the stream buffer available to
fn strip_output<R: ReadBuffer>(&mut self, output_buffer: &mut R) -> bool {

output_buffer has only a length of 16 bytes and not 32 as I would have expected.
This was determined by output_buffer.peek_remaining().len()

Doesn't AES always have 128 bits for the block size? 256 refers to the key size.

Yes you are right, block size is 128bits - always - independent of the key length. My issues were elsewhere. Sorry for the noise.


Add support for context caching

What feature would you like to be added?
Certain APIs have support for context/prompt/prefix caching, notably Gemini and Claude as well as any local LLM. OpenAI also started supporting this not long ago. This enables calls that condition on the same prefix (chat history) to be faster as they cache the context. However, I am not sure if we can have caching infrastructure be independent of the API provider or rather support caching for each provider.
Why is this needed?
Speed up inference time

@husseinmozannar Moved your issue here.


Fix image link for HN logo on Chrome extension

This PR will prepend a HN absolute URL on the HN logo by search and replacing on the "y18" image. This required a slight modification to the processHTML function in order to add search and replace on "src" attributes in addition to "href" attributes.

Great thanks so much @Coteh!


feat(cart): add cart item price selectors

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the new behavior?
Adds selectors for cart item total discount, price, quantity, and row total.
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

/azp run


Warning if no builds available

Currently, if no builds are available, either because of semver issues, or because there's no tags, there's no errors or guidance.

Created an issue to do something similar for the front end: https://github.com/mlab-lattice/api-services/issues/425


Add Markdown linting to CI

One of a few PR items related to the linting discussion in #17
The commits became lengthy so it made sense to split across multiple PRs.

Use markdownlint-cli2 (Node.js) to identify Markdown linting issues
Fix Markdown linting issues
Add GitHub Actions Markdown linting

I think I am not willing to take in a js dependency for this
let's use markdown in a container image -- https://github.com/markdownlint/markdownlint/tree/main/tools/docker

@hellt
Maybe I'm wrong here ...

If someone wants to use fnsort they don't need Node.js anything.
Which is different than if one wants to develop fnsort, at which point certain tools are needed to do that work and testing.
And if one was to specify Docker container usage as part of the "local build environment" now Docker becomes a hard-fast dependency for development, no way around it.

At a minimum we could get the linted/fixed files and the markdownlint-cli2 config file (which is used by GitHub Actions). From that point, local development steps and a Makefile is a moot point.

That is correct. And I will take docker as dev dependency ahead of JS any day

@hellt
I'm going to ask a few questions to get a solid direction so I can pull this Markdown piece the last few steps across the finish line.

Node.js Docker image ok to use or not?

(If "no" then I know I have to rework for the Ruby Docker container, which is ok, but I want to avoid reworking things for a fourth time.)
Thank you!

@hellt
I've removed the Node.js package lock files and what not.
(The Docker image bits will come in the eventual PR for the makefile.)
Essentially this PR has changes to:

fix the Markdown files with results from linting
includes the markdownlint-cli2 configuration files used to lint and validate conformity

I'd using either is fine, they must be compatible as far as their config goes. Take one that you referred to and see how it goes

I believe you're referring to the linting rules.
As I understand, markdown-cli2 uses DavidAnson/markdownlint -- the latter is based/inspired by the Ruby markdownlint project. I would expect the linting rules to be close if not identical.
I've found the markdownlint-cli2 to be more flexible in that one can specify globs (for file patterns to lint) right in the configuration file! (So far I haven't seen that from the Ruby version.)
The config files are different Node.js version vs Ruby version, but if the result is the same, how much does it matter?
I'm going to mark this one "ready for review".
If you find anything please note it here.


Default port overrides requesting a system assigned port

Expected Behavior
When running a flask application with app.run(port=0), flask should pass the '0' port down to werkzeug to use a port assigned by the operating system.
Actual Behavior
The logic in flask/app.py:932 sets the port to the default 5000, which can cause port conflicts, which is the exact situation that setting port=0 should avoid. This is a regression from the behaviour exhibited in prior versions.
>>> app.run(port=0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/.../lib/python3.6/site-packages/flask/app.py", line 943, in run
    run_simple(host, port, self, **options)
  File "/.../lib/python3.6/site-packages/werkzeug/serving.py", line 814, in run_simple
    inner()
  File "/.../lib/python3.6/site-packages/werkzeug/serving.py", line 774, in inner
    fd=fd)
  File "/.../lib/python3.6/site-packages/werkzeug/serving.py", line 660, in make_server
    passthrough_errors, ssl_context, fd=fd)
  File ".../lib/python3.6/site-packages/werkzeug/serving.py", line 577, in __init__
    self.address_family), handler)
  File "/.../lib/python3.6/socketserver.py", line 453, in __init__
    self.server_bind()
  File "/.../lib/python3.6/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/.../lib/python3.6/socketserver.py", line 467, in server_bind
    self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use

Environment

Python version: 3.6
Flask version: 1.0.2
Werkzeug version: 0.14.1

Makes sense. Marking this as beginner friendly, I'd be happy to review a PR.

Hi, I'd like to try and fix this one.

This issue occurs because port 0 is reserved by system, use port 1025 and above (best example is port = 5000)

I think it's closed

Is this one still up for grabs ?

No, there's a PR for it (see above)

Yeah but it as inactive for over a month. That's why I asked.

@Man-Jain you can politely ask the PR implementor to see if he can fix the PR comments otherwise you can fork his PR and try to fix it yourself if you are in a hurry.

The PR is fine, I just haven't got around to merging it.

Is the fix coming any time soon? This issue forces me to use an old version.


Less memory use feature: add watchHash to ngModelOptions

Watchers check watched expression value differences and for this to work they save previous value. The problem is that this can have a major impact on resources as sometimes our model values are pretty large (i.e. users editing HTML content or textareas where users enter large amounts of text).
As these watched model values may be large it would be great if Angular had an additional ngModelOption called watchHash that would rather calculate hash of the model value and compare that. This hash calculation can be extremely simple to aid performance.
Here's a JSPerf example of various checksum/hash algorithms comparison.
The simplest checksum calculation can simply do the
checksum += value.charCodeAt(i) * (i + 1);

where resulting calculated value becomes larger with longer inputs. This may not be desired and we'd like to have a more evenly distributed value calculation (more like a real hash/checksum). Hence I'm currently using following watch string input calculation that's also quite fast. not as fast as simple summation, but still pretty fast.
function checksum(value) {
    // prime and factor used to ensure larger input does not imply larger checksum
    var prime = 0x56ca7561;
    var factor = 0x0123456b;

    // return 0 if string is empty or null
    if (!value) return 0;

    for (var i = 0, l = value.length, result = factor; i < l; i++)
    {
        result += value.charCodeAt(i) * factor;
        result &= 0x7FFFFFFF; // convert to 32-bit positive integer
        result ^= prime;
    }

    return result;
}

So whenever we'd know that our model value will be large, we can add this model option to instruct Angular to calculate hashes instead comparing whole values in watcher.
<textarea ng-model="someValue" ng-model-options="{ watchHash: true }" />

Default could also depend on bind type we're doing in our code:

if we're using ng-bind or interpolation then default watchHash would be false
if we're using ng-bind-html default would be true

Not caching the oldValue however means that you cannot access it in the watchAction fn. This might be an acceptable tradeoff if you want performance, but it's definitely a bit confusing.
That said, I think custom copy / compare functions might be the way to implement such a feature: 10096

That's true, but when you need this kind of functionality I suppose one's aware of it. And we should see what percentage of examples old value is being used. I suspect developers mainly use new value.


Sapcal 15 sp4 additional packages

As requested by Antonia Bahneva-Stoilova from SAP the following packages should be included in the SLES 15 SP4 SAPCAL images:

xmlstarlet
libcap-progs
openssl
libicu60_2
jq

Used wrong branch to merge into.


chore: rename EngineTypes to BinaryType

https://github.com/prisma/prisma/issues/7694 might be a place to do that :D

Checked with Will, and this PR makes the code easier to understand because we had a mix of things before. So it's easier to read/understand & rename after this.

So the code is currently consistently referring to what is the Engine as the Binary and now at least it is consistent?

https://github.com/prisma/prisma/issues/7802

Yes. The gist of this is this https://github.com/prisma/prisma/pull/7791/files#diff-51de7854c0cd4d96d3e28f1415061b8b16734f70d4ed34ba71ff2b79757acd81L35-L41
-export enum EngineTypes {
+export enum BinaryType {
  queryEngine = 'query-engine',
  libqueryEngineNapi = 'libquery-engine-napi',
  migrationEngine = 'migration-engine',
  introspectionEngine = 'introspection-engine',
  prismaFmt = 'prisma-fmt',
}

and EngineType is this
https://github.com/prisma/prisma/blob/6a5729f4fab91d78930c1a8f4b3eecc65600f2b2/src/packages/generator-helper/src/types.ts#L82-L87


One-to-one relation should be able to be used in connect without specifying @unique

Problem
The one-to-one relations are already marked as unique in the database by prisma. They should thus be available in the connect as are the normal unique fields.
Suggested solution

I think the simplest change would be that the formatter adds a @unique automatically.
The more complex solution would be for the model to detect that it is unique and use it directly.

Alternatives
Manually add a @unique on the scalar field`
Additional context
When you add the @unique to an existing relation is renames the index:
ALTER INDEX "public"."Model_userId" RENAME TO "Model.userId"

Not sure if that is because of a new version of migrate or because it is the way the generator detects that a property is unique?

Hello @Sytten,
can you please add schema and resulting client API code vs desired code? Thanks.

This is less important now with findFirst, but still:
model Availability {
  id     String @default(cuid()) @id
  user   User   @relation(fields: [userId], references: [id])
  // Explicit unique is required until https://github.com/prisma/prisma/issues/3473
  userId String @unique
}

model User {
  availability AvailabilityApp?
  id                String                  @default(cuid()) @id
}

In the database, prisma migration already create a unique index for the userId field but the query part doesn't pick it up.

Yes you can use userId in findOne and don't need to make findMany then [0] but now you can make findFirst

I would assume this got fixed by this PR. https://github.com/prisma/prisma-engines/pull/2262
Since the parser now adds the implicit unique it makes its way into the dmmf and then generate. It should therefore result in the desired client API. Please re-open if that is not the case.


Graphics: add "." as operator to POV-Ray lexer

Dot is used in POV-Ray to access vector coordinates.
#declare vec = <1,2,3>;
vec.x
vec.y
vec.z

The "." is currently rendered as error. I have seen that in other languages, dot is classified as Operator so I added it.

@Jean-Abou-Samra Thank you for pointing that out, I am not a daily Python developer.
I futher elaborated on the lexer, adding more operators and fixing the float parsing logic to match the official grammar. I also added two files from the POV-Ray benchmark suite as tests.

Thanks! Merged.


Access ng-model in update:callback

I have several < ul >'s dynamically generated on the same level of my HTML and they're all using the same sortableOptions. Is there a clean way to pass/access the ng-model of the < ul > that was updated in the callback method?
item.sortable.model is undefined.

ui.item.sortable.model should be answer (we also have tests for this) but keep mind that it gets cleared after stop callback fires.
Can you provide an example for your use case? Ideally a fork of one of the examples found README.

Here an example pen.
Feel free to re-open if something troubles you.


refactor(test/e2e): restore consistency across tests and remove redundant waitForAngular() calls

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Refactor.
Does this PR introduce a breaking change?
No.
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Other information:
Just a couple of refactoring commits, that:

Bring code-style consistency across "standalone" e2e tests.
Remove redundant calls to waitForAngular().

LGTM - merging


Remove pin on opencv-contrib-python-headless==<IP_ADDRESS>

Remove version pin for opencv-contrib-python-headless
This commit removes the specific version pin (<IP_ADDRESS>) for opencv-contrib-python-headless in the dependencies. Removing the version pin allows the project to use the latest available version of opencv-contrib-python-headless during installation.
Due, that I'm not part of the organization, the test could fall so please ensure to thoroughly test the project's functionality with the updated dependency configuration

Thanks @BreakingPitt

@all-contributors please add @BreakingPitt for code


Cypress eventRegistration test fails (canvas width)

Where to find the issue
Cypress test suite
eventRegistration.js.
Describe the issue
The Cypress test eventRegistration.js fails with the error:
expected <canvas#eventqrcode.d-none.eventqr-preview> to have attribute width with the value '827', but the value was '1654'
A related issue https://github.com/corona-warn-app/cwa-website/issues/2139 was already reported and resolved.
Steps to reproduce
npm run test:open
In Cypress console select and run:
eventRegistration.js
Suggested change
The Cypress test eventRegistration.js should be reviewed and updated to work with the current Event Registration form.
It looks like the changes from PR #2105 "Reintroducing multiQR functionality" broke the Cypress test.
Consider also making sure that the test covers the single and the multi QR code tabs of the Event Registration form.

Happy New Year to everybody!
I'm not planning to submit a PR for this. I did try to just change the width, but then another error came up:
#printCode
expected <button#printCode.btn.btn-secondary> not to have attribute disabled

It would be better for somebody who is familiar with the form and with Cypress tests to propose any changes.

Happy New Year to everybody!
I'm not planning to submit a PR for this. I did try to just change the width, but then another error came up:
#printCode
expected <button#printCode.btn.btn-secondary> not to have attribute disabled

It would be better for somebody who is familiar with the form and with Cypress tests to propose any changes.

@MikeMcC399
Happy new year! I'm checking this and discovered the origin of
#printCode
expected <button#printCode.btn.btn-secondary> not to have attribute disabled

This because of PR #2260, the start date inserted by the test is invalid due to new date check. I'm working on it, will be a new PR soon.

@MikeMcC399 @brifemu Happy new year. Thanks for report, analysis, and solution!

@brifemu
Thank you very much for picking this up! I wish you and @dsarkar a good start in the New Year!

PR #2277 resolved this issue.

PR #2730 has caused this issue to re-appear
PR #2740 is submitted to resolve the test issue

The issue is now resolved through PR #2740.


TIM-26 feat(feed): create timeline page layout

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#38  👈
#37
#36
#35
#34
#33
#32
#28
#27
#26
#25
#24
#23
#21
#20
#19
#18
#17
#16
#15
#14
#13
#12
#11
#10
#9
#8
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xdjeremy and the rest of your teammates on  Graphite


Feature: introduce hook for dynamic client side imports

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Description
There exist many libraries that depend on accessing window, so they can't be top-level imported and instead

<BrowserOnly> must be used (https://docusaurus.io/docs/advanced/ssg#browseronly)
useEffect can be used to load the lib and then set it...

Has this been requested on Canny?
No response
Motivation
Since this is a common usecase, it could be streamlined as a hook and be document s.t. new users can directly use it
API design
Introduce a new hook in the client api and document it here: https://docusaurus.io/docs/docusaurus-core.
The hook would look something like this:
import React from 'react';

const cachedLibs = new Map<string, any>();
export const useClientLib = <T>(dynamicImport: () => Promise<T>, moduleName?: string): T | null => {
    const [Lib, setLib] = React.useState<T>(moduleName ? cachedLibs.get(moduleName) : null);
    React.useEffect(() => {
        if (Lib) {
            return;
        }
        dynamicImport().then((Lib) => {
            setLib(Lib);
            if (moduleName) {
                cachedLibs.set(moduleName, Lib);
            }
        });
    }, []);
    return Lib || null;
};

And can then easily be used like this:
import React from 'react';
import type { default as ClientLib } from 'some-lib';
const SomeComponent = () => {
    const Lib = useClientLib<typeof ClientLib>(() => import('some-lib'), 'some-lib');
    if (!Lib) {
        return
Loading...
;
    }
    return <Lib.LibComponent />;
};

Have you tried building it?
I add this hook to all my docusaurus pages which needs some-lib-using-window - if there is interest to include this in dpcusaurus, i'm happy to put together a PR.
What i"ve not tried is to use it with relative imports (as you do here for the css (which should be fine to import directly?) https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx#L63 , anyway, the rest of the importDocSearchModalIfNeeded should work with the new hook...)
Self-service

[X] I'd be willing to contribute this feature to Docusaurus myself.

I'm not sure I want to introduce such an API until we have support for React 19, which may solve similar integration problems using core React APIs instead of Docusaurus APIs.
In the future, I plan to use the new React 19 prerender() API and encourage the usage of React.lazy(), <Suspense>, <ErrorBoundary> and
If we create a Docusaurus API, we'd probably build a quite limited one if we do not support loading placeholders, and handle failure/retry etc. To do it properly means implementing our own subset of React Query, while we could just use React and avoid introducing new APIs.

In the future, users of React component libraries using window could try this:
const LazyComp = React.lazy(() => import("some-lib-using-window"));

export default function Page() {
  return (
    <BrowserOnly>
      <Suspense fallback="...">
        <LazyComp>
      </Suspense>
    </BrowserOnly>
  )
}

For other imperative libraries, this could work:
const libPromise = import("some-lib-using-window");

function LibComp() {
  const lib = React.use(libPromise)
  return
{lib.doSomething()}

}

export default function Page() {
  return (
    <BrowserOnly>
      <Suspense fallback="...">
        <LibComp>
      </Suspense>
    </BrowserOnly>
  )
}

Does it make sense?

Thanks for the detailed insights, this makes sense and staying with the standards is indeed the better option. The sketched solution for the dynamic client side import looks elegant too... looking forward to this ;)
Do you want to keep the issue open as reference, or should i close it?

Great
We can keep it open and close it once we leverage React 19 properly to achieve that.
In Docusaurus v3 the React lazy/Suspense integration is quite experimental (I feel like they forgot SSG still exists, and not everybody uses HTTP streaming) and I discouraged users to use these features until we figure out how to use them properly: https://docusaurus.io/blog/releases/3.0#react-18
Now in React 19 there's proper support for SSG so in Docusaurus v4 we should be able to integrate properly and flag these features as stable.


Update issue templates

@lee212 If these changes look good to you, please merge and delete the branch or otherwise let me know. Thank you!


The local development errors

I want to run this app locally but got these errors:
1- In the example directory when running 'npm start':

Because there is no "react-multistep" in the dependencies. So I installed the "react-multistep" package and the above error is gone!
2- After that in the next try 'npm start':

Then in the local host browser "chrome Version 114.0.5735.199 (Official Build) (64-bit)" console shows:

Any idea to resolve these errors?!?!?!

it seems that you missed a npm run build  step?
cd ../example                 // (1) navigate to the example folder
npm install                   // (2) install dependencies
npm run build                 // (3) build the example
npm start                     // (4) start the local server

I did all the steps:

I think the problem happens when using the -f flag to copy contents. So I decided to do all steps manually. An error happens when using the cp command with the -f flag.

And when replacing the -f with -Force, it works perfectly, and the app runs very well!

Oh, I see... You are using powershell and copy command is different.
Glad you found a workaround.

On windows, change inst:comp in package.json to "inst:comp": "mkdir node_modules\\react-multistep && xcopy /Y /E ..\\build\\* node_modules\\react-multistep\\",

thanks, @filipecarneiro !


CJ Fire Sensei Battle

The Sensei Battle in Card Jitsu Fire does not work.

You should include some description of your issue. Add some logs for example

1: I've already confirmed with a dev that this feature is not yet implemented
2: Simple as when you try to battle Sensei, it goes to the Game, but there is a countdown infinite load. The X button does not work, so you have to relog.

Provide some logs of when you join the game.

Nah, I really don't see a point, considering this feature isn't even implemented yet, so it makes sense that it doesn't work. Cya Zazeth the "Expert"

Hideous behavior.


Az group create - Error

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az group create
Errors:
'NoneType' object is not callable
Traceback (most recent call last):
python3/dist-packages/knack/cli.py, ln 233, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 659, in execute
    raise ex
cli/core/commands/__init__.py, ln 722, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 715, in _run_job
    six.reraise(*sys.exc_info())
...
cli/core/commands/__init__.py, ln 330, in __call__
    return self.handler(*args, **kwargs)
azure/cli/core/__init__.py, ln 786, in default_command_handler
    return op(**command_args)
cli/command_modules/resource/custom.py, ln 1211, in create_resource_group
    parameters = ResourceGroup(
TypeError: 'NoneType' object is not callable

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az group create --name {} --location {}

Expected Behavior
Environment Summary
Linux-5.10.0-3-amd64-x86_64-with-glibc2.31
Python 3.9.1+
Installer: DEB

azure-cli 2.18.0 *

Extensions:
aks-preview Unknown
azure-devops 0.19.0

Additional Context

ARM

@rzlrogerio Hi, please upgrade CLI to the latest version (you can upgrade it by running az upgrade) and try again.
If this issue still can be reproduced, please feel free to let me know~


[Fix] shell_out not using actual shell

Description
shell_out not using actual shell.
Issues Resolved
#104 caused by #91
[List any existing issues this PR resolves]
Check List

[ ] All tests pass. See https://github.com/sous-chefs/apache2/blob/master/TESTING.md
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable

          1 Warning

:warning:
This Pull Request is probably missing tests.

  Generated by :no_entry_sign: Danger

@damacus Looking for a Merge on this to fix the cookbook. #104

Released!


pubRep gives allele instead of gene

    Hi Team.

Hope you are well. I was wondering if you can help me with something please.
When I run the following command on the practice immdata dataframe;
pr.aav <- pubRephttps://immunarch.com/reference/pubRep.html(immdata$data, "aa+v", .verbose = F)
the result is a dataframe with the CDR3 amino acid sequence and the V gene (which is as expected and great).
However, I've found when I run the same command on my data, I obtain the CDR3 amino acid sequence and V allele as opposed to the gene.
I'm not sure how to change this or if maybe its's a bug?
I was wondering if you have any ideas please.
Thanks a million.
Aislinn
Originally posted by @aislinnjennings in https://github.com/immunomind/immunarch/issues/107#issuecomment-1270072961

Hi, Aislinn!
Could you, please, send an example of data where this bug appears?
Best regards,
Aleksandr


Fix velocity & doppler effect

Fixes #28
Fixes #29
Tested on spatial example.

@GitGhillie because previously we ran the FMOD update on Update and the Velocity update on FixedUpdate. I guess it's only important they are aligned, so I moved them both to update.


add checkstlye

To do：

Modify code to pass the check

Signed-off-by: MregXN<EMAIL_ADDRESS>

Please, resolve conflict and use -s on all commits.


fix(deps): update dependency pydantic to v2

This PR contains the following updates:

Package
Type
Update
Change

pydantic (changelog)
dependencies
major
^1.10.9 -> ^2.0.0

Release Notes

pydantic/pydantic
v2.0.2
Compare Source

Fix bug where round-trip pickling/unpickling a RootModel would change the value of __dict__, #6457 by @dmontagu
Allow single-item discriminated unions, #6405 by @dmontagu
Fix issue with union parsing of enums, #6440 by @dmontagu
Docs: Fixed constr documentation, renamed old regex to new pattern, #6452 by @miili
Change GenerateJsonSchema.generate_definitions signature, #6436 by @dmontagu

See the full changelog here
v2.0.1
Compare Source
First patch release of Pydantic V2

Extra fields added via setattr (i.e. m.some_extra_field = 'extra_value')
are added to .model_extra if model_config extra='allowed'. Fixed #6333, #6365 by @aaraney
Automatically unpack JSON schema '$ref' for custom types, #6343 by @adriangb
Fix tagged unions multiple processing in submodels, #6340 by @suharnikov

See the full changelog here
v2.0
Compare Source

Fix bug where round-trip pickling/unpickling a RootModel would change the value of __dict__, #6457 by @dmontagu
Allow single-item discriminated unions, #6405 by @dmontagu
Fix issue with union parsing of enums, #6440 by @dmontagu
Docs: Fixed constr documentation, renamed old regex to new pattern, #6452 by @miili
Change GenerateJsonSchema.generate_definitions signature, #6436 by @dmontagu

See the full changelog here
v1.10.11
Compare Source

Importing create_model in tools.py through relative path instead of absolute path - so that it doesn't import V2 code when copied over to V2 branch, #6361 by @SharathHuddar

v1.10.10
Compare Source

Add Pydantic Json field support to settings management, #6250 by @hramezani
Fixed literal validator errors for unhashable values, #6188 by @markus1978
Fixed bug with generics receiving forward refs, #6130 by @mark-todd
Update install method of FastAPI for internal tests in CI, #6117 by @Kludex

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: backend-python/poetry.lock
installing v2 tool python v3.11.4
linking tool python v3.11.4
Python 3.11.4
pip 23.1.2 from /opt/buildpack/tools/python/3.11.4/lib/python3.11/site-packages/pip (python 3.11)
Installed v2 /usr/local/buildpack/tools/v2/python.sh in 8 seconds
installing v2 tool poetry v1.5.1
linking tool poetry v1.5.1
Poetry (version 1.5.1)
Installed v2 /usr/local/buildpack/tools/v2/poetry.sh in 12 seconds
Updating dependencies
Resolving dependencies...

Creating virtualenv backend-python-o2KXnMF_-py3.11 in /home/ubuntu/.cache/pypoetry/virtualenvs

Because no versions of pydantic match >2.0.0,<2.0.1 || >2.0.1,<3.0.0
 and pydantic (2.0) depends on pydantic (2.0), pydantic (>=2.0.0,<2.0.1 || >2.0.1,<3.0.0) requires pydantic (2.0).
And because pydantic (2.0.1) depends on pydantic (2.0.1), pydantic (>=2.0.0,<3.0.0) requires pydantic (2.0 || 2.0.1).
And because fastapi (0.98.0) depends on pydantic (>=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0)
 and no versions of fastapi match >0.98.0,<0.99.0, pydantic (>=2.0.0,<3.0.0) is incompatible with fastapi (>=0.98.0,<0.99.0).
So, because backend-python depends on both fastapi (^0.98.0) and pydantic (^2.0.0), version solving failed.

Looks like FastAPI isn't ready for this update.  Closing.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 2.x releases. However, if you upgrade to 2.x manually then Renovate will reenable minor and patch updates automatically.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


Structure symmetry in OPTIMADE

We need to think a bit about how we represent symmetry in relation to structures if we are going to include that. There is indeed good reason to allow queries on symmetry data when available.
If symmetry information is given, it may be best to require giving the list of symmetry operations, which is what strict CIF files do to avoid ambiguity. In addition, spacegroup number, ML, and Hall symbol can also be allowed as optional go give. However, it is probably unwise to allow giving those, without also giving symmetry operations, since that would replicate issues found for less strict CIF files.
The question is how to represent symmetry operations. Some alternatives:

The cif x,y,z format
The cif x,y,z format, but with canonicalized individual symmetry operations (e.g., require translations to be [0-1), etc.
The cif x,y,z format but with the complete set of symmetry operations canonicalized, e.g., by sorting alternative 2.
Some other, more compact, format we come up with.

Here is an argument for requiring a fully canonicalized output:
One of the reasons for a non-canonical output was that otherwise one would frequently have to deal with implementations that return incorrect output. However, 'unsorted' symmetry operations is far from the only error an implementation can do when returning symmetry operators. One easy mistake is to return a set of symmetry operators that just cannot be correct together. (Because there is only a finite number of total possibilities). If we require translation coefficients to be [0-1), it is easy to return operations that do not fulfill this, etc. Hence, to avoid incorrect output it would be good if this field can be properly validated by our json schemas to belong exactly to the set of possibilities.
If we require a canonical output (e.g., by a sorted list of operations), then one of us with a framework that uses complete sets of symmetry operations can just generate a list of ALL valid combinations of symmetry operations and we can put that in a schema and say: "The output MUST be exactly one of these alternatives". This is easy to validate. An unsorted list of operations (and possibly with several possibilities for coefficients that mean the same thing) is not easy to validate.

can just generate a list of ALL valid combinations of symmetry operations and we can put that in a schema and say: "The output MUST be exactly one of these alternatives".

I suspect this will be impractical since the list of combinations will be huge beyond manageability...

I suspect this will be impractical since the list of combinations will be huge beyond manageability...

Perhaps I'm missing something obvious, but for fully periodic systems, is this not just one entry per hall symbol? I.e., per row in this table: http://cci.lbl.gov/sginfo/hall_symbols.html#Table_6
But, right, that validation only works for fully periodic systems. If there are non-periodic directions, the situation gets a bit more tricky. Does the cif x,y,z format even properly handle point groups in non-periodic systems? How does one represent, e.g., C∞ around an axis?

On 20/11/2018 01.44, Rickard Armiento wrote:

I suspect this will be impractical since the list of combinations
will be huge beyond manageability...

Perhaps I'm missing something obvious, but for fully periodic systems,
is this not just one entry per hall symbol? I.e., per row in this table:
http://cci.lbl.gov/sginfo/hall_symbols.html#Table_6

When you mentioned "generate a list of ALL valid combinations of
symmetry operations", this implies to me all permutations of symmetry
elements, and all possible shifts. E.g. for the C2 spacegroup not only the:
X,Y,Z
-X,Y,-Z
1/2+X,1/2+Y,Z
1/2-X,1/2+Y,-Z
is possible, but also:
X,Y,Z
1/2-X,1/2+Y,-Z
-X,Y,-Z
1/2+X,1/2+Y,Z
an also
X,Y,Z
X-1/2,Y-1/2,Z
-X,Y,-Z
-X+1/2,Y+1/2,-Z
and so on. N! and more combinations – too much to list.
Regards,
Saulius

But, right, that validation only works for fully periodic systems. If there are non-periodic directions, the situation gets a bit more tricky. Does the cif x,y,z format even properly handle point groups in non-periodic systems? How does one represent, e.g., C∞ around an axis?

CIF has provisions for some aperiodic structures but not for others.
Modulated (incomensurately modulated) structures are handles.
Quasicrystals are being worked upon.
C∞ around an axis is not handled. One might argue that it is not compatible with discrete atom model either, but the situation arises for disordered groups (e.g. R-CH3 rotationally disordered around the R-C bond).
Some aperiodic (or even periodic) models are not crystallographic, e.g. continuum models use different descriptions and are not modelled in in coordinate CIF (but there is CIF to describe electron densities).
Thus, I do not think there is a "one size fits all" solution for all possible situations, we need to address what is needed for current models (one of them – discrete atom model); possible leave options for expansion.

When you mentioned "generate a list of ALL valid combinations of
symmetry operations", this implies to me all permutations of symmetry
elements, and all possible shifts.

Sorry if this was unclear: that part refered to the list of ALL canonical lists of symmetry operations. I.e., in practical terms, a canonical list of symmetry operations puts each individual symmetry operation on a canonical form, and then the list of those symmetry operations is 'sorted' according to some well-defined order. I'm presently of the impression that this list has a manageable length.
Validation of a crystal_symmetry_ops (or what we decide to call the property for the canonical list of symmetry operations) is then easy, one uses a jsonschema 'enum' to check that its value against the list of ALL valid canonical lists of symmetry operations. To actually be able to validate this field seems as a huge benefit to me, as I've struggled with incomplete/incorrect symmetry information in cif files in the past.
Regarding (partially)-non-periodic structures, if possible, I would really prefer one single scheme for everything that fits the OPTIMaDe structure object; i.e., a collection of atoms; not, e.g., electron densities. If that isn't possible, I guess we'd have to divide into cases as you are describing for CIF.
But, there really is no standardized syntax for just listing symmetry operations in group theory form (e.g., C2v, D3h, C∞, etc.) and the axes/planes they operate on? Because it seems to me that would work universally. And such lists can be validated to some degree.

I gather that there are standardization problems with symmetry operator lists (I miss discussion on floating point vs. fraction representation of translation components). However, maybe we could standardize on space group ITC number or Hall symbol and introduce symmetry operators later?

Not sure if this is the right page, but if anyone is looking for a symmetry code, aflow offers a nice suite of symmetry symbols, operations, Wyckoff positions, etc.
Can handle inputs in cif, VASP, QE, ABINIT, Elk, FHI-AIMS, and ATAT.
Functionality is accessible locally (with the aflow binary installed) or through the web: http://aflow.org/aflow-online/
Full description of capabilities: https://doi.org/10.1107/S2053273318003066
corey$ xzcat POSCAR.relax2.xz | aflow --edata
AFLOW VERSION 3.2.11:  [aflow.org consortium - 2003-2021]
REAL LATTICE
Real space lattice:
1.9809e+00 -3.4310e+00  0.0000e+00
1.9809e+00  3.4310e+00  0.0000e+00
0.0000e+00  0.0000e+00  7.0610e+00
Real space a b c alpha beta gamma: 3.961720505 3.961720505 7.060999488 90 90 120
Real space a b c alpha beta gamma: 7.486566198 7.486566198 13.34335424 90 90 120   Bohrs/Degs
Real space Volume: 95.98
Real space c/a = 1.782
BRAVAIS LATTICE OF THE CRYSTAL (pgroup_xtal)
Real space Bravais Lattice Primitive        = HEX
Real space Lattice Variation                = HEX
Real space Lattice System                   = hexagonal
Real space Pearson Symbol                   = hP4
POINT GROUP CRYSTAL
Real space Crystal Family                   = hexagonal
Real space Crystal System                   = hexagonal
Real space Crystal Class                    = dihexagonal-dipyramidal
Real space Point Group (Hermann Mauguin)    = 6/mmm
Real space Point Group (Schoenflies)        = D_6h
Real space Point Group Orbifold             = *622
Real space Point Group Type                 = centrosymmetric
Real space Point Group Order                = 24
Real space Point Group Structure            = 2 x dihedral
SPACE GROUP OF THE CRYSTAL
Space group number                           = 194
Space group label (Hermann Mauguin)          = P6_{3}/mmc
Space group label (Hall)                     = -P 6c 2c
Space group label (Schoenflies)              = D_{6h}^{4}
Laue class                                   = 6/mmm
Crystal class                                = 6/mmm
ITC REPRESENTATION OF THE CRYSTAL
Setting                                      = 1
Origin                                       =  0.0000e+00  0.0000e+00  0.0000e+00
General Wyckoff position
1 x,y,z
2 -y,x-y,z
3 -x+y,-x,z
4 -x,-y,z+1/2
5 y,-x+y,z+1/2
6 x-y,x,z+1/2
7 y,x,-z
8 x-y,-y,-z
9 -x,-x+y,-z
10 -y,-x,-z+1/2
11 -x+y,y,-z+1/2
12 x,x-y,-z+1/2
13 -x,-y,-z
14 y,-x+y,-z
15 x-y,x,-z
16 x,y,-z+1/2
17 -y,x-y,-z+1/2
18 -x+y,-x,-z+1/2
19 -y,-x,z
20 -x+y,y,z
21 x,x-y,z
22 y,x,z+1/2
23 x-y,-y,z+1/2
24 -x,-x+y,z+1/2
Representative Wyckoff positions
0.00000000000000   0.00000000000000   0.00000000000000   A 2 a -3m.
0.33333333333333   0.66666666666667   0.25000000000000   B 2 c -6m2
WYCCAR
ClNa_sv/220 - (220) [AB] (220)  (
1.000000
0.00000000000000  -3.96172050502749   0.00000000000000
3.43095060004752   1.98086025251375   0.00000000000000
0.00000000000000   0.00000000000000   7.06099948832998
2 2
Direct(4) [A2B2]
0.00000000000000   0.00000000000000   0.00000000000000
0.00000000000000   0.00000000000000   0.50000000000000
0.33333333333333   0.66666666666667   0.25000000000000
0.66666666666667   0.33333333333333   0.75000000000000
BRAVAIS LATTICE OF THE LATTICE (pgroup)
Real space Bravais Lattice Primitive        = HEX
Real space Lattice Variation                = HEX
Real space Lattice System                   = hexagonal
SUPERLATTICE (equally decorated)
Superlattice lattice:
1.9809e+00 -3.4310e+00  0.0000e+00
1.9809e+00  3.4310e+00  0.0000e+00
0.0000e+00  0.0000e+00  7.0610e+00
Real space a b c alpha beta gamma: 3.961720505 3.961720505 7.060999488 90 90 120
Real space a b c alpha beta gamma: 7.486566198 7.486566198 13.34335424 90 90 120   Bohrs/Degs
Real space Volume: 95.98
Real space c/a = 1.782
Real space Bravais Superlattice Primitive   = HEX
Real space Superlattice Variation           = HEX
Real space Superlattice System              = hexagonal
Real space Pearson Symbol Superlattice      = hP4
RECIPROCAL LATTICE
Reciprocal space lattice:
1.5860e+00 -9.1566e-01  0.0000e+00
1.5860e+00  9.1566e-01  0.0000e+00
0.0000e+00  0.0000e+00  8.8984e-01
Reciprocal space a b c alpha beta gamma: 1.831324912 1.831324912 0.8898436146 90 90 60
Reciprocal space Volume: 2.584
Reciprocal lattice primitive            = HEX
Reciprocal lattice variation            = HEX
SPRIM
ClNa_sv/220 - (220)  [AB] (220)  (  [HEX,HEX,hP4] (STD_PRIM doi:10.1016/j.commatsci.2010.05.010)
1.000000
1.98086025251375  -3.43095060004752   0.00000000000000
1.98086025251375   3.43095060004752   0.00000000000000
0.00000000000000   0.00000000000000   7.06099948832998
2 2
Direct(4) [A2B2]
0.00000000000000   0.00000000000000   0.00000000000000
0.00000000000000   0.00000000000000   0.50000000000000
0.33333333333333   0.66666666666667   0.25000000000000
0.66666666666667   0.33333333333333   0.75000000000000
SCONV
ClNa_sv/220 - (220)  [AB] (220)  (  [HEX,HEX,hP4] (STD_CONV doi:10.1016/j.commatsci.2010.05.010)
1.000000
1.98086025251375  -3.43095060004752   0.00000000000000
1.98086025251375   3.43095060004752   0.00000000000000
0.00000000000000   0.00000000000000   7.06099948832998
2 2
Direct(4) [A2B2]
0.00000000000000   0.00000000000000   0.00000000000000
0.00000000000000   0.00000000000000   0.50000000000000
0.33333333333333   0.66666666666667   0.25000000000000
0.66666666666667   0.33333333333333   0.75000000000000

On the discussion of implementations - we concluded recently in a discussion that what would be useful is a very permissively licensed (e.g. CC0) implementation of a Hall symbol <-> symmetry operator code.

On the discussion of implementations - we concluded recently in a discussion that what would be useful is a very permissively licensed (e.g. CC0) implementation of a Hall symbol <-> symmetry operator code. Since this is a difficult mapping that will be relevant for a number of API implementations.

Gemmi library (MPLv2 or LGPLv3) seems to be able to do so.

aflow is GPL, which is compatible with CC0.

Sadly, this is not true. GPL is only compatible with GPL.

this is news to me, their FAQs say otherwise.
https://creativecommons.org/faq/#Can_I_apply_a_Creative_Commons_license_to_software.3F
Also, the CC0 Public Domain Dedication is GPL-compatible and acceptable for software. For details, [see the relevant CC0 FAQ entry](https://wiki.creativecommons.org/wiki/CC0_FAQ#May_I_apply_CC0_to_computer_software.3F_If_so.2C_is_there_a_recommended_implementation.3F).
Yes, CC0 is suitable for dedicating your copyright and related rights in computer software to the public domain, to the fullest extent possible under law. [Unlike CC licenses, which should not be used for software](https://wiki.creativecommons.org/wiki/Frequently_Asked_Questions#Can_I_use_a_Creative_Commons_license_for_software.3F), CC0 is compatible with many software licenses, [including the GPL](https://www.gnu.org/licenses/license-list.html#CC0). However, CC0 has not been approved by the [Open Source Initiative](https://opensource.org/) and does not license or otherwise affect any patent rights you may have. You may want to consider using an approved OSI license that does so instead of CC0, such as [GPL 3.0](https://opensource.org/licenses/GPL-3.0) or [Apache 2.0](https://opensource.org/licenses/Apache-2.0).
is this one way?

@blokhin @merkys Indeed - lets keep this open until we've sorted out what to do about representing the full set of symmetry operators. My wish is to find a canonical format that is fairly compact, trivially translatable to a set of symmetry operator matrices, and with the ability to represent any set of symmetry operators, including those relevant for slabs, wires, and molecules. Perhaps also the ability to indicate a tensor transform for the symmetry operation to represent magnetism, etc.

I'd stick to the IUCr definition, however probably there is no need to require symops for the standard settings / origins. So if they are omitted, one should assume ITC.

If we require a canonical output (e.g., by a sorted list of operations), then one of us with a framework that uses complete sets of symmetry operations can just generate a list of ALL valid combinations of symmetry operations and we can put that in a schema and say: "The output MUST be exactly one of these alternatives". This is easy to validate.

IMHO such level of standardisation is unnecessary. Validation can be done easily without this (see below), and managing the list of all alternatives in a standard is an overkill and too much work to do, with virtually no added value.
The symmetry operators are intended to be parsed first of all, and probably few searches will be done on the symop property.
If someone does implement a search on symops, the it is very easy to canonicalise them internally, inside the server (we do so in the COD). The standard (OPTIMADE) just needs to mandate that all symops are faithfully converted to matrices, and all operator sets with the given matrices are found (matched). No need to spell out a list of alternatives for this.

An unsorted list of operations (and possibly with several possibilities for coefficients that mean the same thing) is not easy to validate.

Not true.
Since symops are primarily intended to be parsed, there needs to be a grammar for this. AFAIK, there is no "official" grammar for the symmetry operators (I could not find a definitve reference to the Jones Faithful representation mentioned in Hall's 1981 paper), but there seems to be a community consensus on how these operators look like. Thus, we can easily write a BNF grammar to codify the current practices.
I am prepared to write an EBNF syntax for the symmetry operators. When the grammar is in place, then valiadation of the symops is easy:

check that the syntax is correct (formal);
check that the matrices obtained by parsing the sympos are crystallographic.

While writing EBNF for the symmetry operation syntax, it occurred to me that what we are describing is a regular language, and so can be defined using a regular expression.
I have checked the regexps for 3D symmetry operations, and the whole COD can be checked using the following ones:
/^([-+]?[xyz]([-+][xyz])?([-+]([1-9]\/[0-9]|[0-9](\.[0-9]+)?|\.[0-9]+))?|[-+]?([1-9]\/[0-9]|[0-9](\.[0-9]+)?|\.[0-9]+)([-+][xyz]([-+][xyz])?)?)(,([-+]?[xyz]([-+][xyz])?([-+]([1-9]\/[0-9]|[0-9](\.[0-9]+)?|\.[0-9]+)?)?|[-+]?([1-9]\/[0-9]|[0-9](\.[0-9]+)?|\.[0-9]+)([-+][xyz]([-+][xyz])?)?)){2}$/

Most COD symops match this regexp, and those that do not are clearly defective.
This is of course a hard-to-read RE, but it can be typesetted comfortably by use Perl (PCER) /x option which allows arbitrary white space to be used for formatting the code. Moreover, we could use variables with informative names to define recurring parts of the RE.
The advantages of the RE would be:

simple to write;
nearly universally supported;
practical symmetry operation analysis can be performed by picking them directly from the specification. using braces "()" to capture matching parts; thus no need for a separate parser package;
works in (nearly) any programming language;

Disadvantages

hard to read (but can be formatted to increase readability);
hard to identify where the syntax error in an non-matching string occurs;
unusual for some people?

If we go for defining symops using RE in OPTIMADE, we could use the Jones faithful notation, have mathematically exact definition for it and at the same time have easy means to parse the symops.
My questions:

do we want REs to defined symmetry operators in OPTIMADE?
do we want, in addition to REs, also an EBNF definition?

This is of course a hard-to-read RE, but it can be typesetted comfortably by use Perl (PCER) /x option which allows arbitrary white space to be used for formatting the code. Moreover, we could use variables with informative names to define recurring parts of the RE.

This is a space-delimited version of the symop matching regexp, for better readability:
/^
 (
   [-+]? [xyz] ([-+][xyz])? ([-+] ([1-9]\/[0-9] | [0-9](\.[0-9]+)? | \.[0-9]+) )?
   |   # ^-- matches coords ^--- matches either a rational number, such as 1\/2, or a real number, e.g. 2 or 0.5
   [-+]? ([1-9]\/[0-9]|[0-9](\.[0-9]+)?|\.[0-9]+) ([-+] [xyz] ([-+][xyz])? )?
   # NB: COD *does* contain translations with decimal point, e.g. 0.5, they came from the published CIFs.
 )
 (,
   (
     [-+]? [xyz] ([-+][xyz])? ([-+]([1-9]\/[0-9] | [0-9](\.[0-9]+)? | \.[0-9]+)? )?
     |   # ^-- repetitiom of the patterns given above; can (should?) be defined as variables.
     [-+]? ([1-9]\/[0-9] | [0-9](\.[0-9]+)? | \.[0-9]+) ([-+][xyz] ([-+][xyz])? )?
   )
 ){2}
 $
/x

@sauliusg I strongly support the regex idea.
However, I would also suggest that we limit the numeric part to rational numbers in the form of fractions, i.e. "1/2", but not "0.5" or "2", etc. since proper crystallographic symmetry operations can always be translated to this form. Removing the "real number" part would simplify the regular expression and avoid some ambiguities with the precision (i.e. if we get "0.333" should it be applied as is, or should it be further extrapolated into a more precise number like "0.333333").
Also, the fractional number part should probably be "[1-9]/[1-9]" and not "[1-9]/[0-9]" (no 0 in the denominator).

@sauliusg I strongly support the regex idea.
However, I would also suggest that we limit the numeric part to rational numbers in the form of fractions, i.e. "1/2", but not "0.5" or "2", etc. since proper crystallographic symmetry operations can always be translated to this form. Removing the "real number" part would simplify the regular expression and avoid some ambiguities with the precision (i.e. if we get "0.333" should it be applied as is, or should it be further extrapolated into a more precise number like "0.333333").
Also, the fractional number part should probably be "[1-9]/[1-9]" and not "[1-9]/[0-9]" (no 0 in the denominator).

That's true. The provided REs were the ones that a) can capture the current interpretable symmetry operators in the COD and b) demonstrate how the symop REs would look like. The OPTIMADE specification should of course mandate strict(er) representation of symops. Not only we do not want 0 in the denominator; we can also expliciteky list '[2346]' as permitted denominators, since only such axes are allowed in 3D space groups. Or we could list all permissible shifts explicitly ('(1/2|[12]/3|[1-3]/4|[1-5]/6)'). This still allows to specify "incorrect" (i.e. non-crystallographic) symmetry operators, but limits syntax to some reasonable subset.
We (I?) need to look at the permissible axes in 4D crystallographic symmetry operations, this would limit symops for modulated crystals and some quazicrystals.

In view of #464 please let‘s also define explicitly the MUST-SHOULD-MAY-etc. spec tier.
I tend to the MAY or even weaker, because we as the crystallographers are already supposed to have our crystalline structures standardized according to the IUCr / tables. Note, that providing symmetry ops for a standardized structure is redundant, and the majority (all?) of the modern frameworks imply your structure is standard by definition, i.e. the providing the symmetry ops is optional.
For instance, consider a space group number 62, should that mean Pnma or Pbnm? likewise for the settings / origins. The standard gives a clear answer for that (namely, Pnma), and we in Pauling File / MPDS are always supplying our structures ONLY according to the standard as implemented in STRUCTURE TIDY, even if originally they were reported differently.


Add dynatemp (the entropy one)

Still some stuff to be checked, heavy wip.

alright, i'm not sure - are the actual logits temp_probs?

The sample_basic function takes the input logits and converts them to a probability distribution (calling softmax_cpu). The result is temp_probs and temp_indices which are processed by the subsequent samplers. I have no idea if it's more correct to apply this dynamic temperature before or after the other samplers.

Looking at the newer implementation in backends such as kcpp. It's definitely better to pass a single dynatemp_range parameter into the temperature sampler instead of overburdening the function with min, max, and enabled values. I believe the WIP code here should be refactored to reflect that. The frontend/API can handle calculation of the range to pass to exl2.

Now that dynatemp has matured more, I'd like to stick to an implementation which will be inline with other backends such as Aphrodite.

Merge dynatemp into the temp function (to allow temp_last to work)
Remove dynatemp_enabled which is a redundant boolean
Add a check within the temp function to enable dynatemp based on the min and max values along with if max > min.
Add the option to use dynatemp_exponent to adjust that as well.

CC: @turboderp

Now that dynatemp has matured more, I'd like to stick to an implementation which will be inline with other backends such as Aphrodite.
1. Merge dynatemp into the temp function (to allow temp_last to work)

2. Remove dynatemp_enabled which is a redundant boolean

3. Add a check within the temp function to enable dynatemp based on the min and max values along with if max > min.

4. Add the option to use dynatemp_exponent to adjust that as well.

CC: @turboderp

All done - dynatemp is in the temp function, and the exponent can be adjusted.

If you believe the PR is okay to review. Please remove draft status.


Text IonReader ignores struct element with a field and no value

A struct field with no value should produce an error during parse, but the text reader simply ignores it.  For example, {a:} is invalid, but parses as {}

Resolved by #187


How to run the examples

I would like to test the examples but I am running into some problems.
On Linux with a NVIDA 1060 I get this error:
➜  vulkano-examples git:(master) cargo run --bin triangle
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/triangle`
thread 'main' panicked at 'failed to create Vulkan instance: LoadingError(LibraryLoadFailure("libvulkan.so.1: cannot open shared object file: No such file or directory"))', /checkout/src/libcore/result.rs:860:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Do I need to install something from Vulkan?
On MacOS I get this error:
  = note: ld: framework not found MoltenVK
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error

error: Could not compile `vulkano-examples`.

Do I need to install anything on macOS to make it work?
Thank you very much for any help.

Update:
On MacOS I dropped the MoltenVK.framework into /Library/Framework/ and it now displays the triangle.
However it constantly spams me with:
[***MoltenVK ERROR***] VK_TIMEOUT: Vulkan fence timeout after 0 nanoseconds.

Do I need to install something from Vulkan?

Yes. Depending on your distribution there are drivers to install.

However it constantly spams me with:

This has already been reported to the MoltenVK people.

I downloaded Molten 0.19.0, dropped MoltenVK.framework into /Library/Framework/ and libMoltenVK.dylib into /usr/local/lib (just in case ;-) ), but I get following error when executing cargo run --bin triangle:
 = note: Undefined symbols for architecture x86_64:
            "_kIOSurfaceWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceElementWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceElementHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceIsGlobal", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceBytesPerElement", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetBytesPerElement", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetElementWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceCreate", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetElementHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

Is it realted to #880  ?

Sorry for the noise, I was trying to run example from volkano-examples repo. When I run it from this repo dependecies look more fresh, but I get then another error:
  Compiling vulkano-win v0.7.3 (file:///Users/rprakapchuk/Hub/vulkano/vulkano-win)
error[E0599]: no variant named `new` found for type `metal::CAMetalLayer` in the current scope
   --> vulkano-win/src/lib.rs:168:17
    |
168 |     let layer = CAMetalLayer::new();
    |                 ^^^^^^^^^^^^^^^^^ variant not found in `metal::CAMetalLayer`

error: aborting due to previous error

error: Could not compile `vulkano-win`.

Oh! Thanks for the investigation.

@ul I had the same problems you had, followed your instructions, but instead of it working I got an linking error:  = note: ld: framework not found MoltenVK. I have MoltenVK.framework in Library/Frameworks.
Do you know which versions of molten are safe to use? It might be related to #880 and #879.
Thanks!

@ul I had the same problems you had, followed your instructions, but instead of it working I got an linking error:  = note: ld: framework not found MoltenVK. I have MoltenVK.framework in Library/Frameworks.
Do you know which versions of molten are safe to use? It might be related to #880 and #879.
Thanks!

@yanchith I use MoltenVK 0.19.0

Ok. I'll try to figure it out and post the answer here.

@yanchith Have you tried running the Vulkan samples? The repo provides some xcode project files which link to MoltenVK.
If that fails to build / run, there might be something wrong with your MoltenVK install.

It fails to be build because of https://github.com/SaschaWillems/Vulkan/issues/423
The search continues :)

I managed to run the Vulkan samples, so MoltenVK appears to be fine. I am going to keep investigating this one post updates here, when I find anything significant.

@yanchith Since MoltenVK has been recently open-sourced, could you try the examples in their repository too? If those don't work, opening an issue there might be best.

So I ran the Vulkan Samples with MoltenVK 0.19.0, and the locally built 1.0.0 from MoltenVK. Both ran fine.
However, vulkano seems to have problems linking against both 0.19.0 and 1.0.0 on my machine (the error is the same as the one I posted earlier).
I don't have a deep understanding of how linking to native dependencies works in rust, so I guess I am off to learn that now :) Would appreciate if someone could point me in the right direction though.

@yanchith You could try adding a build.rs file to your Cargo project, with the contents
fn main() {
  let lib_dir = "/Library/Frameworks/";
  println!("cargo:rustc-link-search=framework={}", lib_dir);
}

Assuming the MoltenVK.Framework file is there. There should also be a libMoltenVK.dylib file in the same directory.

@GabrielMajeri Thanks! It works. I thought /Library/Frameworks/ was searched by default. But reading the linker invocation, this is not true.
Does it make sense to add this build script to examples? Or perhaps add the line to vulkano/build.rs?

Hmm, man ld says that /Library/Frameworks and /System/Library/Frameworks are on the default search paths.
ld --verbose | grep /Libraries/Frameworks does not produce anything for me, as it ld has no --verbose option (at least not the one I have installed).

@yanchith I'm not sure where the bug is. I created a pull request which should at least fix linking Vulkano on Mac OS, but the fact those paths are not searched might affect other crates too.

Yeah. It's strange. I'll try to confirm from another mac just in case it's only my system, that's broken.
Thank you for the fix.

It looks like metal-rs had breaking changes in 0.5. I reverted its version back to 0.4.3 in vulkano-win dependencies and triangle finally compiled and started!

I had to do this exact thing as well. Do the examples need updated, or does the version need rolled back in master? Or something more complicated?

I think it's a minor fix in vulkano-win. I will submit the PR soon, unless someone beats me to it.


Running TorBrowser inside of Docker

Hey Guys,
based on https://github.com/jlesage/docker-firefox/ I am working on a TBB Docker Image.
I can get it working to the point where the launcher installs tbb sucessfully, however after the output of Running /config/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/start-tor-browser.desktop, nothing happens.
Unfortunately I have come to a point where I don't know how to debug further, is there a way of forcing logs from tor browser? And should this rather be an issue for the tor browser team itself?
Here's the full log so far:
Launching './Browser/start-tor-browser --detach'...
Tor Browser Launcher
By Micah Lee, licensed under MIT
version 0.2.8
https://github.com/micahflee/torbrowser-launcher
Creating GnuPG homedir /config/.local/share/torbrowser/gnupg_homedir
Refreshing local keyring...
Keyring refreshed successfully...
Downloading and installing Tor Browser for the first time.
Downloading https://aus1.torproject.org/torbrowser/update_3/release/Linux_x86_64-gcc3/x/en-US
Latest version: 7.5.4
Downloading https://www.torproject.org/dist/torbrowser/7.5.4/tor-browser-linux64-7.5.4_en-US.tar.xz.asc
Downloading https://www.torproject.org/dist/torbrowser/7.5.4/tor-browser-linux64-7.5.4_en-US.tar.xz
Verifying Signature
Extracting tor-browser-linux64-7.5.4_en-US.tar.xz
Running /config/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/start-tor-browser.desktop

Thanks in Advance for any help :)
Edit: Worth noting that the whole X-Server Stuff works, as I can see the progress bar during the download and after the "installing" step, I get a blackscreen.

It may not be the best way to achieve what you're trying to do. Check out this URL: https://www.torproject.org/projects/torbrowser/RecommendedTBBVersions - that should be enough to get the Tor Browser Version to keep your container up-to-date automatically by downloading it from the TBB download page. With that, you could just have your Dockerfile download the TBB and check it's signature in the container by passing build-args and environment variables. You can also configure how the TBB connects to Tor using environment variables. This would allow you to use different containers(one for Tor, one for the TBB) and keep your tbb container off of --net host. When I saw your question, I went ahead and made this: https://github.com/eyedeekay/tbb-docker which checks the RecommendedTBBVersions and builds both images configured to work with eachother just to see if I could. Unfortunately, there are a semi-confusing number of ways to run the TBB inside of Docker, and I don't know if mine is the best, but it might be a decent example of how.

Hey :)
I wonder if one could not bypass the complex network setup by simply using a docker-compose file and make use of the service network mode. However one might still have to configure some iptables in the containers to block any other traffic.
Something like this:
version: '3'
services:
  tor:
    image: mefisto94/tor-socks-proxy
    ports:
      - "9150:9150" # Might not be needed
  containername:
    image: image....
    depends_on:
      - "tor"
    network_mode: "service:tor"

I think the exposal of the port is just a fault of me, because for tbb the tor ip might not be localhost but rather some internal ip.
In general I just used the launcher as it was recommended by debian, but you may be right that for a container, a manual setup might be more appropriate

I am fairly certain you could do exactly that with docker-compose. My trouble is that I started using Docker before I became aware of docker-compose, and haven't had time to learn it to rid myself of the "scripting docker setups" anti-pattern. You could also express the network setup from my Makefiles in the docker-compose file if you wanted. As far as iptables, the way I did it was to assume that TBB would be the only application using Tor in this circumstance, and that it only needed to do normal TBB things(Connect to the SocksPort and the ControlPort) so the only settings I altered were the host that the Tor service ran on(from localhost to <IP_ADDRESS>, so I could affix the IP address with Docker). I did this with the environment variables used to configure TBB for system-tor/Whonix-like setups. As long as it's used as a TBB-launcher, it should be safe in that way(AFAICT). It should also be possible to make the Socks Socket in the Tor Service docker container and mount it in the Tor Browser docker container and use TOR_SOCKS_IPC_FILE like in the hardened TBB but I didn't do that yet. Using the Socks Socket may be an alternative to iptables to prevent leaks.
Anyway, I doubt Micah's big on us using his project as a discussion point. Feel free to open an issue on my repo if you'd like to continue.

It's possible that you need to set your working directory to ~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US. It seems that you can't run start-tor-browser.desktop from any other folder.
user@dev ~ $ ~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/start-tor-browser.desktop
/usr/bin/env: './Browser/execdesktop': No such file or directory
user@dev ~ $ cd ~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/
user@dev ~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US $ ./start-tor-browser.desktop
Launching './Browser/start-tor-browser --detach'...
user@dev ~/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US $


Error with min version

ITMS-90362 error on trying to upload this to appstore with min version set to 7.0. Can this be fixed? Min version is now 8.0.

I didn't quite get the point. What's the error message like?

Update minimumosversion to 8.0 to fix usage with Carthage.
FSCalendar/Info.plist needs to have CFBundleInfoDictionaryVersion set to 8.0. Without it, I can't submit to app store.
Similar project with same issue: https://github.com/Alamofire/Alamofire/issues/352

@bjaskj Thanks for the great response.


STORM-912: Support SSL on Logviewer

+1 looks good to me

Fixed the boolean condition.

looks good to me I am +1 for merging this in, and CI actually passed this time.


.class tempaltes in tests

I think this should be fixed, adn the templates should be done on the fly by pure javac execution, otherwise the tests will nto survive udpate to newer JDK

Grreat work. thanx!


example to navigation pages

good job but I need an example with the react-native navigation bottom bar of how to render different pages I tried with different ways but all ways failed and how to style text for responsive or where are props for both text and bottom bar  I try to add one screen it is broken all the style what about responsive? thanks for all.

Thanks Ahmad,
1- The id of the tab should be the name of the tab you want to navigate as it named in your tabs navigator
2- In the navigationHandler you can navigate to the screen using the title returned
example:
const {navigate} = useNavigation();
<BottomTabs
tabsData={BottomTabsData}
tabBarBackground="#513070"
activeTabBackground="#FFFFFF"
textColor="#FFFFFF"
navigationHandler={(screen: string) => {
// screen is the id of the tab
navigate(screen)
}}
/>


fixes #105

This pull request fixes #105.
Although this does exactly what was explained in the issue, I am a bit skeptical about passing mutable Vec<CollectionFormat>.
In case you'd want to suggest any changes in the approach, please let me know.

Thanks for working on this! Two things before we can merge this:

The commit message should be moved to the first line (fixes #105 could be in the second).
Could you also run rustfmt and clippy in your code? The CI build is failing.

Thanks for working on this! :smile:


[Usable] [Keyboard- Service] When we activate "+" button of "Service", the menu bar appears at the mouse pointer only.

Actual Result:
When we activates "+" button of the "Service", the menu bar appears where the mouse pointer is located.
Expected Result:
Ideally the "Menu" should opens below the "+" button.
Repro Steps:

Open the Bot Framework V4 Emulator.
Welcome tab screen gets opened.
Navigate to the "Service" and click on "+" button.
Observe the issue.

Note:
Same issue observed in Linux also. Please refer the attachment: "menu bar appears at the mouse pointer_Linux"
User Impact:
Keyboard dependent user will gets confused if the menu bar appears only on the mouse pointer.
Test Environment:
OS: MacOs Version 10.15
Application: Bot Framework V4 Emulator (Version 4.5.2-80829)
OS: Ubuntu 18.04.3 LTS
Application: BotFramework-Emulator-4.5.2-linux
Attachment:
menu bar appears at the mouse pointer only.zip
menu bar appears at the mouse pointer_Linux.zip

Verified the issue and it is fixed in latest build.
OS: MacOs Version 10.15
Application: Bot Framework V4 Emulator (version: 4.6.0-92058)
OS: Ubuntu 18.04.3 LTS
Application: BotFramework-Emulator-4.6.0-92058-linux-x86_64


New dags

Fresh dags!
(atac-seq dag will only work once this is merged into master)

Cool thanks!


Missing .env

Great job on the article and the project here 🚀
I see that here is missing .env_example or .env specifically. I think it supposed to be on /geostream directory.
Best,

Both consumer and producer have config.py that tells you the environment variables necessary. https://github.com/iwpnd/geo-stream-kafka/blob/master/geostream/consumer/app/core/config.py https://github.com/iwpnd/geo-stream-kafka/blob/master/geostream/producer/app/core/config.py

Hi @iwpnd ,
Yes, I understand that there is config.py that shows basically which environment variables the user should provide, but since you decided to keep this open source it would be good if you could tell how you pass these environment variables by pushing them to the repository .env_example file, which others can use.
Thanks,
Best,

@vjanz keeping it open source does not obligate me to maintain or improve it. feel free to submit a PR and I will merge it, but im not spending any more time on it other than security updates.


Backport Interface and Trait from master to 1.X

New features should have been done on 1.X and 2.X should be for cleanup.
Now it's too late, but we can ease migrations by backporting some
code to 1.X.
This PR will help supporting monolog 1.X and 2.X at the same time.
See https://github.com/symfony/symfony/pull/33241

FYI, I merged symfony/symfony#33241 and it fixed our tests, but we still have the issue that our ElasticsearchLogstashHandler cannot implement the new interface, because we want to keep compat with v1.
@lyrixx tests are still red, the linter doesn't skip :)

@lyrixx tests are still red, the linter doesn't skip :)

I know. I prefer to be sure it could be merged before spending some time on this PR.

Sounds fine to merge for me, but I'd maybe add in the class-level docblocks that these are only for forward compat with 2.0 and not really used by monolog 1.x

@lyrixx if you can fix the tests I'd like to release soonish :)

@Seldaek It should be OK :) thanks for the review

👍 thanks

1.25 is out with this

@Seldaek Thanks.
Actually, It does not work well, I open a new PR https://github.com/Seldaek/monolog/pull/1374
Sorry for the noise


fix(Connection): send hostname in ping

Resolves #64. Thanks to @Mrbysco for their help in identification of the bug.

@iProdigy Could you rebase this on main? I just pushed a fix for the tests not being run.


Not found

Describe the bug
The app finds my home assistant installation correctly (it appears as an option on the initial screen) but if I select it I am taken to a webview page where it says 'not found'.
I'm using duckdns to manage external access and certificates for my instance, so the address is:
https://[nickname].duckdns.org:[port]
To Reproduce
Click on the suggested instance on the intial page.
Webview page opens
Text 'not found' appears.
Expected behavior
To be taken to a log in page on my home assistant instance.
Screenshots
Smartphone (please complete the following information):

Device: Pixel 3a
OS: Android 11
App Version: 1.6.5

Additional context

I've made some progress: if I open the webview in my android browser (firefox) the web address looks a bit like:
.duckdns.org/auth/authorize?client_id....
If I add the port to the URL it takes me to a log in page, offering to give https://homeslide.app access to my instance.
Sadly logging in then opens the homeslide app to a blank screen.

Hi! Can you check what is set up in your Home Assistant instance, in settings, in "General Configuration", under "Internal URL" and "External URL"?
It's possible that the port is missing from there.

You nailed it thanks. I added the missing port to the External URL in HA settings, rebooted it. I also force stopped and cleared storage for the HA Slide app and now it all works fine. Thanks for your help!

Glad I could help 🙂


Remove unneccessary php eval() calls

Found these little beauties
# libraries/file/types.php
eval('$width = AL_THUMBNAIL_WIDTH_LEVEL' . $level . ';');
eval('$height = AL_THUMBNAIL_HEIGHT_LEVEL' . $level . ';');

This is a bad way of getting a value from a dynamic constant name. PHP has a function for this called (drumroll please...) constant().  We can achieve the same thing using
$width = constant("AL_THUMBNAIL_WIDTH_LEVEL{$level}");
$height = constant("AL_THUMBNAIL_HEIGHT_LEVEL{$level}");

Found another gem here:
# models/file_version.php
eval('$hasThumbnail = $this->fvHasThumbnail' . $level . ';');

This is another bad way of getting a value of a dynamic property.  This can easily be accomplished with:
# simple way
$key = "fvHasThumbnail{$level}";
$this->$key

# shortcut
$this->{"fvHasThumbnail{$level}"};

This mistake appears multiple places in this file; all instances have been replaced.
This patch does not address the abundant use of eval in concrete5 .js files.

Wow. apparently I didn't know about that function when I wrote that code. A little embarrassing.

No problem.  Thanks for merging in the update :)


XML and format code  (ALT + SHIFT + F)

VSCode Version: 1.1  (and 1.0)
OS Version: Windows 10

Steps to Reproduce:

Open any XML document
Hit ALT + SHIFT + F nothing happens
Right click and the context menu does not offer you "format code"

Actually this has been discussed. https://github.com/Microsoft/vscode/issues/71  so will close


fix linter warning about line length

Fix linter warning introduced in #201.

Codecov Report

Merging #207 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #207   +/-   ##
=======================================
  Coverage   77.85%   77.85%
=======================================
  Files          53       53
  Lines        3071     3071
  Branches      512      512
=======================================
  Hits         2391     2391
  Misses        652      652
  Partials       28       28

Impacted Files
Coverage Δ

colcon_core/event_handler/console_start_end.py
86.84% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


NuGet package for heros and cards microsoft.bot.schema issues

see in wiki https://github.com/Microsoft/botbuilder-dotnet/wiki/Sending-Cards-and-Attachments
all of the code references Microsoft.bot.builder.schema - I've been troubleshooting it for embarrassingly long time. It should be Microsoft.Bot.Schema
on a separate note, I can't seem to get that package in VS. I've downloaded source code from ABS, updated all the packages (to the v4), but I get the following error:
Severity	Code	Description	Project	File	Line	Suppression State
Error		Could not install package 'Microsoft.Bot.Schema 4.0.0-alpha201802123'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.6', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.			0

I have fixed the wiki page.
The issues is that our package is .NET Standard 2.0, you need to update your project to 4.6.1 to consume a .NET Standard package.  I wish they gave you a better error message then that.


Feature request: let patches point directly to Git repos

I think requiring patches to be tarballs adds an extra intermediate step that's (a) a bit of a burden, and (b) actually more friction than forking a 3rd party repo. For example, say I want to add a Meson config for a 3rd party repo that multiple projects use. Currently my options are...
Option 1: non-VCS-ed config code:

Create a tarball with the meson.build file etc. and upload it somewhere.
Point the wrap file at this tarball.

Downside: the Meson config is code, and not versioning code is asking for trouble.
Option 2: VCS-ed tarball:

Create a new repo, for my meson config additions.
Create a release tarball from this repository.
Point the wrap file at this tarball.

Downsides: I have to create release tarballs repeatedly*. I have to get the tarball URL repeatedly*.
(*any time I update the Meson config and need the updates in a project.)
Option 3: fork upstream

Fork the 3rd party code into my own repo.
Point the wrap file at this repo.

Downsides: I have to get the commit hash repeatedly (see * above).
IMO option 3 is by far the least work, which is a bit weird to me.
It would be nice if there was an option to point at a patch that is simply a commit in a Git repo ie. eliminate step 2 from option 2 above. Then I neither need a fork, nor to upload tarballs.
Does this seem like a reasonable addition to the wrap system?

Quick not from IRC, where eschwartz points out:

for Option 3: fork upstream
you don't need to get the commit hash repeatedly
wrap-git supports using the commit "head"

I'm trying to be fair to existing options — some people (me included) don't want to just track "head", they'll want to be able to test against a new commit before using it, which is arguably an advantage that pointing at unchanging tarballs has.

Also raised (paraphrasing): what's wrong with tracking https://github.com/username/repo/archive/<hash>.tar.gz?
Me: that works for github, but is extremely annoying for gitlab (which requires an API call to get the URL I think?), and impossible to generalise to other platforms, whereas just relying on the git protocol itself means there's no question about what URLs the platform supports.


Allow users to configure number of threads in warehouse connection settings

The threads property of the Profile profile can't be overridden in dataform.co, and currently defaults to 16 for BigQuery: https://github.com/dataform-co/dataform/blob/master/api/dbadapters/bigquery.ts#L23
We should allow overriding this setting in the Database settings page, and probably set a sensible range, something like 1-32:
https://github.com/dataform-co/dataform-co/blob/master/ts/app/database/index.tsx

Moved from dataform-co/dataform-co#187
/cc @lewish

@tanguyco for updates

We plan to support users to understand the critical runtime path of their pipelines in order to help them optimise runtime; this issue will be reopened at that time.


Update metadata-visibility-configuration.md

N prefix on Unicode strings is a better example for people learning. Also some examples fail (no column id).

@AaronBertrand : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@AaronBertrand - Thanks Aaron! We appreciate the help on our documentation and your feedback. I'll approve the changes.
#sign-off


Designing a new NeoAlgo SVG logo

Designing a new NeoAlgo SVG logo. Make sure it looks good with both dark and light mode.

Can I share something?

@itskrypton Sure.

@iamrajiv Kindly let me know what you think of the new logo png


Building Tools

This ticket is to discuss the building strategy for JumpscaleX, there are two proposed strategies:
1- Builders should be aware of how to sandbox itself (this is the currently used strategy):

the builder by default builds on the system
the builder has a list of all files, dirs and bins needed
the sandboxer collects the files and dirs defined in the builder and copy it to the building directory
the sandboxer runs ldd to find the dependencies of the binaries defined in the builder
the sandboxer copies the bins and the libs to the build directory
the flist creator tar the build directory and upload in to the hub

2- Builders should NOT be aware of how to sandbox itself:

the builder is not aware of sandboxing or what does it need to be sandboxed
by default the builder should be designed as it is building on the local system
the sandboxer should provide tools from which we can:

create a container with base flist and run the builder on it
runs a builder on this container
creates a new flist containing all files added or modified during the build by comparing to the base flist

check https://github.com/threefoldtech/jumpscaleX/issues/155


Error: src refspec main does not match any

Hi! Im using GitHub Actions as my CI/CD, so i have this job:
release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: git config
        run: |
          git config user.name "${GITHUB_ACTOR}"
          git config user.email<EMAIL_ADDRESS>      - run: npm ci
      - run: npx nx version project-name
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

I also have a target on my project.json
"version": {
            "executor": "@jscutlery/semver:version",
            "options": {
                "commitMessageFormat": "chore(${projectName}): release version ${version}",
                "push": true,
                "baseBranch": "main"
            }
 }

when i executed the workflow, i receive this following message:
ℹ Run git push --follow-tags origin HEAD to publish
Error: error: src refspec main does not match any
It's like the executor doesn't recognize the baseBranch parameter
I check my branch name with git ls-remote and  git show-ref command, and i can see      refs/heads/main
I'm forgetting something?

Hi @gabsmprocha, did you find a solution?

Can you please post what solved the issue @gabsmprocha ?

I still have this problem

I had a similar problem, the solution for me was to run the github action from the same branch (main in your case). I was previously running it from my feature branch.

@alaa0000 tks, this solved to me 😃


ID token is null on web

Describe the bug
ID token is null after calling signIn() from google_sign_in which means that I am not able to use the method signInWithIdToken() from supabase_flutter.
To Reproduce
Steps to reproduce the behavior:

Set up google as your provider (set up the oauth client in GCP and then provide the client id and secret in the supabase dashboard)
In a flutter web project, run the following snippet:

final googleSignIn = GoogleSignIn(
      scopes: [
        'email',
      ],
    );
    final signInAccount = await googleSignIn.signIn();
    log(googleSignIn.currentUser.toString());

    if (signInAccount == null) throw 'Something went wrong!';
    final googleAuth = await signInAccount.authentication;
    log(googleAuth.accessToken.toString());
    log(googleAuth.idToken.toString());

Check the debug console and you will notice that the ID token is logged out as null. This only happens on web.
Expected behavior
As in iOS and android, I should get the ID token.
Version (please complete the following information):
├── supabase_flutter 2.3.3
│   ├── supabase 2.0.7
│   │   ├── functions_client 2.0.0
│   │   ├── gotrue 2.5.0
│   │   ├── postgrest 2.1.0
│   │   ├── realtime_client 2.0.0
│   │   ├── storage_client 2.0.1
Additional context
I have done some research and it appears that this is expected behaviour on web. Please check out the google_sign_in and google_sign_in_web package page in pub.dev. It clearly says that due to the migration to the new GIS SDK, ID token will always be null.
The confusion, however, is that my project's google auth worked flawlessly with Firebase. I only encountered this issue after I tried moving to Supabase.

To perform OAuth sign-in on Web, you can use the .signInWithOAuth() method!
await supabase.auth.signInWithOAuth(Provider.google);


mapController.moveCamera should not be animated

Describe the bug
mapController.moveCamera should move the map without animating the transition to match the API of google_maps_flutter.
If an animated transition is required, mapController.animateCamera should be used instead.

From the GoogleMap API documentation:
GoogleMap API - moveCamera
public final void moveCamera (CameraUpdate update)

Repositions the camera according to the instructions defined in the update. The move is instantaneous, and a subsequent getCameraPosition() will reflect the new position. See CameraUpdateFactory for a set of updates.

GoogleMap API - animateCamera
public final void animateCamera (CameraUpdate update)

Animates the movement of the camera from the current position to the position defined in the update. During the animation, a call to getCameraPosition() returns an intermediate location of the camera.

To Reproduce
Steps to reproduce the behavior:

In the example project, open Camera control
Tap on any of the buttons
Observe the map camera animating to the new position

Expected behavior
The map should instantly transition to the new position, rather than animating the transition.
Screenshots
Not applicable.
Smartphone (please complete the following information):

Device: iPhone XS
Version iOS 15.0.2

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-arm, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] Connected device (3 available)
    ! Error: iPhone is busy: Making the device ready for development. Xcode will continue when iPhone is finished. (code -10)

• No issues found!

Root Cause
Lines 232 and 235 of apple_maps_flutter/ios/Classes/MapView/AppleMapController.swift show animated: true
https://github.com/LuisThein/apple_maps_flutter/blob/d302d013d38315ac0e2b9742220df1fe6eeb17bf/ios/Classes/MapView/AppleMapController.swift#L228-L237
Concerns
While fixing this bug will make the API match what is expected from the Google Maps API (and google_maps_flutter), it is a breaking change for any users that have come to expect  mapController.moveCamera to animate.
While users can update their code to use mapController.animateCamera if they want the camera to animate, it should be very clear to anyone updating that this update will change existing behavior.
Pull Request
I'll submit a pull request changing mapController.moveCamera to no longer animate, if this sounds good to you.
Given that this change breaks previous behavior, do you think it would warrant a major version bump?

please help merge it.