Remove hackney from realtime_signs

Summary of changes
Asana Ticket: Remove hackney from realtime_signs
This PR is a bit overdue, but it replaces the current main http client library being used HTTPoison with Finch. HTTPoison is a widely used HTTP Client library for Elixir built around hackney, but hackney has some limitations particularly when it comes to connection pooling. According to the Asana task, hackney has caused multiple failures for realtime-signs in the past. I suspect this may potentially be due to its error prone way of handling connections pools. More can be read on this here  in a forum post by the creator of Finch.
Mojito, another Elixir HTTP client library but built around Mint was the original suggestion to replace HTTPoison, but that library has since been deprecated and the author of Mojito recommends Finch as an alternative. Finch is specifically designed to handle very high throughput and more efficiently handle connection pooling and may suit realtime-sign's use case as a more stable http client.

According to the thread in this GitHub issue regarding the original bug motivating a move away from Hackney, it was resolved by the team managing Hackney with version 1.17 which we are using now. Therefore, I don't think there's any need to replace hackney at the moment and this PR can be closed out.


T2Ramsey tutorial

Summary
Tutorial for T2 Ramsey experiment.
Details and comments

Ready for review.

Please mark as WIP until it's ready for final review

I thought it was ready for review, but when I looked now, I see one of the examples disappeared. Very mysterious. I will put back the WIP until fixed.

I think this can be reviewed now. I am still not sure what to do with the last plot. @eliarbel - can you review all, in particular, do you think any more examples should be added?

Fix the font size in the title:

when the qubits is initiated

Change "qubits" to singular. Maybe "initialized" instead of "initiated"?

It is better to use reasonable numbers from the real world. Since T2 is typically in the area of ~100us, it doesn't make sense to take delays from 1s to 50s.

... and to simulate T2 of 10s

result2 = expdata2.analysis_result(0)

Same comment as in the "add tests" PR - this is actually the original result, you need analysis_result(1) for the combined result

Fix this:
# set the computation units to seconds
unit = 'us' #seconds

https://github.com/Qiskit/qiskit-experiments/pull/122#issuecomment-872144988 is still relevant

@yaelbh - for some reason I don't have response boxes beneath your comments, so I am responding here:

I fixed all the units to be realistic
Changed the comment from seconds to microseconds
Fixed the result in the last example to be result(1)

https://github.com/Qiskit/qiskit-experiments/pull/122#issuecomment-873598220
Text says "seconds" in two places instead of microseconds

@yaelbh , @eliarbel - thank you both for all your thoughtful comments. I think I addressed them all. One more thing I need to do, is to improve the scaling of the x-axes of the graphs. I'll take care of that before a final review.

@yaelbh , @eliarbel - I addressed all your comments. It is ready for one final review in my opinion.

@eliarbel Your approval is required, because you asked for changes

@eliarbel Your approval is required, because you asked for changes

Just need to change T_2 to $T_2$ in the first header. I'll approve anyway, but please see that it's changed since not sure when Merav can handle this.


Style: Introduce Animation Effects on Homepage Components

What's the suggested design idea?
Description:
Currently, certain components on the homepage, such as the left section heading and images, appear static. To enhance the visual appeal and user engagement, I propose incorporating animation effects using the Framer Motion library.
Problem:
The static appearance of certain components may result in a less dynamic and engaging user experience on the homepage.
Proposed Changes:
Integrate animation effects for specific components on the homepage using the Framer Motion library. This will add a layer of dynamism and contribute to a more visually appealing interface.
To-Do:

Identify the components that would benefit from animation effects.
Implement Framer Motion animations for the identified components.
Test the animations to ensure they enhance the user experience without causing any adverse effects.
Consider feedback from the community and project maintainers during the review process.

Checklist

[X] I have checked the existing issues
[X] I am a SWOC'24 contributor

Add screenshots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue

@harmeetsingh11 yeah it does not have any animation integrated. Please implement framer motion. Assigned this issue to you

Hi @harmeetsingh11 I have requested changes on your Pull Request but you didn't respond till now. If you don't respond in next 48 hours, you PR will be rejected.

@Sanchitbajaj02 Apologies for the delay. I've added animation effects to the home, login, register, and feed pages. The verify, userid, and post pages are pending. Unfortunately, I can't manage it now due to a busy schedule. Feel free to open a new issue and assign it to someone else if needed.

I've added animation effects to the home, login, register, and feed pages

Thanks for adding that.

The verify, userid, and post pages are pending

No worries, I will look into this later


precedence of blur vs other click events

HI, I seem to have a tussle between two competing items/events that seems to be causing the _onblur=doSave not to fire.
If I click out of my froalaReactive which has the above event set onto a general area on the page, all works fine. The doSave function is called.
I have some other sibling items on the page that do things when clicked (they have a stopPropagation call) and when I clicked, the onblur event never seems to fire as the 'click' event gets fired before onblur and changes a param that hides the template (so the blur event never gets to fire).
is there anyway to ensure I get the blur event before the click elsewhere on the page?

Hi,
I suspect this is a not meteor - specific issue, or an issue specific to froala-reactive.  However, maybe you could look at adding some guard code in the onDestroyed() function for the templates hosting a froala-reactive instance, to see if you can trap scenario where there are unsaved changes in the editor,and then invoke your save logic?

This should be fixed in V2.

Indeed, it looks like onblur is firing before other click events, that's
really cool, thanks
On 20 October 2015 at 22:18, Stefan Neculai<EMAIL_ADDRESS>wrote:

This should be fixed in V2.
—
Reply to this email directly or view it on GitHub
https://github.com/froala/froala-reactive/issues/15#issuecomment-149706423
.


acpica-tools: 20221020 -> 20230331 + fix i686-linux builds

Description of changes
Version bump + disable -Werror to fix i686 builds and make the derivation overall more resilient to toolchain version bumps. Using -Werror outside of development builds is generally not recommended, so I didn't limit this change to i686 only.
ZHF #230712
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build pkgsi686.acpica-tools


Fix building OIIO tutorials with newer OIIO versions

Newer OIIO versions seems to require >CPP14 however embree currently forces c++11 causing the tutorials to fail with newer OIIO versions (tested with OIIO <IP_ADDRESS>).
I don't know if changing the cpp version to be implicit is controversial or not.
But it at least works for me. ^^
In addition to this, the OIIO library finding needed to be updated as the main library now depends on the additional _utils library. Otherwise it would fail at the linking phase because of missing symbols.

Thanks for this PR. We have recently removed the (optional) dependency to OIIO for our tutorial applications.


Some features turns off automatically.

Microsoft PowerToys version
0.65.0
Installation method
Microsoft Store
Running as admin
Yes
Area(s) with issue?

Can you confirm this is still an issue with PowerToys v0.72?
/needinfo

The issue did not happen again after the 0.72 update.


Using generated schema with Apollo Express Server?

Hi,
Is it possible to use the generated schema with the Apollo GraphQL Express server? (As per this example https://github.com/Akryum/apollo-server-example)
a direct call to graphql() is working fine:
const IwAddressBaseModel = require('./data/objection/base/IwAddressBaseModel'),
      IwRegionBaseModel = require('./data/objection/base/IwRegionBaseModel');

const graphQlSchema = graphQlBuilder()
                       .model(IwAddressBaseModel)
                       .model(IwRegionBaseModel)
                       .build();

//Execute a GraphQL query.
graphql(graphQlSchema,
`{
  iwRegions {
    name
  }
}`).then(result => {
  console.warn(JSON.stringify(result, null, 2));
});

const GRAPHQL_PORT = 3001;
const SUBSCRIPTIONS_PATH = '/subscriptions';

var graphQLServer = express();

graphQLServer.use(cors());

graphQLServer.use(bodyParser.urlencoded({ extended: true }));

graphQLServer.use(bodyParser.json());

graphQLServer.use('/graphql', graphqlExpress({
    graphQlSchema
}));

graphQLServer.use('/graphiql', graphiqlExpress({
    endpointURL: '/graphql'
}));

const server = createServer(graphQLServer);

server.listen(GRAPHQL_PORT, () => {
  console.log(`GraphiQL is now running on http://localhost:${GRAPHQL_PORT}/graphiql`)
//  console.log(`GraphQL Subscriptions server is now running on http://localhost:${GRAPHQL_PORT}/${SUBSCRIPTIONS_PATH}`)
});

with console.log showing:
{
  "data": {
    "iwRegions": [
      {
        "name": "Limpopo"
      },
      {
        "name": "Gauteng"
      },
      {
        "name": "Western Cape"
      },
      {
        "name": "Northwest Province"
      },
      {
        "name": "Mpumulanga"
      },
      {
        "name": "Northern Cape"
      },
      {
        "name": "Kwazulu Natal"
      },
      {
        "name": "Garden Route"
      },
      {
        "name": "Eastern Cape"
      }
    ]
  }
}

but when I try to use graphiQL with the same query, it returns an error message:

Error: Must provide schema
    at invariant (C:\xampp\htdocs\iwallqsrv\node_modules\graphql\jsutils\invariant.js:19:11)
    at Object.validate (C:\xampp\htdocs\iwallqsrv\node_modules\graphql\validation\validate.js:58:37)
    at doRunQuery (C:\xampp\htdocs\iwallqsrv\node_modules\apollo-server-core\src\runQuery.ts:116:30)
    at C:\xampp\htdocs\iwallqsrv\node_modules\apollo-server-core\src\runQuery.ts:59:39
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)

Again... I gotta stop doing this and wasting your time, sorry.
I got it working as follows:
In the last part of the code above, I changed to the following:
graphQLServer.use('/graphql', graphqlExpress({
    schema: graphQlSchema
}));

graphQLServer.use('/graphiql', graphiqlExpress({
    schema: graphQlSchema,
    endpointURL: '/graphql'
}));

Just posting it here in case it helps someone else
Thanks a million for 'objection-graphql' !


FAIRsharing should point to GitHub

The FAIRsharing entry referenced in the manuscript should point to the versioned released of the spreadsheet and not to a google doc.

Agree, it would also be good if the term "MiAIRR" could show up in the General Information or even the Abbreviation (in case it can still be changed).
In addition it would be nice if the "Developed in" field could represent the international nature of this effort 😉.

The link now points to the TSV on Github, thanks @skleinstein.


Add log Syntax Highlighting

Hi,
wastegun/bin has currently also the syntax option called "log", which is quite useful for debugging and going through logs.
Please consider to add it also here. :)

Hmm, but doesn't such syntax depend on the specific log format? As far as I understood bin took the syntaxes from broot which itself compiled it from the bat syntaxes. But not sure which of those would match "log".


Error running bundle exec danger init: No recent pull requests found for this repo

I have run through all steps successfully except the final one (exposing the GitHub token as an environment variable).
It fails with a mysterious error message:

I have several ongoing pull requests on the repository in mention, and I am not sure how to move forward on this.

When running with local git repo you need to specify the *LOCAL_GIT_PR_ID" environment variable. It's strange though that it tries to run into local mode. Will look into that.

@justMaku

git log --merges --oneline

@justMaku export LOCAL_GIT_PR=20 && bundle exec danger init yields
No recent pull requests found for this repo, danger requires at least one PR for the local mode. (RuntimeError)
        /usr/local/lib/ruby/gems/2.3.0/gems/danger-0.8.2/lib/danger/ci_source/local_git_repo.rb:52:in `initialize'
        /usr/local/lib/ruby/gems/2.3.0/gems/danger-0.8.2/lib/danger/commands/init.rb:137:in `new'
        /usr/local/lib/ruby/gems/2.3.0/gems/danger-0.8.2/lib/danger/commands/init.rb:137:in `current_repo_slug'
        /usr/local/lib/ruby/gems/2.3.0/gems/danger-0.8.2/lib/danger/commands/init.rb:235:in `circle_token'
        /usr/local/lib/ruby/gems/2.3.0/gems/danger-0.8.2/lib/danger/commands/init.rb:160:in `setup_danger_ci'
        /usr/local/lib/ruby/gems/2.3.0/gems/danger-0.8.2/lib/danger/commands/init.rb:35:in `run'

Sorry, the environment variable name is actually LOCAL_GIT_PR_ID.

@justMaku export LOCAL_GIT_PR_ID=20 && bundle exec danger init
yields the exact same error :C

@kennethlynne right, that wouldn't work with your setup, please try using fix_init_problem_with_repos_without_merges branch for now.

Fixed in #275


provide example gaf examples

as discussed in meeting July 5, 2015 -
@austinmeier to provide some manually constructed GAF examples for few scraped grin (and apsnet?) observations.
With these examples, we can write unit tests to automate and test the transformation from tabular (tsv) to GAF format.

manually created example GAF2 line using the second line from grin-16k.tsv.gz:  GAF format is tab separated as well.
1140225	GRIN	PAMPA		TO:0000598	reference:xxxxxxx	EXP	from_country(Argentina)	T	PAMPA	PI 162787	germplasm	NCBITaxon:3879	07062016	austinmeier	has_phenotype_score(29.4)
in this case I have used 'PAMPA' as the germplasm's name and symbol.  These could be switched with the PI number, which is currently in the synonyms column.
TO:0000598	was used as the trait, however this would likely be the parent of the actual trait, because TO:0000598 is 'protein content', so it refers to the protein content of a whole plant, or plant part.  The observation is the protein content of the leaf, so it would not be mapped perfectly.
it seems there are two different method IDs used for "Crude protein in the leaf."
country of origin not present (Argentina, found on this page: https://npgsweb.ars-grin.gov/gringlobal/AccessionDetail.aspx?id=1140225)
reference ID not included.  I am not sure if there is an easy way to add references, but there were two listed on the above page (D.Z. Skinner. 1999. Non random chloroplast DNA hypervariability in Medicago sativa. Theor Appl Genet Theoretical and applied genetics; international journal of b. , and D.H. Basigalup, D.K. Barnes, and R.E. Stucker. 1995. Development of a Core Collection for Perennial Medicago Plant Introductions. Crop Sci 35:1163-1168. )
The NCBI taxon used was 3879, as I did not see 300359 on NCBI
The unit on the phenotype score is unknown.  This would be nice to include, but might require new terms specific to each species/trait

@austinmeier thanks for providing the example. For sake of completeness, the top three lines of https://github.com/jhpoelen/samara/releases/download/v0.1.2/grin-16k.tsv.gz are:
taxon id	taxon name	descriptor id	descriptor name	descriptor definition	method id	method name	observed value	accession id	accession number	accession name
300359	Medicago sativa L. subsp. sativa	68104	Core subset (CORE)	In-vitro dry matter disappearance (ivdmd) expressed as a percent of the cultivar venal.  Higher than 100% suggests low digestibility & higher by-pass protein.	391002	ALFALFA.PROTBYPASS.93.VOLENEC	140	1140225	PI 162787	'PAMPA'
300359	Medicago sativa L. subsp. sativa	68102	Core subset (CORE)	Crude protein in the leaf.	490600	ALFALFA.1989.BARNES	29.4	1140225	PI 162787	'PAMPA'

@austinmeier is there a resource you'd recommend that describes the GAF2 format?

Absolutely!  Here is the link from the Gene Ontology:  http://geneontology.org/page/go-annotation-file-format-20
It was developed to annotate genes, and gene products, so we are twisting it, and repurposing it to describe germplasm.  I have a whole slideshow walking through an example if you want me to email it over.

@austinmeier thanks for gaf2 reference. I've created https://github.com/jhpoelen/samara/wiki to attempt to better understand the manual mapping you provided. Could you please review and comment? If it is easier to do voice /skype, please let me know. So far, I've identifier #12 #13 #14 #15 as gaps we need to fill in order to complete the samara --> gaf2 mapping . Please feel free to open new / comment on existing.


Completion not working with custom PowerShell Editor Services

Using JetBrains Rider.
Whatever version is loaded via File | Settings | Languages & Frameworks | PowerShell | PowerShell Editor Services, completion only shows keywords or locally defined functions. No PS library suggestion in completion.
Once I revert to the bundled PSES v 1.10.1, completion starts suggesting PS library functions.

What version of PowerShellEditorServices are you trying to use? I'd like to note that so far we use a very old one 1.10.1, and upgrading it to the modern one may be very tricky.
Upgrade of the embedded PSES version is in our short-term plans (#51).
Perhaps sharing the IDE log would be useful in this case (since intellij-powershell v2.2.0 we now include the PSES log in the IDE log, so if there's a terminating error, then we'll see it).

Blocked by #155

Found a workaround for #155, so I've reproduced this with the latest plugin version and PSES v. 3.11.0
rider-logs-20231003-11550816257121191460710029.zip

I see what's wrong now: we only attach our console listeners after we connect to the process and load the session file. This means that there will be no output and even no exit code if the session could not be found.
This is, of course, wrong, and leaves us without any diagnostics in this case.
This also explains the message PowerShell language host process exited: null: since we were unable to connect to the process, we haven't even assigned it into a variable, and thus weren't able to extract the exit code.

See my explanation in #156. I'm going to close this issue as partially fixed and partially a duplicate of #51.


feat: use custom root type for KeyBinding

Use a custom root type so that models_as_dict=False does not need to be passed to the .json() method since this parameter does not get passed recursively along models. This changes the .dict() method to replace KeyBinding with its __root__, which is a str, thus effectively having the data represented as a string for serialization purposes while still being able to access the rest of the functionality attached to the KeyBinding class.
If I have implemented this correctly, there should be no effective changes to the API.

I can't say I love the extra code + complexity here, but I also don't have any better ideas, so approving because the desired behavior is at least well tested.

I agree, while I also think the goal is reasonable (not having to pass models_as_dict to the json() method), I think what the implementation here does to the code is unfortunate.

I had one optional idea around mutability that might simplify things, but not sure if it's viable.

I think making this immutable is a great idea.  In any case, even if it's not immutable, I dislike the duplicated logic in the __init__ and in setattr.  (That's kind what @validator is there for in the first place... so call it in the __init__ if you need, rather duplicating its logic elswhere)

Also, to confirm, the reason we want KeyBinding serialized to a string (rather than a list of dicts) is because we want it to human-readable and modifiable in something like a JSON or YAML file?

This is also my main question here: while I can see that it's a nicer way to serialize it, can you point out where you ran into this problem?  i.e. where you were trying to serialize it (rather than, say, using str(keybinding)) such that you found all this necessary?

if you do want to change the root type of KeyBinding to str (which I'm not convinced is necessary/advisable) then I think that parts should probably just be made a property:

    __root__: str

    @property
    def parts(self) -> List[SimpleKeyBinding]:
        # could cache this and make keybinding immutable
        return [SimpleKeyBinding.from_str(part) for part in self.__root__.split()]

This is also my main question here: while I can see that it's a nicer way to serialize it, can you point out where you ran into this problem? i.e. where you were trying to serialize it (rather than, say, using str(keybinding)) such that you found all this necessary?
(an alternative very simple solution here is to set the json encoder on the model that contains the keybinding, so it would be nice to know why/where that approach is insufficient)

You can find the issue I ran into in this Zulip thread
Here's a simple example you can run yourself if you're not convinced:
In [1]: from pydantic import BaseModel

In [2]: class Client(BaseModel):
   ...:     title: str
   ...:     first: str
   ...:     last: str
   ...:

In [3]: class Lawyer(BaseModel):
   ...:     client: Client
   ...:
   ...:     class Config:
   ...:         json_encoders = {
   ...:             Client: lambda c: f'{c.title} {c.first} {c.last}'
   ...:         }
   ...:

In [4]: class Office(BaseModel):
   ...:     lawyer: Lawyer
   ...:
   ...:     class Config:
   ...:         json_encoders = {
   ...:             Client: lambda c: f'{c.title} {c.first} {c.last}'
   ...:         }
   ...:

In [5]: client = Client(title='Dr.', first='Medikal', last='School')

In [6]: client.json(models_as_dict=False)
Out[6]: '{"title": "Dr.", "first": "Medikal", "last": "School"}'

In [7]: lawyer = Lawyer(client=client)

In [8]: lawyer.json(models_as_dict=False)
Out[8]: '{"client": "Dr. Medikal School"}'

In [9]: office = Office(lawyer=lawyer)

In [10]: office.json(models_as_dict=False)
Out[10]: '{"lawyer": {"client": {"title": "Dr.", "first": "Medikal", "last": "School"}}}'

I don't need convincing of pydantic's behavior :) I'm aware of it.
I guess, I'm kinda asking where exactly in your code you needed this. I did read the zulip thread and don't see an application there, just more MREs... and a link to the github issue where you said:

There's an issue serializing KeyBinding to json, since to properly use the json_encoders config settings on other models, you must pass models_as_dict=False (see https://github.com/pydantic/pydantic/pull/3542). However, this aspect doesn't seem to be passed between json calls, so neither overriding the method to change the default on ShortcutSettings nor calling get_settings().json(models_as_dict=False) fixes the problem.

but what I'm looking for is the literal place where you're using keybinding.

Ohhhhh, I see what you’re getting at. The equivalent of Office in our use case would be NapariSettings. I didn’t consider adding something to encode ShortcutSettings as a way to properly encode KeyBinding.
When I have time I’ll try adding a _json_encode method to ShortcutSettings and see if that fixes things :)

yeah, give it a shot.  I do still agree that it's frustrating that you can't have the logic that declares how a field should be json encoded on the field itself... rather than needing to take special action in the higher level models that use the field.
Note that https://github.com/napari/napari/pull/2297 was trying to solve this internally for napari (e.g. if you define a _json_encode) method on the field type itself, napari's EventedModel will find it and use it.  ... not 100% sure if it will work deeply nested here, but this is definitely a case where that was "supposed" to help.  So you might also try that

I made a branch experimenting with the above, but ran into an issue with representing fully-default models. Tried to debug but just more and more issues keep popping up due to our custom handling of YAML among other things. I think at this point it would be simpler to proceed with this PR with some of your requested changes, so that's what I'll do.

If I understand correctly this would be superseded by #68?

yes

@kne42  can I close this now with #68 ?

closing... but feel free to reopen if I'm mistaken!

Re-opening this, ran into some more issues where we couldn't generate the schema from KeyBinding since it "cannot be serialized as JSON" again as the schema function does not actually take into account the encoders we provide (perhaps another pydantic bug?). That was my bad for not running additional tests.
Do you think another solution would be better? We could theoretically subclass KeyBinding from str but things would get quite messy/confusing. Also, the latest implementation with the custom root type errors when it cannot parse a valid KeyCombo whereas previous versions would still store the parts as Key.UNKNOWN, is this desirable functionality?

just curious, how did using napari's _json_encode work out?

more context about the issues you're running into would also be appreciated.  minimal examples using pydantic are helpful, but i know that there are lots of little tricky bits with pydantic, so seeing the actual code and problems you're running into would be very helpful here so we're not just talking in the abstract

when it comes to generating the schema, they... just use their default one

ohhh... I see, your issue is in schema_json()... did you try __modify_schema__?
https://pydantic-docs.helpmanual.io/usage/schema/#modifying-schema-in-custom-fields

im at the point where i just want to rewrite a ton of pydantics source code

well you're in luck, they're hard at work on v2, re-written in rust.

as a side comment here: I also think that using the json-schema autogenerator thing in the napari preferences dialog has been stretched well past its original scope (and usefulness) ... so another thing you could consider here is simply excluding this from the schema there, and creating a custom widget without going through json-schema-form-thingy

ohhh... I see, your issue is in schema_json()... did you try __modify_schema__? https://pydantic-docs.helpmanual.io/usage/schema/#modifying-schema-in-custom-fields

yes, turns out that's called later down the chain after it's already been passed to their default encoding function which throws an error

well you're in luck, they're hard at work on v2, re-written in rust.

thank god im actually at my wit's end with this library's design, perhaps it's time to learn rust and contribute 😓

yes, no doubt there are frustrations.  but i think on the whole, it's an excellent idea and library, with some hiccups in the original implementation.  (something I think we should all be able to relate to as napari developers :joy:) each time I find myself thinking I could do better, I find it harder than at first I thought


feat: Updated versions of VPC, SG, ACM modules

Minor recreation of resources were required.
  # module.atlantis_sg.aws_security_group_rule.computed_ingress_with_source_security_group_id[0] will be destroyed

  # module.atlantis_sg.aws_security_group_rule.ingress_with_source_security_group_id[0] will be created
  + resource "aws_security_group_rule" "ingress_with_source_security_group_id" {

  # module.acm.aws_acm_certificate_validation.this[0] must be replaced
  -/+ resource "aws_acm_certificate_validation" "this" {

  # module.acm.aws_route53_record.validation[1] will be created

v2.10.0 has been just released.


Forwarder restarts with FATAL error in case of registry and nsmgr reboot

At first the issue popped up during an upgrade test in which we try to upgrade NSM from a pre v1.1.1 version to NSM v1.1.1
It is an intermittent issue (timing is key), but can be reporoduced with simple pod restarts by "kubectl delete pod XY --force".
NSM elements gets restarted  in the following order:

Forwarder restart
Registry restart
NSMgr restart

I was able to reproduce the issue with this timing:
forwarder restart -> sleep 2.5 -> registry restart -> sleep 2 -> NSMgr restart
By issueing different timing for the restarts, heal function looks to be working great, keeping everything up and running, waiting for connections, etc..
I attached the logs of the forwarder. Unfortunately logs from the "old" registry and NSMgr are not available due to them being killed.
The timing to reporoduce the issue might differ for you according to the available resources for the k8s cluster, I tried it on kind.
forwarder.log

@richardstone Thanks for finding this.
@denis-tingaikin @glazychev-art Any ideas?

This is a good catch. We'll consider the FATAL problem within https://github.com/networkservicemesh/sdk/issues/1170
Moreover, we're planning to add advanced healing when two components die. @glazychev-art Could you remind issue number?

@richardstone Looking at that logs and the code, this looks like the Forwarder is in the process of starting up and hits:
https://github.com/networkservicemesh/cmd-forwarder-vpp/blob/6898affa3cc9b85a47777e724b60618af6c5fa24/main.go#L252-L254
Due to not being able to register with the Registry on startup (probably because the NSMgr isn't running yet).
Normally, the Forwarder would restart until the NSMgr is available to be registered with and then everything would converge... did that happen for you?
While we could consider other, potentially more graceful ways of handling this situation, it is the case that things should converge no matter what order the Forwarder, NSMgr, etc start in.  If that's not happening, I'm very concerning bug.  If convergence isn't happening fast enough, I'm quite open to talking about that as well, but would be curious if you have a notion of how fast you need it to be :)

@edwarnicke In my case everything started to work just fine, shortly after the unexpected restart of the forwarder.
My concern is not about the time until we reach convergence in these cases, but the unexpected restart of the forwarder when it's unable to reach certain NSM components at the right time.
I'm okay with a bit slower start time for the new instance, so that it can wait - instead of restart - until it's able to reach every component.

@richardstone

@edwarnicke In my case everything started to work just fine, shortly after the unexpected restart of the forwarder.

Glad everything started to work just fine :)  That's the behavior I would expect.

My concern is not about the time until we reach convergence in these cases, but the unexpected restart of the forwarder when it's unable to reach certain NSM components at the right time. I'm okay with a bit slower start time for the new instance, so that it can wait - instead of restart - until it's able to reach every component.

I tend to think about this in layers:

This is all working as designed... which is not to assert the design is correct :)
The restart only happens if the registry isn't available initially to the Forwarder, if  the registry disappears after becoming initially available, the Forwarder should be fine.
Alarming users is not cool, even if things eventually end up being OK, so I'm very open to talking about less alarming ways to do this.

What would make this less alarming to you?

@edwarnicke
The most alarming thing to me is that the forwarder restarted as soon as it faced a connection loss. If It could wait for a certain timeout (configurable) that would be the best, so if it get's connected to the other components within the specified timeout then everything is fine. In any other case it is free to restart, so the user gets notified about a - probably - bigger issue with the connection.
This should apply to every NSM component in my opinion.

@richardstone Any chance you would be in the community meeting today (Tue) at 8am PT to discuss?

@edwarnicke Sure. Meet you there :)

Should be fixed with Implement 'retry' registry chain element networkservicemesh/sdk#1201
@richardstone Be free to reopen this issue if it will reporduciable!


WIP - Fix Docs build error

@parbenc please continue, fix all warnings.

@samjwu There are some overlap between your spelling branch and our branch. Can you check our changes and suggest if we should take over your commit(s)? We can also add the changes to your branch, if you want.

Separated spellcheck stuff into another branch.

Separated spellcheck stuff into another branch.

Can you open that PR?

Can we remove the WIP from the title?

@parbenc Can we remove the WIP from the title?

Unfortunately i can't edit this PR.

Looks good to me.

@cgmillette could you please look at this?


[docs] Update https://aka.ms/azsdk/go to point to our packages page

Looks like every language redirects their aka.ms/azsdk/ link to point to their packages page. We should do the same - today it just goes to our root-level repo readme to an anchor that doesn't even exist anymore.
Packages page: https://azure.github.io/azure-sdk/releases/latest/go.html

Updated the link


Please add support for pnpm

Is your feature request related to a problem? Please describe.
When I run bin/rails generate react_on_rails:install, it says:
ERROR: yarn is required. Please install it before continuing. https://yarnpkg.com/en/docs/install
ERROR: react_on_rails generator prerequisites not met!

Describe the solution you'd like
Please add support for pnpm, it's a very powerful modern front-end tool.

See https://github.com/shakacode/shakapacker/issues/195


Bumped reccommended LND version

Bumped reccommended LND version to 0.15.4-beta

@rstmsn, remember to re-request review from reviewers when ready

Thanks for flagging this outdated sentence. The minimum required version was bumped to v0.15.1-beta a while back, so the first part of the sentence should also be updated. Maybe we can even link to the section in the code so it's easier to check?

Would you agree that it would make more sense to also bump the minimum required version in the code to 0.15.4-beta, as this is the update that patches the large taproot transaction bug ?
Presumably loop will fail to run if it's operating on top of an lnd that is not patched for this issue?
Grateful for thoughts in case I have overlooked something.

@rstmsn, remember to re-request review from reviewers when ready

@rstmsn, remember to re-request review from reviewers when ready

Would you agree that it would make more sense to also bump the minimum required version in the code to 0.15.4-beta, as this is the update that patches the large taproot transaction bug ?

Yes, I think that makes sense.

@rstmsn, remember to re-request review from reviewers when ready

@rstmsn, remember to re-request review from reviewers when ready

@rstmsn, remember to re-request review from reviewers when ready

@rstmsn, remember to re-request review from reviewers when ready

Replaced by https://github.com/lightninglabs/pool/pull/435.


levelUp commands never fire if XP given via command is enough to jump over level

*Detailed description of the issue:
When a player receives job XP via command /jobs exp..., levelUp commands are not executed if the xp is enough to skip that level entirely.
Example: player is level 4, we have a command trigger configured at level 5. They get enough XP to jump to level 6. The level command is never fired.
Jobs version: Jobs<IP_ADDRESS>
Server Type (Spigot/Paper/etc): Purpur
Server Version (using /ver): This server is running Purpur version git-Purpur-1520 (MC: 1.18.1) (Implementing API version 1.18.1-R0.1-SNAPSHOT) (Git: dec07e6 on HEAD)
Previous version: git-Purpur-1509 (MC: 1.18.1)

7970b15d02f5d837bb05241dbb3e581a5492ba03


Add release workflows

Signed-off-by: Sayali Gaikawad<EMAIL_ADDRESS>Description
This PR adds below things:

A GitHub action workflow that will be triggered when a tag is pushed to this repository. The workflow builds the product and creates a draft release with built artifacts attached as artifacts.tar.gz in the release.
A jenkins workflow that is triggered based on above draft release. The workflow looks for artifacts.tar.gz, downloads it and then signs it and publishes it to PyPi

Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass.

[ ] New functionality has been documented.

[ ] New functionality has comments added.

[ ] Commits are signed per the DCO using --signoff.
[ ] CHANGELOG has been updated.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following the Developer Certificate of Origin and signing off your commits, please check here.

Getting few things in place so please wait before merging. Please feel free to review till then.
Thanks!

Workflows are failing for certain python versions for the latest ubuntu-22.04. Related issue on actions/setup-python https://github.com/actions/setup-python/issues/543

Hi @VachaShah ,
I specified the ubuntu-latest version explicitly in the above failing workflows. Looks like GH is changing its GH runners for ubuntu latest from 20 to 22.
Let me know if this works. For link-checker, once this PR is approved, I'll add the workflow so that, that workflow passes too.
Thanks!

Hi @VachaShah ,
I specified the ubuntu-latest version explicitly in the above failing workflows. Looks like GH is changing its GH runners for ubuntu latest from 20 to 22. Let me know if this works. For link-checker, once this PR is approved, I'll add the workflow so that, that workflow passes too. Thanks!

Sorry closed this by mistake. @gaiksaya Added a comment

The webhook has been added. We should be good for the release.


added tolerance json file

also add_ats.sh creates .ats files using the tolerance json's/ tolerance string query

i also added an override functionality in add_ats.sh so that if you create new tests but don't want to override existing .ats files you can do ./add_ats.sh 0. and if you want to override all the .ats files you can do ./add_ats.sh 1.

There is a lot of default parameters being added.  Can you please undo them?


Update FafClientApplication.java

Remove default Windows admin check.
It should not bozer regular users

.

The admin check is there to ensure users do not accidentally run the client as admin and mess up the file permissions on the files the client uses and writes to.

The admin check warning is there to ensure users do not accidentally run the client as admin and mess up the file permissions on the files the client uses and writes to. It will not be removed.

it disturbs gaming experience. that is critical issue.

can you elaborate? it's one time check. you should not run applications under admin as 99% of users do.

it is not one-time. it pops up every time.
and there is no easy way, nor reason to fix Win sys settings.
the correct way seems to add "/AdminCheck" as command line parameter instead.
or
"I do not care" checkbox.
how to pass bool value to next session?

maybe there could be checkbox I understand the risk and I will not bother technical support for breaking client


Update WORKSPACE file to comply with TensorFlow's downstream WORKSPAC…

…E requirements.
See:
https://groups.google.com/a/tensorflow.org/g/developers/c/F8-6HPanpnw

I'm assuming you manually verified we can still build jaxlib with this.

I'm assuming you manually verified we can still build jaxlib with this.

I did (on Linux with/without GPU, and on Mac).

I did (on Linux with/without GPU, and on Mac).


How to set and retrieve externalId via SCIM SDK

I am trying to get the externalId property from the SCIM API via the SDK. While, this may be an API issue (I don't know), if there's no way to set externalId then it probably shouldn't be exposed in the SDK. If it's settable but not retrievable, then it should be documented somewhere.
Reproducible in:
The Slack SDK version
slack-sdk==3.20.2
Python runtime version
Python 3.11.2
OS info
ProductName:            macOS
ProductVersion:         13.2.1
BuildVersion:           22D68
Darwin Kernel Version 22.3.0: Mon Jan 30 20:38:37 PST 2023; root:xnu-8792.81.3~2/RELEASE_ARM64_T6000
Steps to reproduce:
import os
from slack_sdk.scim import SCIMClient
from slack_sdk.scim.v1.user import User, UserName, UserEmail

client = SCIMClient(token=os.getenv("SLACK_TOKEN"))

user = User(
    user_name="blah",
    external_id="123-685f-4d06-a996-6ec9e872c13a",
    name=UserName(given_name="B", family_name="Ugh"),
    emails=[UserEmail(value="blah@example.com")],
)

uresponse = client.create_user(user)
# externalId is empty here
print(uresponse.body)

response = client.search_users(
    start_index=1,
    count=100,
    filter="""email co<EMAIL_ADDRESS>"""
)

# I expect the returned value to match "123-685f-4d06-a996-6ec9e872c13a", which I sent on user creation, but it is empty
print(response.body.get("Resources")[0]["externalId"])

Expected result:
I can use the SDK to create a user with an externalId and then get it back
Actual result:
{... 'Resources': [{'schemas': ['urn:scim:schemas:core:1.0'], 'id': 'U050NNEG4RZ', 'externalId': ''...}

Hi @eric-millin, thanks for asking the question!
Unfortunately, as mentioned in the SCIM API documents, updating externalId and some other properties is not supported on the server-side: https://api.slack.com/scim
Let us close this issue now. If you have follow-up questions on the SCIM API, please contact our customer support agents. You can submit inquiries via either /feedback in your Slack workspace or https://my.slack.com/help/requests/new

It says that for updating, not creating.


Add Ideasai

Add Ideasai to AI :  https://ideasai.com/

i wan to work on it jason

Its completed you can close it @JasonDsouza212


Towards a consistent handling of constant environment variables across all backends

Users currently rely on constant environment variables(CEVs) for configuring their applications, as well as for ensuring tree shaking on some backends. These CEVs are currently not consistently handled across all backends. In particular, some backends support unevaluated constants and some do not. Furthermore, some backends support non-constant environment variables, but these are outside the scope of this issue.
This lack of consistency negatively impacts some of our users, particularly those who wish to invoke the CFE in a modular fashion. While the number of users negatively impacted by this issue is small, nonetheless for those users affected this is a very significant problem.
There are a number of different approaches we can take, some possibilities are:

Status quo, users will have to deal with this pain. Some backends will support unevaluated constants, some won't.
All backends support unevaluated constants. Users have the flexibility to invoke the frontend anyway they wish, but backend engineers bear the pain.
We investigate some alternative to environment variables, that is handled consistently across all backends. For example, we can introduce a notion of a 'backend flag'. This would require a language change as well as backend work, but this could decouple us from all the legacy baggage around environment variables.
We change the CFE to support partial environments, and environment reconciliation. This might be the most work, but it would be isolated to the CFE, and backends could be cleaned up.

@sigmundch @johnniwinther @eyebrowsoffire for FYI

@joshualitt Can you elaborate a bit on the 4th option?

I'm no CFE expert, so take everything I'm about to say with a grain of salt.
What I'm imagining for option 4 is that when the CFE creates a dill, either outline or full, it will generate some metadata about the environment of the dill. Specifically, this metadata will include the defined CEVs and their values. When a dill has dependencies, the CFE will check the metadata of the dependencies against the current environment to ensure consistency.
To make this work, CEVs will have to have two states: defined and undefined. When a CEV is explicitly defined in some environment somewhere, it is considered to be defined, and any downstream consumers of that dill must either not explicitly define the CEV, or they must define it to the exact same value. When a CEV is not defined anywhere, it will remain undefined, but when evaluated by a backend's constant evaluator it will evaluate to it's default value.
Thoughts on the overall approach? I know I'm handwaving here, and what I'm proposing is probably fairly complex. I'm also happy to discuss offline if what I'm describing is unclear.

I'd recommend taking another look at https://github.com/dart-lang/language/issues/304 for context as well.
It took me a long time to find that issue unfortunately (issue searches are so hard!), but I believe it is very relevant to the discussion here. My guess is that (4) specifically would entail revisiting some parts of the discussion there, for example see https://github.com/dart-lang/language/issues/304#issuecomment-494164232.
@joshualitt - could you clarify how something like (4) addresses the complexities here? What part of the backend inconsistency it addresses and how it alleviates the problems we are trying to solve?

@sigmundch If the CFE can support partial environments, and environmental reconciliation, then we can remove unevaluated constants from the CFE, at least as a backend facing concept. As a result, all constants, including CEVs will appear from a backend perspective to be fully evaluated. This will enable clients, such as Flutter Web, to build a single dill with a partial environment defining only those constants they care about. Other constants can remain fully undefined, or defined in downstream consumers of the Flutter Web SDK, and the CFE will ensure everything is consistent.
Furthermore, by removing support for unevaluated constants, the handling of CEVs will be fully consistent, indeed fully opaque, to all backends. One notable exception to this is modular compilation. Modular compilers might need to handle undefined vs. defined constants differently. In the latter case, a modular compiler could leverage the value of the constant, while in the former case a backend would have to avoid reasoning about a constant until a definition for it appears.
That said, I believe our only modular compiler right now is DDC, and with this technique DDC would be able to support CEVs in the same manner as other backends. However, we might need to add runtime support for environments to make this work.
W.R.T. to the linked comment, I believe the method I propose fulfills the spirit of that comment. It will be the CFE's job to ensure environments are consistent. Practically speaking a given backend will only see a single consistent environment, regardless of how piecemeal that environment is defined.

Just so we don't lose sight of the other alternatives, before we actually try and solve this issue we should investigate whether or not constness actually has some benefit here.
Practically speaking, I've only seen two uses of CEVs:

Configuring an option.
Tree shaking

Do either of these use cases benefit from constness?
For the first use case, users might want a more flexible mechanism than CEVs, perhaps even something they can configure at runtime. In the second use case, I can imagine an alternative mechanism, such as compiler directives or flags, that practically speaking might cover all of the use cases.
As a result option 3 proposed above might be a better approach.

If we only have two use-cases for constants, one for early evaluation (analysis, modular compilation), and one for late evaluation (linking, tree-shaking, optimization), then perhaps we could have const and late const?

const - evaluated early and modularly; does not depend on environment; can participate in const and late const expressions. The implementation detail here is that evaluation takes place in the frontend.
late const - evaluated late; can participate in late const expressions only. The implementation detail here is that evaluation takes place in the backend.

The keywords already exist, and given the existence of late final, could be easily understood.


Version 3.0.8 stills indicates 3.0.7 in Diagnostics page

I just upgraded Lychee from 3.0.7 to 3.0.8.
The login dialog indicates 3.0.8.
But the Diagnostics page (/Lychee/plugins/check/) stills indicates 3.0.7:
System Information
------------------
Lychee Version:  3.0.7

I am not sure where this version comes from. I note that the file src/package.json has
  "version": "3.0.7",

https://github.com/electerious/Lychee/blob/master/src/package.json#L3

Thanks for letting me know. Should be fixed now! :)


Compactor Crash on overlapping compaction

Thanos, Prometheus and Golang version used
master-2019-04-17-6703f14

What happened
Thanos Compact crashed!
What you expected to happen
Not to crash!  Give me options of how to address overlaps such as preferring one over the other, or warning but not otherwise dying outright.
How to reproduce it (as minimally and precisely as possible):
Unsure.  It happens to me whenever I start the Thanos Compact in a specific data center.

Please find out why your blocks overlaps. It is useful to go to meta.json and checkout the type and ID. Check ID with your source logs that were producing those, check out why and with that external labels.
External labels are the most common way to get into overlapped blocks. Also local & global compaction enabled is another reason.
Plus, what would you expect? I don't think it would be nice for Thanos to remove random block that overlap.

@bwplotka how do I do that
@rafaeljesus no

Well.... it sure helps when you don't give two scrapers in two different environments IDENTICAL BLANK EXTERNAL LABELS.  OUCH.
Self-inflicted user error.  I'm not a smart man today :D


(maint) Revert PUP-11158 & PUP-10955

The environment text domain changes caused two issues:

Text domains were loaded for all indirected routes requests, not just compilation requests.
We no longer called Puppet::GettextConfig.clear_text_domain which reintroduced PUP-8672

This reverts three merge commits:
git revert -m1 c0071fc
git revert -m1 8a95722
git revert -m1 9f0ca2b
To repro the problem I used a custom puppet application with eputnam-i18ndemo module installed:
require 'puppet/application'

class Puppet::Application::L10n < Puppet::Application
  def main
    Puppet[:log_level] = 'debug'
    Puppet::Util::Log.newdestination(:console)
    envs = Puppet.lookup(:environments)

    Thread.new do
      # load text domain into this thread-local
      envs.get!(:production)

      # evict environment from different thread
      Thread.new { envs.clear(:production) }.join
      puts "Current text domain '#{FastGettext.text_domain}'"

      # try to translate, this thread still thinks its current text domain exists
      puts _("whoops")
    end.join
  end
end

The problematic code results in:
$ bx puppet l10n
Debug: Evicting cache entry for environment :production
Debug: Deleted text domain :production: true
Debug: Path to /home/josh/.puppetlabs/etc/code/environments/production does not exist, using default environment.conf
Debug: Path to /home/josh/.puppetlabs/etc/code/environments/production does not exist, using default environment.conf
Debug: Caching environment :production (ttl = 0 sec)
Debug: Reset text domain to :production
Debug: Evicting cache entry for environment :production
Debug: Deleted text domain :production: true
Current text domain 'production'
#<Thread:0x000055f1699b0338 /home/josh/work/puppet/lib/puppet/application/l10n.rb:9 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
	5: from /home/josh/work/puppet/lib/puppet/application/l10n.rb:18:in `block in main'
	4: from /home/josh/work/puppet/.bundle/ruby/2.7.0/gems/fast_gettext-1.1.2/lib/fast_gettext/translation.rb:21:in `_'
	3: from /home/josh/work/puppet/.bundle/ruby/2.7.0/gems/fast_gettext-1.1.2/lib/fast_gettext/storage.rb:87:in `cached_find'
	2: from /home/josh/work/puppet/.bundle/ruby/2.7.0/gems/fast_gettext-1.1.2/lib/fast_gettext/cache.rb:11:in `fetch'
	1: from /home/josh/work/puppet/.bundle/ruby/2.7.0/gems/fast_gettext-1.1.2/lib/fast_gettext/storage.rb:87:in `block in cached_find'
/home/josh/work/puppet/.bundle/ruby/2.7.0/gems/fast_gettext-1.1.2/lib/fast_gettext/storage.rb:79:in `current_repository': Current textdomain (:production) was not added, use FastGettext.add_text_domain ! (FastGettext::Storage::NoTextDomainConfigured)
Error: Could not run: Current textdomain (:production) was not added, use FastGettext.add_text_domain !

This PR restores the working behavior:
$ bx puppet l10n
Debug: Evicting cache entry for environment 'production'
Debug: Deleted text domain :production: false
Debug: Path to /home/josh/.puppetlabs/etc/code/environments/production does not exist, using default environment.conf
Debug: Path to /home/josh/.puppetlabs/etc/code/environments/production does not exist, using default environment.conf
Debug: Caching environment 'production' (ttl = 0 sec)
Debug: Evicting cache entry for environment 'production'
Debug: Deleted text domain :production: false
Current text domain 'default-text-domain'
whoops

In the failing case, the inner thread deletes the translation repository out from underneath the outer thread:
Debug: Deleted text domain :production: true
Current text domain 'production'

In the working case, the inner thread doesn't delete the translation repo and the current text domain is the default (so the translation still works).
Debug: Deleted text domain :production: false
Current text domain 'default-text-domain'

Sorry @luchihoratiu, never closer!


VIH-6268 Fix for admin web test user issue

Change description

Fix for user issue

Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No

/azp run


debug log http status code

The HTTP status code should be debug logged for scenarios in which it is a mismatch with the return errorCode.

This is now in #91


Use dev dependencies

Move all grunt- from dependencies to devDependencies so applications depending on materialize don't have to load them as well.

Thanks!


⚠ Bofrost.be has degraded performance

In 39a7624, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1245 ms

Resolved: Bofrost.be performance has improved in ad1cd28 after 13 minutes.


[Bug]: The close icon on the Page Settings box in Page Properties UI looks disabled for Home Page.

Is there an existing issue for this?

[X] I have searched the existing issues

Description
In the Page Properties UI, when we click on the settings icon for the Home Page,  The Close icon seems to be disabled, though it is actually clickable.
Steps To Reproduce

On the Page Properties page, for a Page that is set as Home Page (say Page1), click on the Settings icon
The Close icon seems to be disabled, though it is actually clickable.

Public Sample App
No response
Issue video log
No response
Version
Production

Duplicate of #18310


Some of the quicklogic tests fail in packing

This issue is a continuation  of https://github.com/QuickLogic-Corp/symbiflow-arch-defs/issues/97.
The all_ql_tests now pass except for some designs which have an over-utilization of resources and do not fit the device:
FAILED: quicklogic/pp3/tests/quicklogic_testsuite/iir/iir-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top.net quicklogic/pp3/tests/quicklogic_testsuite/iir/iir-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/pack.log
FAILED: quicklogic/pp3/tests/quicklogic_testsuite/cavlc_top/cavlc-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top.net quicklogic/pp3/tests/quicklogic_testsuite/cavlc_top/cavlc-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/pack.log
FAILED: quicklogic/pp3/tests/quicklogic_testsuite/design4/design4-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top.net quicklogic/pp3/tests/quicklogic_testsuite/design4/design4-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/pack.log
FAILED: quicklogic/pp3/tests/quicklogic_testsuite/sha256_fullfit/sha256_fullfit-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top.net quicklogic/pp3/tests/quicklogic_testsuite/sha256_fullfit/sha256_fullfit-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/pack.log
FAILED: quicklogic/pp3/tests/quicklogic_testsuite/design7/design7-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top.net quicklogic/pp3/tests/quicklogic_testsuite/design7/design7-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/pack.log

With this PR https://github.com/QuickLogic-Corp/symbiflow-arch-defs/pull/138 the iir design should pack. It had missing incorrect IO constraints.


Refactor handling of HTTP headers.

Fix #210, #256.

I think this is ready to merge; feedback appreciated :-)


when I execute the command docker-compose up -d  in directory example

when I execute the command docker-compose up -d  in directory example
Report that:
ERROR: Service 'server' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder609038124/app: no such file or directory

Yes, you need to execute make all before docker-compose up -d.


odeint Runge-Kutta step size sometimes goes backward in time

... and lots of things go boom-boom as a result.
Here's a repro: https://colab.research.google.com/drive/1lESqP8AWJi1QE-iT9pk4RbqDVWl8c30h?usp=sharing

Nice catch! Is it clear to you what we should do instead?

I have no clue! I'm still trying to figure this one out myself.

So it turns out that the initial step size calculated here is 0. It never actually goes backwards in time. I think that's just an artifact of it evaluating f here.

This is a very stiff ODE... It's very close to completely flat. I suspect that has something to do with it. But if anything that would mean that the step size would be too big.

In your example, you are integrating over the range [-20.0, -16.213825]. Then the ODE solver decides to evaluate the first step at 311003.06.
Two ways this could be improved:

Setting an upper bound for all time-steps at the the next time-step.
Adding support for explicitly setting the initial step size.

There is actually already a pull request for (2) in https://github.com/google/jax/pull/2604

I think the direct culprit here is that the default atol/rtol values are inappropriate for float32. With dtype dependent default tolerance, the problem also goes away -- see https://github.com/google/jax/pull/3444.


Cover presto with unit tests

Add schema tests to celery_tests

Notice: this issue has been closed because it has been inactive for 493 days. Feel free to comment and request for this issue to be reopened.


[Question]Is the cleaning of Docker cache the same as native Docker? And how to implement detailed header transmission rules like Nginx ingress?

This is not really related to Kubevela

Hi @Ophira0110
Q: Is the cleaning of Docker cache the same as native Docker?
A: Yes. Vela currently uses local docker command for build step.
Q: how to implement detailed header transmission rules like Nginx ingress?
A: Under the hood, Vela encapsulates Ingress resource via CUE template. To implement it needs to changes to CUE template in related definition which includes adding parameters and ingress config.


Change resource path for raphael.js / add datatables-buttons repository package to bower.json

I'm a bit confuse with datatables-buttons because in there website says datatables.net-buttons.

@boynoiz I don't think that we need datatables-bootstrap3 since it's included in datatables 1.10. Or do we? :) Yes it's the exact one, it is datatables-buttons on https://github.com/DataTables/Buttons/blob/master/bower.json too.

Yeah, seems it's added when I use install command.
I've already fixed it. :blush:


[Feature request] In search, show total result count

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Steps to Reproduce:

In a large project, search for a term with lots of results (e.g. "TODO")
Wonder how many results there are in total

I can't see that VS Code gives the total result count anywhere. It lists the results per file, but the total result count either isn't there, or isn't obvious enough for me to have found it!

Something like this would be cool:

I just found this old issue with some discussion on this feature: #6669
Closing as dupe


[Improvement of User Interface] Couldn't Get Where The Destroy Button Is

(see upper-right corner)
Maybe it is better to show "Destroy" button right there, without need to press "Advanced Settings", because anyway user will need this button and that's not something that needs to be hidden under "Advanced Settings"?

Press advanced settings button

show advanced commands if peer in your machine

Fixed on master.

fixed on prod


Add tutorial for 1078 - Integer Divisibility

Resolves #156

Merged. Thank you for your contribution. :)

Merged. Thank you for your contribution. :)


@conda-forge-admin, please add bot automerge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/vault-feedstock#47.


No audio on Ubuntu 14.04.3.

@neilnelson There is no audio output after #27 was solved by @tanay1337.

Fixed in this squashed commit: https://github.com/Melissa-AI/Melissa-Core/commit/2a9bee6347a2eecd54d7d953bf703f222ab3f95f.


Footer and share copy updates

Footer and share copy updates as per:

https://trello.com/c/9OyK8uF4/532-copy-update-footer-menu
https://trello.com/c/7vGeU0YR/531-copy-update-share-embed

 Copy Update: Share / Embed

 Copy Update: Footer / Menu


How to let the nacos-discovery-client refresh its cache quickly when instances up/down?

Which Component
We use the spring-cloud-starter-alibaba-nacos-discovery:2.2.1RELEASE as SD dependence in Java spring boot applications. And of course we have set up a Nacos cluster.
Describe what problem you have encountered
In brief, the java consumer application can't quickly react on providers' up/down events, with default configurations I guess.
After a provider downed, we can't see it on the Nacos cluster's web console, which is good. But the consumer still sending queries to downed instance (ip address) and causing "no response" errors.
I'm sure there must be some configurations for client or server that can deal with this problem, but I just be confused by the google search results and the official documents, not mentioning there is another project called "Nacos Config" which makes searching more difficult.
Describe what information you have read
I struggled to find this document but configurations inside it can't achieve what I want.

refer NacosRule.java


Acrylic Backdrop Fallback

This app works flawlessly on Windows 10, despite seemingly targeting its successor from the visual guidelines it follows.
The only slight issue in running on a system lacking Mica support being that the app's background renders fully opaque.
Were there support for Acrylic, this would make for a wondrous appearance even on "legacy" systems.
Another option would be to delegate the work to third party modifications through the existence of a toggle rendering the background transparent.

take a look at the most up to date version and let me know if you can see the Acrylic.

take a look at the most up to date version and let me know if you can see the Acrylic.

still no acrylic to be seen in version <IP_ADDRESS>.


Fixed Exit Game screen

So apparently, the exit game screen's yes and no are swapped lmao, choosing yes would put you back into the main menu, and choosing no would quit the game, which is the opposite. Instead I swapped em, and I went a little above and beyond to reduce some lines of code for ya
Wether you merge this or you just copy and paste, it bugged me a little so I just fixed it myself 😄

I'm making another one, this time fixing another bug that was there


Lacking basic error handling

Hi,
I've noticed that there is currently no error handling at all; No JNI'sExceptionCheck and not even nullptr checks. This leads to app crash when something goes wrong.
For example, trying to invoke a method from a Java class which doesn't exist results in SIGABRT.
This doesn't sound right, and also in contradiction to Android's JNI Tips.
I was wondering if this is something that is going to be fixed in the near future, and also if you have any workaround that can make this (very promising) library usable at its current version.
Thanks in advance!

Hello!  Apologies for not responding sooner, I missed that this issue was added.
Indeed there is not error handling, however, it is very much on my list of things to address. It did not occur to me that this would make applications where an exception is thrown technically unviable.
First, as a lame workaround, you can simply call the underlying JNI methods for checking exceptions. java.lang.Throwable looks to be a regular class so you could presumably describe it with JNI Bind if you wanted. That obviously isn't very satisfying, but if you're keen to use JNI Bind, this would hopefully unblock you.
Long term, I hope for a the exception syntax to look something like:
static constexpr ::jni::Class kClass {
  "kClass",
  jni::Method{"Foo", ... }.Throws(kIOException, kEtcException, ... }
};

jni::LocalObject<kClass> obj {};
// obj("Foo", ...);  won't compile
jni::Try {
  obj.Foo(...);
}.Catch([](jni::LocalObject<kIOException> e) {...})
.Catch(...);

This is still insufficient for cases like FindClass, and more broadly, if you wanted to check for exceptions every call (where the above syntax is clumsy, but also referring to something slightly different).  I didn't do this for the first pass because I didn't understand the performance implications, and taking it away down the road seemed bad.
What I intend to do is to provide a compile time optional pre and post lambda that you can write for all JNI calls.  This could be used for things like logging also.  I haven't thought deeply enough on how to accomplish this, and I figure it may take a bit of time.
My first priority is resolving existing bugs, but when that's done, I'll look at this next.  Resolving this is probably worth gating the 1.0 for. as the syntax will be forever.
Thank you for your interest in JNI Bind!

Thanks for the elaborated reply.
I think that an optional post JNI call lambda could allow resolving the most burning issue IMHO, which is avoiding app crash.
I would use that lambda for calling ExceptionCheck() and throwing a C++ exception in case a Java exception is pending.
The exception syntax in given example looks very neat, but I'm not sure how it would get along with the post JNI call lamda that checks for Java exceptions.
I'll definitely keep an eye on on this library, I'm sure that version 1.0 will be awesome.

I fully intend to complete this, however, I think unfortunately I'm going to deprioritize this from the initial release. There is simply too much to do, and this isn't absolutely critical for the tool to work (given we're already using it in prod).
I absolutely agree you should do this, but unfortunately, I just haven't had time to complete this yet.


Results navigation broken

Hello !
For the past few days, pressing the J and K keys no longer selects search results.
Also the blue frame no longer appears.
I was able to fix the issue by replacing the selector used in code by one I found in the Ecosia result page.
Ecosia may have changed the result selectors recently.
Fixed in ecosia_keyboard_shortcuts.js:6:
-const results = document.querySelectorAll(".card-web .result");
+const results = document.querySelectorAll(".layout-card");

Hi
Thanks for bug report and the patch.
The original code still works for me. Perhaps Ecosia is rolling out a new layout to the users incrementally. I will release a new version with combining the two selectors.


Typo in package.json->scripts->e2e-test

I see the e2e-test in package.json is "e2e-test": "mocha --exit --timeout 10m \"./test/e2e/**/*-specs.js\""
I tried to run it and it doesn't work.
So I replace
"e2e-test": "mocha --exit --timeout 10m \"./test/e2e/**/*-specs.js\""
with
"e2e-test": "mocha --exit --timeout 10m \"./test/functional/**/*-specs.js\""
instead.
I can create PR with this ``"e2e-test": "mocha --exit --timeout 10m "./test/functional/**/*-specs.js""`
or rename the functional folder to e2e

thanks for reporting that. Yes, please create a PR


Added Backwell School

Website

@18isacoo First stage of verification passed, official domain is backwellschool.net as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@18isacoo Pull request merged. Thank you.


Include reservoirs in the parsing of connections

The current algorithm carries the network across reservoirs.
The code in ./src/python_framework needs to be updated to identify the routing breaks that occur at reservoirs.

closed by #38


how to manage when image is still loading ?

component does nothing when image is downloading on web page. It's very ambiguous, experience when images are 20+ MB in sizes.

We should absolutely show a loader! Thanks for creating the issue!


Construct request options from cancellation token

API change check
APIView has identified API level changes in this PR and created following API reviews.
Microsoft.Generator.CSharp


Validate dbt-core #6567

🚧 Do not merge
This is only meant to validate that a PR in dbt-core doesn't break this adapter.
See the following PRs for context:

https://github.com/dbt-labs/dbt-core/pull/6567
https://github.com/dbt-labs/dbt-spark/pull/586
https://github.com/dbt-labs/dbt-redshift/pull/260
https://github.com/dbt-labs/dbt-bigquery/pull/462
https://github.com/dbt-labs/dbt-snowflake/pull/386

Closing since it was only meant to validate that https://github.com/dbt-labs/dbt-core/pull/6567 doesn't break this adapter


9.2, 10.0, 10.1 not built on ppc64le

Currently we are not able to build 10.1 on ppc64le. More details in this review thread ( https://github.com/conda-forge/cudatoolkit-feedstock/pull/11#pullrequestreview-516028739 ).
cc @jayfurmanek @scopatz

Also updated to note that we lack packages for 9.2, 10.0, and 10.1. These are other CUDA versions we support on x86_64.

Recently the CUDA 11.0 build has started timing out on Travis CI. Not sure why that is.

We switched to Azure, which has helped
Also the CUDA versions are no longer supported in conda-forge (and were not used in ppc64le builds as those were CUDA 11.2+) only
Closing


Automated Package Upgrade

:tada: This PR is included in version 5.3.15 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixed to resolve VS 2013 Code Analysis warnings

CA1060: Move P/Invokes to NativeMethods class
https://msdn.microsoft.com/en-us/library/ms182161.aspx
CA1401: P/Invokes should not be visible
https://msdn.microsoft.com/en-us/library/ms182209.aspx
CA2200: Rethrow to preserve stack details
https://msdn.microsoft.com/en-us/library/ms182363.aspx

One of the original purposes of this library was to expose those PInvokes. I know it goes against most styles but I think I'll keep it this way for now.
I would be happy to take a new PR with just CA2200 fixes.

The PR does allow the functions to be called from the helper methods with the same name. The additional level of method calls to get to the underlying P/Invoke allows for additional .NET parameter type checking. It also allows you to include in these helper methods any additional code you want to have prevent a native call when you already know that it will result in an error because of a bad parameter, and throw .NET exceptions instead returning native exceptions which are much more efficient and doesn't require additional marshalling or call backs to geterror routines. But, it's your library. This PR is so old that I've moved on: I doubt I will spend any time resubmitting just a portion of it, but thanks for the comments. If anyone has issues using the library with publishing some types of Windows Store applications due to P/Invoke and NativeMethods then they will have to implement it themselves. I believe this is why I submitted the PR in the first place, but I don't know if any of that is still an issue with Windows Store publishing certification.


feat: serialize request/response from got errors

Motived by error logs missing request/response information from got requests (see Slack thread), I added got request/response properties when serializing errors.
Something similar should probably be done for axios and node-fetch we also use.

Codecov Report

Merging #82 (0090eca) into main (4aeb9fb) will decrease coverage by 1.89%.
The diff coverage is 84.21%.

:exclamation: Current head 0090eca differs from pull request most recent head 1768df4. Consider uploading reports for the commit 1768df4 to get more accurate results

@@            Coverage Diff             @@
##             main      #82      +/-   ##
==========================================
- Coverage   96.82%   94.93%   -1.89%
==========================================
  Files           1        1
  Lines          63       79      +16
  Branches       18       23       +5
==========================================
+ Hits           61       75      +14
- Misses          2        4       +2

Impacted Files
Coverage Δ

src/logging.ts
94.93% <84.21%> (-1.89%)
:arrow_down:

Continue to review full report in Codecov by Sentry.

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


Is their any method of this package which is through can i direct connect to the Twilio?

Is your proposal related to a problem?

(Write your answer here.)
Describe the solution you'd like

(Describe your proposed solution here.)
Describe alternatives you've considered

(Write your answer here.)
Additional context

(Write your answer here.)

Hi, what do you have in mind?


Add GET /observations/observers endpoint from Node API

Add the /observations/observers endpoint from Node API.
My selfish motivation behind this: I'd like to be able to ask questions related to user engagement in a project, for instance "how many users have made 10+ observations in project X?," and this endpoint seems to be the place to do it.
It seems pretty straightforward and could be coupled with adding the /observations/identifiers endpoint as well.

[x] /observations/observers
[x] /observations/identifiers
[x] Doctrings + type annotation
[x] Usage examples
[x] Sample response data
[x] Unit tests

If you're ok with this, I'll start working on it over the next few weeks.

That would be great, thanks! Let me know if you run into any issues with that.
After taking a quick look, one thing I noticed about those endpoints is that both have parameters identical to GET /observations, except they don't list pagination parameters. It appears that the usual parameters (page, per_page, order_by, etc.) work just fine with those, though, so that seems to be an error in the docs.

Happy holidays!
I was able to modify get_observations() and get_all_observations() to serve the GET /observations/observers and GET /observations/identifiers endpoints. Both endpoints do allow the pagination parameters, however, there appear to be bugs in each endpoint that might need to be worked out before we can implement these new functions here.
Here are the bugs that I've encountered so far:

/observers returns pages of results that seem to overlap and that are mostly duplicates (bug documented in the /projects endpoint here and here). If we could find the "end" of the records, we could just filter out duplicates, but I can't figure out how to get to the last page. It goes way past the expected number of pages n_pages = total_records % per_page.
order_by works for /observers with options observation_count (default) and species_count). The default seems to work as expected, but the latter returns {"error":"Error","status":500} when you request a page after the ~500th record
/identifiers returns a maximum of 500 records for (apparently) any query, even if total_results is much higher

I haven't pushed my updates yet because they don't really work due to these bugs. What do you think we should do here @JWCook ?

Thanks for the detailed report! I should have some time to take a look at this later this week.
Since these are the same endpoints used by inaturalist.org, there must be a combination of parameters that works (like per_page=30 in the similar issue with /projects), at least as a temporary workaround.
It would be also worth creating an issue on INaturalistAPI for this so they're aware. Would you be willing to do that?

Yes, it would make sense that there's some parameter combo that works for the website backend...we just need to find it.
I will open an issue on github. Is it better to open 2 issues (one for each endpoint) or one bigger one, given that they aren't necessarily connected issues?

One issue per endpoint would be good. Thanks!

Well this is an interesting one. This is different from https://github.com/inaturalist/iNaturalistAPI/issues/227; in that one, the offset was off, and each page would return a certain number of unique and non-unique results. With these endpoints, I see that each page contains only unique results until ~500 results, like you noted, and then doesn't return any at all. The issue with Elasticsearch sharding also doesn't seem to apply here.
The relevant code for the /observers endpoint is here: https://github.com/inaturalist/iNaturalistAPI/blob/main/lib/controllers/v1/observations_controller.js#L955-L1089
It looks like this works different than the other endpoints, and contains 2 subqueries that behave differently depending on order_by. This may be a bit trickier to debug.
I think the case you found that causes a 500 server error may be the most useful here, as that is likely to produce some error logs that the iNat devs would have access to.

Another thing I noticed is that the observer 'leaderboards' for a given species only shows 500 results, for example: https://www.inaturalist.org/observations?verifiable=true&taxon_id=47911&place_id=97394&preferred_place_id=97394&locale=en&view=observers
So it's possible that the limit of 500 results is the intended behavior. Even so the HTTP 500 error is unexpected, and this behavior isn't documented, so it's still worth creating an issue.
Since your use case is "how many users have made 10+ observations in project X?," 500 results may actually be enough to do what you want. Even for some of the most commonly observed species (like the example above), the 500th observer has less than 10 observations of that species.

One issue submitted, one to go.

@willkuhn Until that issue is answered, would you like to go ahead and commit what you have? You can just add a note in the docstring that it will currently return no more than 500 results, and then set the page size to 500 if not specified:
def get_observers(..., **params):
    params.setdefault('per_page', 500)

@willkuhn Until that issue is answered, would you like to go ahead and commit what you have? You can just add a note in the docstring that it will currently return no more than 500 results, and then set the page size to 500 if not specified:
def get_observers(..., **params):
    params.setdefault('per_page', 500)

@JWCook I've got that ready. Do you want me to add it as a patch again like before?

@JWCook I've got that ready. Do you want me to add it as a patch again like before?

Yes, go ahead and submit a pull request for it. Thanks!

Yes, go ahead and submit a pull request for it. Thanks!

Well, I think it's done. The coding I can do but the gitting confuses the hell out of me.

Well, I think it's done. The coding I can do but the gitting confuses the hell out of me.

Yeah, git has quite the learning curve. Or learning cliff, depending on where you start. I'm happy to help if there are specific features or tasks in git that you'd like to learn. Or at least point you to some good resources; there are plenty of good ones out there, but also a lot of bad ones that can make it hard to sort though. Are you using a git interface within an IDE (like PyCharm), a standalone UI (like GitKraken), or the git command line (my personal favorite)?
Atlassian has some tutorials that are relatively clear and straightforward (unlike the git reference documentation, which throws tons of info at you at once), particularly the Collaborating and Advanced Tips sections.

Yeah, git has quite the learning curve. Or learning cliff, depending on where you start. I'm happy to help if there are specific features or tasks in git that you'd like to learn. Or at least point you to some good resources; there are plenty of good ones out there, but also a lot of bad ones that can make it hard to sort though. Are you using a git interface within an IDE (like PyCharm), a standalone UI (like GitKraken), or the git command line (my personal favorite)?
Atlassian has some tutorials that are relatively clear and straightforward (unlike the git reference documentation, which throws tons of info at you at once), particularly the Collaborating and Advanced Tips sections.

@willkuhn If your changes are done, you can submit a pull request by going to Pull Requests (from your fork) -> New Pull Request. Then select niconoe/pyinaturalist (dev) as the base repository, and the feature branch from your fork as the 'head repository':

@willkuhn If your changes are done, you can submit a pull request by going to Pull Requests (from your fork) -> New Pull Request. Then select niconoe/pyinaturalist (dev) as the base repository, and the feature branch from your fork as the 'head repository':

If you would like some practice with the git command line, this is a good opportunity. I've pushed some more changes to dev since you started, so there is a minor merge conflict. This can be fixed either by merging or rebasing. There's a good explanation of the differences here: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
When dealing with your own feature branch, rebasing is usually the best option.
Rebase commands
First, add the upstream (original) repo so you can more easily get my recent changes:
git remote add upstream https://github.com/niconoe/pyinaturalist.git

Then, update your dev branch with mine, both locally and on GitHub:
git checkout dev       # Switch to your local dev branch
git pull upstream dev  # Pull in the changes from my dev branch
git push origin dev    # (optional) Push those changes back to the remote dev (in your fork on GitHub)

You can run those commands again anytime you want to pull the latest upstream changes.
Now, you're ready to rebase:
git checkout patch-1
git rebase dev

Fixing a merge conflict
Git will now start with the current dev branch, and then stick your changes on top of it, one commit at a time. It will stop when it gets to a merge conflict and show you this message:
You are currently rebasing branch 'patch-1' on '67916d8'.
  (fix conflicts and run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
	both modified:   test/test_node_api.py

If you run git diff, it will show you the part that it couldn't automatically merge:
diff --cc test/test_node_api.py
index 2c04856,bdeda49..0000000
mode 100644,100644..100755
--- a/test/test_node_api.py
+++ b/test/test_node_api.py
@@@ -15,11 -17,8 +17,12 @@@ from pyinaturalist.node_api import
      get_controlled_terms,
      get_geojson_observations,
      get_observation,
++<<<<<<< HEAD
 +    get_observation_histogram,
++=======
+     get_observation_identifiers,
+     get_observation_observers,
++>>>>>>> appeasing black
      get_observation_species_counts,
      get_observations,
      get_places_autocomplete,

This just means that we both modified the same part of that file; my change is above the === line, your changes are below. This is the easiest kind of merge conflict to resolve, since we just want to keep all three lines. So just open up test/test_node_api.py and remove the lines added by git (the lines with <<<,  ===,  >>>):
    get_observation,
    get_observation_histogram,
    get_observation_identifiers,
    get_observation_observers,
    get_observation_species_counts,

(Note that there is a way to do that automatically, but it's actually more complicated, not less).
Finish rebasing
Almost done! Now you can add your change and finish the rebase:
git add .
git rebase --continue

And finally push your changes back to GitHub (--force is needed because rebase rewrote some of your commits):
git push --force

Let me know if any of that needs more explanation.

If you would like some practice with the git command line, this is a good opportunity. I've pushed some more changes to dev since you started, so there is a minor merge conflict. This can be fixed either by merging or rebasing. There's a good explanation of the differences here: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
When dealing with your own feature branch, rebasing is usually the best option.
Rebase commands
First, add the upstream (original) repo so you can more easily get my recent changes:
git remote add upstream https://github.com/niconoe/pyinaturalist.git

Then, update your dev branch with mine, both locally and on GitHub:
git checkout dev       # Switch to your local dev branch
git pull upstream dev  # Pull in the changes from my dev branch
git push origin dev    # (optional) Push those changes back to the remote dev (in your fork on GitHub)

You can run those commands again anytime you want to pull the latest upstream changes.
Now, you're ready to rebase:
git checkout patch-1
git rebase dev

Fixing a merge conflict
Git will now start with the current dev branch, and then stick your changes on top of it, one commit at a time. It will stop when it gets to a merge conflict and show you this message:
You are currently rebasing branch 'patch-1' on '67916d8'.
  (fix conflicts and run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
	both modified:   test/test_node_api.py

If you run git diff, it will show you the part that it couldn't automatically merge:
diff --cc test/test_node_api.py
index 2c04856,bdeda49..0000000
mode 100644,100644..100755
--- a/test/test_node_api.py
+++ b/test/test_node_api.py
@@@ -15,11 -17,8 +17,12 @@@ from pyinaturalist.node_api import
      get_controlled_terms,
      get_geojson_observations,
      get_observation,
++<<<<<<< HEAD
 +    get_observation_histogram,
++=======
+     get_observation_identifiers,
+     get_observation_observers,
++>>>>>>> appeasing black
      get_observation_species_counts,
      get_observations,
      get_places_autocomplete,

This just means that we both modified the same part of that file; my change is above the === line, your changes are below. This is the easiest kind of merge conflict to resolve, since we just want to keep all three lines. So just open up test/test_node_api.py and remove the lines added by git (the lines with <<<,  ===,  >>>):
    get_observation,
    get_observation_histogram,
    get_observation_identifiers,
    get_observation_observers,
    get_observation_species_counts,

(Note that there is a way to do that automatically, but it's actually more complicated, not less).
Finish rebasing
Almost done! Now you can add your change and finish the rebase:
git add .
git rebase --continue

And finally push your changes back to GitHub (--force is needed because rebase rewrote some of your commits):
git push --force

Let me know if any of that needs more explanation.

@JWCook thank you so much for taking the time to write up that helpful guide! I really appreciate that! I found the conflict that you pointed out and I believe it's resolved and PRed. Please let me know if that worked or not.

@JWCook thank you so much for taking the time to write up that helpful guide! I really appreciate that! I found the conflict that you pointed out and I believe it's resolved and PRed. Please let me know if that worked or not.

@willkuhn Great! I don't think the PR got submitted, though. Can you try again? It will show up here after being submitted: https://github.com/niconoe/pyinaturalist/pulls

@willkuhn Great! I don't think the PR got submitted, though. Can you try again? It will show up here after being submitted: https://github.com/niconoe/pyinaturalist/pulls

PR done but I forgot to run unittests locally after rebasing (I think that's the right word) so there are some failed tests.
Palm to forehead
Working on that...

PR done but I forgot to run unittests locally after rebasing (I think that's the right word) so there are some failed tests.
Palm to forehead
Working on that...

Ok I think it's finally good to go!!!! Tests appears to be passed. Let me know if I'm wrong

Ok I think it's finally good to go!!!! Tests appears to be passed. Let me know if I'm wrong

Great! It's almost ready to merge. Just added a couple comments on your PR.

Great! It's almost ready to merge. Just added a couple comments on your PR.


Add gateway as service

Currently gateway starts manually via pm2, but should be served as a docker-image for easier deployment, maybe the whole setup could be controlled via that image.

Added directly to develop.


open Modal error

Bonjour,
l'ouverture d'une modal via le code myModal.open(), génère régulièrement une erreur
TypeError: Cannot read properties of null (reading 'modal')
at Object.open (Modal.tsx:250:1)

le code :
const myModal = createModal({
  id: 'my-modal',
  isOpenedByDefault: false,
});

const MyComponent = (props: { isActive: boolean; }) => {

  const { isActive } = props;

  useEffect(() => {
    if (isActive) {
      myModal.open();
    }
  }, [isActive]);

return (
    <myModal.Component
      title="mon titre"
      iconId="fr-icon-user-heart-line"
    >

Texte

    </myModal.Component>
  );
};

that's exactly the problem (not mounted in the dom).
So there is a solution ? That's our responsability ?

Well concreately your responsability is to make sure that whenever you call .open() or .close() the Modal component is present in your React tree.
If you share with me you're full component and how you're using it I'll be able to tell you how you can adjust your code so this error is prevented.

Unfortunately I can't see anything that could lead to the error mentioned in the piece of code you shared.
Can you share the URL of the repo alongside with some reprodution steps?

unfortunately i can't, it's a private repo.
I will try to find a solution.
Thanks for your time

It's probably not your call but "public money, public code", all code developped by the service public is supposed to be open source.
Regardless, If you want you can use the MUI modal.
If you enable the DSFR MUI integration the look will be very similar from the original modal and it will be a better fit for a fully controlled modal.


[280] Sign In decision point

Support the use of both SSO services without interrupting existing users who are signing in through Azure. This should allow DfE Sign in to be enabled without being used. The hypothesis is that people who might manage to end up will have got the answer to the question wrong, adding a link to the canonical source of schools to help users answer the question should help with this.
To establish the effectiveness of this journey we log the attempt which we should be to tie to events i.e the invitation to a new region or if many people are trying to use 'Any other area'.

This also fixes the My Jobs navigation link that used to route to sessions/new, note the bottom left of this screenshot:

 Hiring staff sign in using the authentication service they were registered with

 Hiring staff sign in using the authentication service they were registered with

I spoke with Matt about the language we use for the school's area whether that be: region, district, local authority. We have invited Cambridge as a district (as defined by GIAS) but NE as a regional office. Moving forward we will be working with district as the smallest unit of schools to invite at one time. We need to be careful how many options we could end up presenting to users as it could become unclear quite quickly. Matt advises that until we reach 2500 users we have chosen the highest mass districts, which should enable us to get much closer to December without too many problems.
As we are using a mixture of region and district it's hard to point users to the right place in GIAS so I've picked area in the hope that they will be able to read the list then pick the relevant answer.

@despo I've addressed this feedback and also added a new bit that stops showing DfE Sign In in production. As per our sprint goal that aims to start with usability testing with that first before going live.