Adds ModMenu support for 1.19.2

https://user-images.githubusercontent.com/17520451/183305657-ec2a17f7-a6bc-424b-9925-30c02a32fbc5.mp4

This seems to be quite based I approve

Added instructions

That doesn't look good:

Will work on it this week when I have some time off work, Thanks for the feedback rather than just closing it as it helps me improve.

Somehow I closed this, going to make a new PR

Also, I would like ModMenuIntegration to be relocated into the same package where NoReportsConfig is, and all fields/methods that are exposed in NoReportsConfig for integration with it to be made package-private instead of public.

https://shedaniel.gitbook.io/cloth-config/advanced/modmenu-integration shows it should be separate as each of the examples has its own file.

...ok that was not what I meant to do

Tooltip wrapping is done and working.


Refactor error handling

Many thanks for submitting your Pull Request :heart:!
Please specify parts of this PR update:

[x] Specification
[x] Schema
[x] Examples
[ ] Extensions
[x] Roadmap
[ ] Use Cases
[ ] Community
[ ] TCK
[ ] Other

Discussion or Issue link:
https://github.com/serverlessworkflow/specification/issues/681
https://github.com/serverlessworkflow/specification/issues/770
https://github.com/serverlessworkflow/specification/issues/771
https://github.com/serverlessworkflow/specification/issues/772
https://github.com/serverlessworkflow/specification/discussions/569
https://github.com/serverlessworkflow/specification/discussions/698
https://github.com/serverlessworkflow/specification/discussions/731
What this PR does / why we need it:
Refactors the error handling
Closes #681
Closes #770
Closes #771
Closes #772
Additional notes for reviewers:
The PR goes well beyond the scope of the initial issue, or the first drafts we produced in past discussions.

Retries can now only be performed in case of handled errors. By definition, that's what a retry is

re-enter a command, especially because an error was made the first time.
-- Oxford Languages

Error handling can be performed at both action and state level, so retries are possible for both
Removed the autoRetries property which did not make sense with the new approach to retries
Terms such as retryableErrors/nonRetryableErrors have been removed in favor of using when/exceptWhen clause. It achieves the exact same, but looks IMHO much cleaner (and cooler).
Updated actions by adding the ability to throw an error thanks to the errorRef property

@cdavernas can you fix the examples, squash your commits, and sign it?

@ricardozanini Can you please add your final review?


EnumSetRandomizer can produce "Collection is empty" exception

The default implementation for EnumSetRandomizer takes a abs(new ByteRandomizer().getRandomValue()) as number of elements to randomly copy into the set. This randomizer can produce a 0 which in turn will cause a IllegalArgumentException > "Collection is empty" when fetching a new randomValue for the EnumSet.
Solution:
The minimum value for nbElements should be 1 so either there should be a different default randomizer or when the value is 0 it should become 1

That's a valid issue. Thank you for reporting it!


Problem running this on multiple GPUs

Trouble when running this code on a cluster of GPUs
https://github.com/Lightning-AI/torchmetrics/issues/2477

The current code doesn't support the multiple gpu yet. But I'm planning to do update it.

Thanks for the feedback.

No problem, I'll manage with a single. Nice repo btw!

What would be the steps required to do this? @danelee2601 I have quite a large dataset and need to train on multiple GPUs

Hi @Frndznz. This repo hasn't bee developed to train on a very large dataset that can't be fit into CPU memory, as it was developed for a research purpose. But I'm sure you can modify the data pipeline to enable it. For instance, save a csv file that contains a list of all the available data file names and import the files for every iteration.


Schedule with two periods isnt shutting down instances

I've got two periods one to stop at 02:00 and another to start at 08:00, i the tags on the instances are being fetched, but in the state table every instance has a state of "any".
I'm unable to apply these timings on one schedule due to BeginTime being earlier than EndTime. Not sure if there is a bug here or i'm doing something wrong?
This is my schedule and two periods:
"type (S)","name (S)","description (S)","weekdays (SS)","begintime (S)","endtime (S)","periods (SS)","timezone (S)"
"schedule","office-hours","Office hours ",,,,"{ ""office-hours-start"", ""office-hours-stop"" } ","US/Eastern"
"period","office-hours-start","Office hours start","{ ""mon-fri"" } ","08:00",,,
"period","office-hours-stop","Office hours stop","{ ""mon-fri"" } ",,"02:00",,

closing this as it seems like a duplicate of Nightly period issue.

In order configure this you need the following periods
Tue-Sat, start 0:00, stop 2:00
Mon-Fri, start 08:00, stop 23:59
A schedule containing these periods
Starts at workdays at 8am and stops on the next day at 2am.
A fix for an issue that might stop/start at midnight has been deployed to aws answers from where you can update your stack
Regards,
Arie


Ability to add new songs to Play by dragging them onto the window

I currently need to either rely on my Music Manager to auto-add, or I need to manually navigate to Play in Chrome to add new songs.

+1 i wanted to replace music manager for this reason

Radiant devs, it looks like this is another of those Chrome-only features.  It appears to be working in the dev version of electron, so that could potentially resolve.


Spelling

This PR corrects misspellings identified by the check-spelling action.
The misspellings have been reported at https://github.com/jsoref/zio-json/commit/d16f973c6cafe835701de6b3bc4c75a58790aa87#commitcomment-84667997
The action reports that the changes in this PR would make it happy: https://github.com/jsoref/zio-json/commit/c489df30d4cca4673f31479a3fb68423b7a5039a
Note: this PR does not include the action. If you're interested in running a spell check on every PR and push, that can be offered separately.

(Rebased to resolve merge conflicts -- some chunks moved from one file to another)


Make available older versions of make

Issue: Only make 4.2.1 (latest) is available here (as well as in the defaults channel). I would like to test older versions, but I'm not sure how to add them to this repo. What should I do in the pull request ? Is there guidance for that somewhere?

Environment (conda list):

$ conda list
# packages in environment at /home/[redacted]/.conda/envs/make:
#
libgcc-ng                 9.1.0                hdf63c60_0
make                      4.2.1                h1bed415_1

Details about  conda and system ( conda info ):

$ conda info
Current conda install:

               platform : linux-64
          conda version : 4.3.30
       conda is private : False
      conda-env version : 4.3.30
    conda-build version : 3.0.27
         python version : 2.7.14.final.0
       requests version : 2.18.4
       root environment : /[redacted]/anaconda_5.0.1-[redacted]_ubuntu-14.04-amd64-64/x  (read only)
    default environment : /home/[redacted]/.conda/envs/make
       envs directories : /home/[redacted]/.conda/envs
                          /[redacted]/anaconda_5.0.1-[redacted]_ubuntu-14.04-amd64-64/x/envs
          package cache : /[redacted]/anaconda_5.0.1-[redacted]_ubuntu-14.04-amd64-64/x/pkgs
                          /home/[redacted]/.conda/pkgs
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.continuum.io/pkgs/main/linux-64
                          https://repo.continuum.io/pkgs/main/noarch
                          https://repo.continuum.io/pkgs/free/linux-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/linux-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/linux-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : /home/[redacted]/.condarc
             netrc file : None
           offline mode : False
             user-agent : conda/4.3.30 requests/2.18.4 CPython/2.7.14 Linux/3.10.0-514.el7.x86_64 debian/jessie/sid glibc/2.19
                UID:GID : 67524:66086

Hi there @phil-blain!  The docs on how to update (and downgrade) packages can be found at https://conda-forge.org/docs/maintainer/updating_pkgs.html
Basically, you'll need to put in a PR where you change the recipe/meta.yaml file to have the correct version number and tarball hash (usually sha256) and reduce the build number to 0.  Normally, that's it assuming dependencies didn't differ, etc.  The CI systems here will try to build the package, so we'll know whether it works or not before we merge.

That document doesn't specify how to get an older version built (unless I missed it). What's the correct way to do that. Create a new branch for the old version? Or just push a commit to master with the old version and revert it after it is built?

You don't need to do anything other than change the version.  You don't need to revert afterward. The feedstock doesn't need to be in lock-step with the most recent version.  Basically one version change is the same as any other, it is just that the 99.9% use case is to update versions

I'll close this issue as I don't need older versions of make anymore for my projects. If the need comes I know how to add them!


Unit test sc2::test_unit_commands fails on Linux

Test: 3sc232TestCancelBuildInProgressFactoryE failed!
Error: Expected order not in unit orders
Error: Expected unit does not exist.
Test: sc2::TestUnitCommand failed!

@TommyTran93 was this solved?
If it was, can you please close this issue?


Fix PIL attribute error on list and lambda column representations

Closes #216

Codecov Report

Merging #218 (7e69079) into dev (8107cbf) will not change coverage.
The diff coverage is 75.00%.

@@           Coverage Diff           @@
##              dev     #218   +/-   ##
=======================================
  Coverage   85.44%   85.44%
=======================================
  Files          47       47
  Lines        3127     3127
  Branches      612      612
=======================================
  Hits         2672     2672
  Misses        340      340
  Partials      115      115

Flag
Coverage Δ

unittests
85.44% <75.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

meerkat/columns/list_column.py
58.92% <50.00%> (ø)

meerkat/columns/lambda_column.py
80.18% <100.00%> (ø)

Continue to review full report at Codecov.

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


Deprecate outdated output builder definitions

Description of change
Remove outdated output builder definitions
Type of change

Bug fix (a non-breaking change which fixes an issue)

Can you add an extra
Same changes as https://github.com/iotaledger/iota-sdk/blob/develop/bindings/nodejs/CHANGELOG.md.

to the wasm changelog?


fix regenerate button click not firing

Thanks @meiraleal !

@meiraleal did you find this from the Product Hunt launch? (If so I can add you as maker on there if you share your username)

hi adam! No, I found it here on github but I will check it in the product hunt, very cool! my username there is acmeira1
Thanks for the lib, very helpful!

Nice I just added you as maker!

Also if you want to share what you made whenever I would love to check it out!


Reflux error handling

Hello!
I'm diving in to Reflux and got question about handling error in Reflux application.
For example I have store where I perform ajax request that can be failed.
How I would notify my component about error happened?
Pass error data alongside with model? Or listen to action in component?
What is the best practice for Reflux application?

I think component should just render itself in different ways depending on state. Consider detail page for example. If this.state.model is object – state is loaded and renderable. If this.state.model is undefined – state is under progress, render  component. If it's string – treat it as error message.
In this way you can render your component tree right from the start, avoiding blank screens.

You should definitely expose the error that happened (either the actual message or an enum key of which the component can create an appropriate representation) in some way. I'd have a #getCurrentOperation() method on my store or in the case of a queue (an upload/download queue for instance), I am listing failed items alongside those queued and in progress. They just have a state: ERROR and an error property with details.
Do not listen to actions in components. Only listen for change events on stores.

I've the same problem: passing error from a store to React component. Can triggerPromise help somehow in this case?

Whenever I have an action which will trigger an ajax call I create another with the same name + 'Fail'. Like 'changeXToY' and 'changeXToYFail'.
I call the action and the store listening to it updates the data and makes the ajax call sending along an object with everything I'm changing (the old values).
If I get an error, I call the fail action (from within the ajax error function with the object carrying the old values), which is being listened by both the Store and the Component. The Store then revert the changes (specified by the object I sent) and the Component notifies the user about the error.

@ivan-kleshnin

I think component should just render itself in different ways depending on state.

I find it rather constricting to put everything in the global store state. For example, consider a case in which we display product details and allow a user to rename the product. The details of the product are in the store, e.g:
{
    name: "product a",
    price: 10,
}

Once the user tries to rename it RENAME_PRODUCT action starts. Once the rename is successful, the details in the store should update. If we have a failure however, we could store it in the store, like so:
{
    name: "product a",
    price: 10,
    renameOperationResult: errorObject
}

But do we really want to do that? It seems wrong to pollute the store state with information that will be only used in a single component.
How about something like that?
actions.login(email, password).catch(function() {
    this.setState({ renameOperationResult: errorObject });
});

We don't pollute the store state that way, but it comes at the cost of breaking the whole flux-one-directional principle.

I've made a question on that subject in StackOverflow


feat(grid-list): add fillToFit property

:tada: This PR is included in version 9.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Run jest test in vitest

Clear and concise description of the problem
If you migrate a large test suite from jest to vitest, it would be nice if vitest would be able to run jest tests. This would enable incremental migration to vitest. Moreover, it would support the usage of test suites bundled in installable packages in jest and vitest runners (admittedly, this is a bit of an edge case)
Suggested solution
Polyfill basic jest functions like it, describe etc with vitests functions, so that basic tests declared with jest can be run with vitest.
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

What do you mean? Can't you just enable --globals?

What I would like to have is that running vitest on this jest suite "just works":
import {describe, expect, test} from '@jest/globals';

describe('sum', () => {
  test('adds 1 + 2 to equal 3', () => {
    expect(1 + 2).toBe(3);
  });
});

So when vitest encounters a @jest/globals import, then it replaces it by an import from vitest (plus some light patching if necessary like for jest.mock).
With this, the migration from jest to vitest can look as follows:

Replace the jest runner by vitest; now all your jest tests are invoked by vitest
Replace imports from @jest/globals by vitest, and migrate the tests (if necessary)

Right now you need to do both steps at the same time, and you cannot have a project with "half vitest" and "half jest" tests that are run by vitest.
(Of course, as with any migration tool there shouldn't be put too much work into handling edge cases or e.g. the global setup).

Sorry, we will not do that. This is on hands of the community. You can literally just add vi.mock for jest module.


Fix command examples for wskadmin-next

Fixes the command examples used for wskadmin-next as identified in #4687
Description
wskadmin-next cli support differs in some forms from the python based wskadmin due to difference in argument parsing support used by backing libraries

wskadmin-next - scallop
wskadmin - argoarse

Base difference

-ns in wskadmin vs --namespace in wskadmin-next - Python support short args with single - while with scallop only supports single letter short form. Hence one need to use wither -n or better --namespace
Argument positioning - Python support options after the trailing input like user delete userB -ns space1. With scallop we need to pass all the options first user delete --namespace space1 userB

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[x] Documentation

Types of changes

[x] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[x] I updated the documentation where necessary.

Codecov Report

Merging #4692 into master will decrease coverage by 5.93%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4692      +/-   ##
==========================================
- Coverage   84.25%   78.32%   -5.94%
==========================================
  Files         194      194
  Lines        8728     8728
  Branches      607      607
==========================================
- Hits         7354     6836     -518
- Misses       1374     1892     +518

Impacted Files
Coverage Δ

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-96.17%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0% <0%> (-94.74%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.6%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedListener.scala
0% <0%> (-86.67%)
:arrow_down:

...e/database/cosmosdb/cache/KafkaEventProducer.scala
0% <0%> (-76.48%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-74.08%)
:arrow_down:

...a/org/apache/openwhisk/common/ExecutorCloser.scala
0% <0%> (-66.67%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
7.69% <0%> (-50%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


Question: "1/larger" and "0#"?

I am confused by "1/larger" and "0#" in the $data docs. I can infer what is going on, but I can't find an explanation of this syntax. Could someone point me in the right direction?

There is a link to relative JSON-pointer draft in docs

also see examples here: https://gist.github.com/geraintluff/5911303


Feature/1 dof translation

Tickets addressed: #486
Review: By commit
Merge strategy: Merge (no squash)

Description

This PR adds a new single-axis translating effector to Basilisk. The first commit adds a new actuator force message, the second adds the module files, the third adds a unit test, and the fourth includes documentation.
Verification

A unit test is added. It tests energy and momentum conservation under nominal conditions, with a locked axis, with a commanded force, and with a reference state. The latter also checks for convergence to the reference displacement.
Documentation

An .rst file explaining how to set up the module was added. The mathematical derivation is included in a technical report hosted at http://hanspeterschaub.info/Papers/singleAxisTranslatingEffector.pdf.
Future work

An N-DoF version of this module is in the works.

add release notes

building documentation there are many sphinx warnings about undefined methods in the C++ file.  Please search the terminal for warning.  They appear near the top when doxygen is first called before sphinx is engaged.


Build a function to carry out the method decided on in #392

In #392 a method for calculating the proportion of people at various ages in NI was researched. Whatever came out of the research needs to be implemented in code.

We have decided that we will use 2011 census estimates in the meantime for mid-year small area population estimates in Northern Ireland. We need to create a function which will take the census 2011 age proportions and apply them to the small area mid-year population estimates.

Progress so far (so I don't forget!):

Have created a function that creates the proportions for a given year.
Have incorporated this age dataframe into the NI pipeline.

Still to do:

Currently, the pipeline only merges on for 2011 census. I need to think about creating a switch where if ==2011 then we use census but ≠≠ 2011 then we use mid-year estimates. Not sure if that can be done in this ticket!


SCons: Refactor selected_platform conditional

Realized that well over half of SConstruct has logic behind a selected_platform conditional that could've been resolved ahead of time. By consolidating the "else" logic to directly after selected_platform is finalized, this removes the conditional & cleans up other checks as a consequence of said conditional. I recommend hiding whitespace changes when checking diffs, as there's a lot of indentation noise otherwise.

Thanks!


Bump kube: to pickup multi-value indexer fix #79

Picking https://github.com/kcp-dev/kubernetes/pull/79. Most likely the root cause of various 404s for APIBindings.

/lgtm

Stop the bleeding. Looks like there is more.


Doesn't save state to db quickly before creating new item?

Hey this is an amazing library but I do have an issue that I'm currently facing.
I have a simple app like this:

I click on New Docs, type in quickly something & then click on New Docs again before it saves.
There is an indicator beside it that shows Saving & Saved state. When it's on Saving state & I switch to New Docs, it keeps the old doc empty because the state hadn't been saved.
See the new image below:

I did type in something quickly but clicked on New Docs immediately so it kept that part empty. 1st & 2nd item has Empty Docs in it (see image)
How do I fix it?
I have a full repro at https://github.com/deadcoder0904/docs-autosync/tree/react-autosave (see 2 files: DocsList.tsx & Writer.tsx)
Also, I'm wondering if alertIfUnsavedChanges is good to implement. https://github.com/lukesmurray/react-query-autosync has a similar option (search for alertIfUnsavedChanges on the readme) & here's the implementation
But would love to know if this is a problem with my implementation of react-autosave or not using React State perfectly or something else?

I fixed this! Probably have solution on the branch but don't remember how i solved it :)


multiple users reporting duplicate images while signed in

Our 2 moderators on GZ Bars have both reported seeing duplicate images. I'm going to check the subject list for duplicates and will update but just wanted to flag this in case it's related to zooniverse/Panoptes#787 or something else that isn't duplicate subjects.

Update: I've just checked the metadata in the subject download from the project and I can't find any duplicates in the image name, so I don't think this is a duplicate-subject issue.

Any talk links that indicate they have seen duplicate images?

I don't think so, yet... the mods posted on Talk but didn't link to specific images. Will ask them to do so in the future.

@vrooje closing for now, please re-open if you have more info.

https://www.zooniverse.org/#/projects/vrooje/galaxy-zoo-bar-lengths/talk/21/280?page=1&comment=1515
From @Capella05:

Just got this image to classify for the second time - 465197

Also found the subject comment thread, which I suspect is redundant but am including it just in case.

I've now got more information about this:
Strangely I don't have a duplicate in the classification export for Capella05 on subject id 465197, despite the fact that my export was requested more than 24 hours after the reported duplicate.
I do have a different duplicate for that user, however:
username   subject_id   metadata
Capella05  {"464985":  {"started_at":"2015-07-01T19:23:02.756Z","user...
Capella05  {"464985":  {"started_at":"2015-07-07T19:16:23.117Z","user...
And I have a total of 159 duplicates from various users. That's about 1% of the classifications. Examples (with dummy usernames):
thisuser  {"458602":  {"started_at":"2015-06-01T16:57:55.437Z","user...
thisuser  {"458591":  {"started_at":"2015-06-01T16:58:00.380Z","user...
thisuser  {"458584":  {"started_at":"2015-06-01T16:58:05.496Z","user...
thisuser  {"458550":  {"started_at":"2015-06-01T16:58:10.840Z","user...
[11 more classifications of non-duplicate subjects]
thisuser  {"458602":  {"started_at":"2015-06-01T16:59:23.785Z","user...
[2 non-duplicate classifications]
thisuser  {"458591":  {"started_at":"2015-06-01T16:59:40.418Z","user...
thisuser  {"458584":  {"started_at":"2015-06-01T16:59:44.218Z","user...
[2 non-duplicate classifications]
thisuser  {"458550":  {"started_at":"2015-06-01T16:59:55.702Z","user...
thisuser has done 30 classifications total. And, more recently, from a user who has done 18 classifications total:
     user_name  subject_id                                           metadata
[1 non-dup classification]
thatuser  {"464953":  {"started_at":"2015-07-02T20:39:11.600Z","user...
thatuser  {"464954":  {"started_at":"2015-07-02T20:39:40.693Z","user...
thatuser  {"464955":  {"started_at":"2015-07-02T20:40:10.855Z","user...
thatuser  {"464956":  {"started_at":"2015-07-02T20:40:30.784Z","user...
thatuser  {"464957":  {"started_at":"2015-07-02T20:40:38.595Z","user...
thatuser  {"464958":  {"started_at":"2015-07-02T20:40:42.172Z","user...
thatuser  {"464959":  {"started_at":"2015-07-02T20:40:45.651Z","user...
[3 non-dup classifications]
thatuser  {"464953":  {"started_at":"2015-07-02T20:41:05.295Z","user...
thatuser  {"464954":  {"started_at":"2015-07-02T20:41:27.165Z","user...
thatuser  {"464955":  {"started_at":"2015-07-02T20:41:33.603Z","user...
thatuser  {"464956":  {"started_at":"2015-07-02T20:41:47.336Z","user...
thatuser  {"464957":  {"started_at":"2015-07-02T20:41:51.548Z","user...
thatuser  {"464958":  {"started_at":"2015-07-02T20:41:56.526Z","user...
thatuser  {"464959":  {"started_at":"2015-07-02T20:42:00.374Z","user...
I also have duplicates from users who have done many more classifications overall, though not proportionally more duplicates. And not everyone who has done hundreds of classifications has done duplicate classifications.

More details:

Some of the duplicates are from not-logged-in users, but most of them are from logged-in users.
The duplicates sometimes span days, and I have also seen them ~60s apart and once 14s apart (re: #1128)
Some duplicates are actually triplicates. In that case they are often, but not always, minutes or seconds apart. (I saw one that was 1 [1 hour] 2 [2 minutes] 3).
Many of the duplicates (about a third) have the same subject across multiple users, i.e. logged-in users A and B both classified subject 99 twice. In those cases the users' first viewing of the same subject isn't always on the same day, e.g. user B classified subject 99 for the first time 25 hours after user A classified subject 99 for the first time.
There is an example where 2 logged-in users on different OSs and classifying about 3 days apart are repeating the same subjects. One did 18 classifications ("thatuser" above) and the other did 14. They each repeated the same 6 subjects.

I've isolated the duplicates from the full export and grouped them together and I'm happy to send that over if the full data would be helpful.

Non-logged in, is a won't fix issue - see the conversation here #1127 - that's how the system was designed
The 60s thing on my  ticket #1128 isn't important, there are classifications made in between.
Merging from the info in my ticket since
Yeah got a very recent one subject 487143 dweilant 2015-07-12 23:43:49 and 2015-07-12 23:45:07 - this is after is live for correctly accounting for the subjects - now subject has seen almost 50% of the live subjects if that matters but that still leaves about 4000 subjects to select from
user who's on the other spectrum of classifiers from the above in this post Audriusa for subject<PHONE_NUMBER>-07-12 07:24:10 and 2015-07-12 07:25:32
notice same thing for nathalieg69 on subject<PHONE_NUMBER>-07-01 03:55:37 and 2015-07-01 04:05:37
Worth noting this is still occurring after the fix for updating subject classification counts/retirement

@vrooje @mschwamb just letting you know we are working on this.

Thanks @camallen

Linked to #1176
Update, we've had no luck tracing this to any direct implemented behaviour (in code) but it could be the result of message ordering between clients and busy / fast API end points where subjects are not dequeued before the next request for subjects comes in.
We will be modifying the dequeue behaviour to happen directly after you've been served subjects and not wait till you submit a classification. This should make any race condition harder to come by as the timing between these "race" messages will be much greater.
I'm going to leave this open. If any more duplicate reports come in (especially after #1176 is fixed) then please make us aware on this issue.

Thanks for the update, and thanks for working on tracking it down. @camallen If you can tell me a time stamp when this fix should be online, I'll check it over the next few days after that and report back on P4: Terrains

Thanks - will keep you posted if this keeps happening. If all we can do is minimize it instead of fix it we should make sure @ggdhines knows to explicitly check for duplicates in the data aggregation phase.

@vrooje pretty sure he already is as we always serve subjects to users in panoptes (we mark them seen / retired, etc) but allow them to keep classifying.

@camallen though that status is not marked in the raw csv dump - if duplicates and retired images seen again can be marked that would be something handy to include in the csv for those doing their data reduction

@mschwamb can you open a sperate issue for this? Perhaps reopen #1086 after reading https://github.com/zooniverse/Panoptes-Front-End/issues/368

@camallen I can't reopen. I'm not a collaborator on this repo. If the powers that be can add me I can start do that or if you want to reopen it I'll comment

Just comment and @ mention me

@mschwamb @vrooje code has been deployed about 18:00 today BST. Let's see how it goes for the next few days.

@camallen Still happening I think - I'm just looking at duplicates from 2015-07-30 00:00:00'  on P4T
username Uganalandia view subject 491799 at 2015-07-30 12:11:50 and 2015-07-30 12:14:46
gaga7 saw subject 491810 at 2015-07-30 15:41:52 and 2015-07-30 16:08:10
4thplanet4444 saw subject 486319 at 2015-07-31 07:39:39 and 2015-07-31 08:25:08

only checked for 4thplanet4444 but there classification in between the repeat image

I wonder if them happening close together means anything?

proxy that doesn't respect headers on the get subjects call?

also it repeats at a short frequency for non-logged in users as well  not sure if that's helpful or not.

Did some digging
Here's the list of duplicates  (where the duplicate happened on a logged-in user)I have in my database dump from classifications post 7/30/2015 00:00:00
duplicate 485036
duplicate 485259
duplicate 485312
duplicate 485361
duplicate 485375
duplicate 485415
duplicate 485467
duplicate 485532
duplicate 485599
duplicate 485616
duplicate 485650
duplicate 485675
duplicate 485697
duplicate 485738
duplicate 485753
duplicate 485772
duplicate 485815
duplicate 485836
duplicate 485837
duplicate 485903
duplicate 485957
duplicate 485996
duplicate 486009
duplicate 486064
duplicate 486076
duplicate 486088
duplicate 486091
duplicate 486113
duplicate 486125
duplicate 486141
duplicate 486154
duplicate 486160
duplicate 486174
duplicate 486319
duplicate 486570
duplicate 486642
duplicate 487587
duplicate 491251
duplicate 491252
duplicate 491307
duplicate 491330
duplicate 491375
duplicate 491392
duplicate 491402
duplicate 491439
duplicate 491493
duplicate 491496
duplicate 491605
duplicate 491677
duplicate 491679
duplicate 491693
duplicate 491727
duplicate 491728
duplicate 491763
duplicate 491767
duplicate 491769
duplicate 491772
duplicate 491790
duplicate 491799
duplicate 491806
duplicate 491810
duplicate 491812
duplicate 491832
duplicate 491847
duplicate 491863
duplicate 491883
duplicate 491888
duplicate 491893
duplicate 491911
duplicate 491915
duplicate 491920
duplicate 491932
duplicate 491941
duplicate 491967
duplicate 492051
duplicate 492068
duplicate 492073
77 subjects out of 4473 classifications that came from logged-in volunteers so 2% of the classifications per day

Okay, starting on 28th July (the day after the deploy), I count 492 duplicate classifications, out of just under 3,300 total classifications since that day, so that's about a 15% rate in that time frame.
The vast majority of them (424) were from one user, who was logged in. Of the other 11 users who had duplicates within this time, 10 were logged in. The next-highest number of duplicates is 20 from another logged-in user.

More generally, since the duplicates began the fraction of a user's classifications that involve duplicate subjects varies, sometimes by quite a lot:

Hi all, experiencing the same problem. I have a dataset of 200, and trying to have some experts classify each subject for a "gold standard" dataset. Here are the splits I'm seeing:

# Classifications
# Repeats Seen
Repeat %

234
158
32.4

228
156
31.6

55
51
7.2

Obviously a small sample, hope it helps. For reference, all the users are logged in, I told them to refresh the page any time they saw an "already seen" ribbon. Also checked the subject report for duplicates, of which there are none. Anxious to see a fix, let me know if any more info is needed.

I just got "already seen" on a project and refreshed and I got a new subject. Is that supposed to happen? For some reason I thought refreshing wasn't supposed to show a new subject.

@camallen I think there's another possible area of inconsistency here: https://github.com/zooniverse/Panoptes/blob/facc095fbf1fa51066313384fc5c44e1fae1bf6e/lib/subject_selector.rb#L82. Were we can setup the Enqueue worker, dequeue a set of 10 subjects for the User to classify, but between the User classifying the subjects (and the subjects getting added to the UserSeenSubject list), the Enqueue Worker runs and adds some of the 10 subjects served to the user back onto their queue.
Since we no longer dequeue a subject after a classification (since that happens in the original subject request), we can end up queueing duplicate subjects.

@vrooje We've changed the behaviour to remove subjects from the queue after they are served to a user, but before they get classified to try to eliminate one of the causes of duplicate subjects.

@edpaget - good one. should we just dequeue on both events?

Yes, but and we should make sure the on classification dequeue is done in the request cycle.
Also I wonder if there's some condition we're missing that could be causing workflow.finished? or user.has_finished? to be falsy returning true and triggering project wide-selection?

I don't think so i think the queues are not de-populating properly, adding some error messaging here #1251 and i'm going to empty all queues today to get some baseline behaviour start point.

@camallen  and @edpaget do you want us go and check our classifications after these changes are live over the next few days and report back duplicates?

@mschwamb you can but most of the recent work was around getting more error reporting into our logs for debugging. There are still some dups coming into the queues that #1257 should help with. Once we iron these remaining bugs out we can look again.
That said you should start to see greater spread of subjects coming out of the queue so #1163 should be resolved.

Ok - finally an update. I think we've got a handle on the issue now, with better reporting and a check to remove any duplicates before they get enqueued. There is still more work to come on a better underlying implementation in the future.
Duplicates for logged in users should not be occurring from late last night / early today (14th Aug GMT) onwards. Feel free to look at data from this point to see what is happening and please let us know if you're still experiencing the issue.

Just had a look at the classifications over the weekend in GZ Bar Lengths.
Total duplicate count: 0.
:)

@vrooje Happy days! thanks for the report. @bruggsy  and @mschwamb any chance you can have a look at the data to see if you are experiencing duplicates?

I checked late last night my time - none from logged in users and one for non-logged in (I think this fixes also might have helped with that rate as well).

Great news - I think we can do better for non-logged in by tracking subject ids on the front end.

@camallen that would be great.

I'm going to close this issue as I think we've got this sorted. In summary our queuing code had some bugs and some legacy use case was causing the queues to grow very very large, which allowed dups in.
If anyone finds duplicate classifications happening since the latest date quoted above please comment here / re-open the issue asap.

+1

On 18 Aug 2015, at 06:04, Campbell Allen<EMAIL_ADDRESS>wrote:
Closed #1069 https://github.com/zooniverse/Panoptes/issues/1069.
—
Reply to this email directly or view it on GitHub https://github.com/zooniverse/Panoptes/issues/1069#event-385327176.

Sadly, I have to re-open this. There were a handful of duplicates in GZ:BL between the closing of this issue and the sending of a newsletter to recruit people to GZ:BL, but since the recruitment there have been about 1,150, out of 36,000, so a duplicate percentage of about 3%.
800 of the duplicates were from not-logged-in users. I looked into this because another top user reported duplicates, but (as with Capella05's report previously) I couldn't find any recent duplicates in the database from this user.
Happy to provide more info as needed...

@vrooje 800 from non-logged in is by design in the api, i've got an issue open in the front end to be smarter about ignoring these, https://github.com/zooniverse/Panoptes-Front-End/issues/1427.
So the final 350 i'll need some extra information. Are these all from power users in the long tail? Since commit https://github.com/zooniverse/Panoptes/commit/86938540822bd129807cdf424fba749712aa010f we may get to a situation where we have nothing in the queue and just select something to show the user, they should have seen a banner saying they've seen this before though....seems there are still some bugs to iron out on this one.

There were two more uses on talk that have reported duplicate images:
https://www.zooniverse.org/talk/18/115/?comment=19991
https://www.zooniverse.org/talk/18/115/?comment=22586

Also been noticing this problem when annotating any subject set with more than 10 members, while logged in.

@bruggsy, do you have reports / talk subject id's, screenshots? Can you please confirm that these are real duplicates and not the expected behaviour, that is the api will return a set of subjects when you have classified all of them. The client should mark the images as retired / seen before in the browser, e.g.

Still getting occasional comments from users about duplicates. I think this is due to a failure to submit the classification the first time rather than a duplicate registered classification, but this still makes me uncomfortable because we don't really know how often this is happening, right?

Oh, so this isn't just a WildCam issue? https://github.com/zooniverse/wildcam-gorongosa/issues/192

@camallen Sorry for not responding, been busy with other projects. Not sure what you mean exactly, when I do an API request for a subject set / single subject I don't see those fields. The subjects I was having problems with were 1037498 - 1037697, and subject sets 2422 - 2440. The exact problem was getting "already seen" subjects before I had seen the whole set, as far as I can tell I wasn't getting the same image multiple times with no banner the latter times.

@vrooje i'm looking into the dup reports for GZ Bars.
@bruggsy the system should be showing you unseen un retired images first, then falls back to unseen retired, then once you have completed them all it'll just pick some at random to show to you. Can you please check again and provide me some workflow / subject set id's to reproduce for your account?

@camallen Sure, the workflow is 861 and the subject set associated with it is 2592, project is 292.

I setup a project today for Intro2Astro using a very small subject set with 22 subjects and @JulieAnnKU reported this issue. She was served a subject with the already seen flag before having seen all 22. Project id 1616, subject set id 2754, workflow id 1064

I've got another lead on real duplicates for users. Seems some of the background workers haven't been running and creating the req'd tracking details for what they've seen. Linked to #1517, ensuring that these workers run as soon as possible after failure decreases the window for duplicates to emerge.

Happening on Comet Hunters too - https://www.zooniverse.org/projects/mschwamb/comet-hunters/talk/84/25164?comment=51262

@camallen this seems to still be popping up on Wildcam Gorongosa - had a whole bunch reported mid/late December, and at least one person reported this week: https://www.zooniverse.org/projects/zooniverse/wildcam-gorongosa/talk/79/7125?page=3

thanks, there was a bug showing the proper already seen / retired tags from teh API that got fixed in SGL.  Also some of the issues in SGL would be leading to duplicates showing under heavy api loads.
We've got new code out to fix these and some more to get out that will hopefully alleviate this.

@camallen just wanted to let you know this is still happening: https://www.zooniverse.org/projects/zooniverse/wildcam-gorongosa/talk/79/7125?comment=74235&page=4

Hmm - seems the messaging about already seen / retired was removed at the end of last month. See this, https://github.com/zooniverse/Panoptes-Front-End/issues/2170. I can only hope we aren't messaging correctly.
I'm checking this user details to see what's happening.

This seems to still be happening - example on Planet Four Terrains user_id number 1328372 classified subject 1328372 twice within a ten minute span. This was on February 9th.

Volunteer is seeing 'already seen' flag on and off,  but there's ~6000 new images on Comet Hunters
See the volunteers description here

closing this in favour of #1640 since we "are" labelling the duplicates as already seen, please put all reports onto the "Already Seens" issue from now ow.


Code hint window

Is there a way to make code hint window wider? So the hint doesn't break on two lines.
Thanks

Hi @kvarel, No preference to control hint window size. Are you getting these hints from some extension?


Send promotion problem

When we do a Koch promotion for Send, the display seems to get out of wack, with the upper line two chars longer than the lower line!?

Revisit this after changing the UI a LOT.

Looking at this again.  It's not promotion related.  Display gets out of wack after the first one or two chars.


Ggoryl landmarks

Incorporating data from landmarks (preprocessed mediapipe output) into model

Looks very nice! If all changes will be accepted, please use "squash and merge" option to avoid pushing >10 commits.


SHA2 certificates

(Following up on #1144)
SHA1 certificates are being faded out, it could be useful to figure out / confirm that SHA2 is a reasonable alternative.
According to https://www.digicert.com/sha-2-compatibility.htm , support shouldn't be problematic anymore.
A redirect/glossary entry seems reasonable

+1

Also apart from a SHA2 compatibility list it would be nice to see the inverse list of SHA1 till what versions is was supported and in which browsers support is currently dropped.

My understanding is that browser which support https://caniuse.com/tls1-2 can implicitly support SHA2 certificates, so perhaps redirecting to that entry is good enough


Setup a website/docs

Create and publish a website to host docs similar to - https://secrets-store-csi-driver.sigs.k8s.io/
/kind docs

/kind documentation

/remove-lifecycle stale
/lifecycle frozen

/assign

I'm interested in picking this up! 👍


runtime deps from poms are exported by aether but not by coursier

The BUILD file generated for org.mockito:mockito-core:2.7.20 (pom) is different with aether and coursier, because the coursier one doesn't include runtime-scoped deps
dependencies.yaml:
dependencies:
  org.mockito:
    mockito-core:
      lang: java
      version: "2.7.20"

3rdparty/jvm/org/mockito/BUILD with aether:
java_library(
    name = "mockito_core",
    exports = [
        "//3rdparty/jvm/net/bytebuddy:byte_buddy",
        "//3rdparty/jvm/net/bytebuddy:byte_buddy_agent",
        "//3rdparty/jvm/org/objenesis:objenesis",
        "//external:jar/org/mockito/mockito_core"
    ],
    visibility = [
        "//visibility:public"
    ]
)

and with coursier:
java_library(
    name = "mockito_core",
    exports = [
        "//external:jar/org/mockito/mockito_core"
    ],
    visibility = [
        "//visibility:public"
    ]
)

Note the three missing exports in the second BUILD file: these are runtime scoped deps, and mockito doesn't work without them.  Since they are mandatory, I think bazel-deps should export them with both coursier and aether.

Actually can I talk you into adding this example to our coursier resolver tests?

sure thing

https://github.com/johnynek/bazel-deps/pull/158


have_xpath not working after v1.9.0

For example, running
expect(page).to have_xpath("//input[@value='ifName' and contains(@disabled, '')]")
gives the following error
wrong number of arguments (given 0, expected 1) (ArgumentError)

@benthorner Can you provide a stacktrace?

Hmmm...can't reproduce this now. Closing as not reproducible - sorry for the trouble :-)


Affix harvest error

crash-2021-08-12_23.57.23-server.txt
When using a tool from another mod, my single player world crashes and this is the crash report. I tested the other mod by itself and it worked fine.  I am sorry if this is not enough information I have not done anything like this before.

This crash is being caused by HarvestCheck#getPlayer returning null, which is invalid behavior (a harvestcheck cannot be done without a player).  The "broken" event is being sent out by the "Pattysmorestuff" mod so you'll have to bring it up with them.

Okay thank you, sorry for wasting your time.


Fixed Empty View

Here I have fixed #45 ,as well as removed some redundancy delete and edit icons from the view.

New PR #58


Fix first Python demo so it works without further modifications

You can't do async with ... outside of an async def function.

After applying this fix you can save the code as /tmp/demo.py and configure it in the inspector like this:

The inline script dependencies trick here also means you don't even have to install mcp separately. See: https://simonwillison.net/2024/Nov/24/follow-theirs/


fixed two bugs:

copy_images creates segfault, replaced by the standard memcpy
bug in orient_v3 is fixed with the num_used points to be the number of points, not a pointer to the last point

Ok, I understand that n == ... only when the crd and fix correspond exactly, so the fix is correct. Merging.


test_persistent_cache_linux uses call_with which is not recognized by Python 3.12

Package Name: azure-identity
Package Version: 1.10.0
Operating System: Fedora Linux 39
Python Version: 3.12~b3

Describe the bug
A test using called_with fails with Python 3.12
E               AttributeError: 'called_with' is not a valid assertion. Use a spec for the mock if 'called_with' is meant to be an attribute.

source: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/identity/azure-identity/tests/test_persistent_cache.py#L38
When I replaced both called_with with assert_called_with, the test fails with another problem:
_________________________ test_persistent_cache_linux __________________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff98ff3ff50>

    @mock.patch("azure.identity._persistent_cache.sys.platform", "linux2")
    def test_persistent_cache_linux(monkeypatch):
        """Credentials should use an unencrypted cache when encryption is unavailable and the user explicitly opts in.

        Raises an AssertionError if the args and keyword args passed in are
        different to the last call to the mock."""
        if self.call_args is None:
            expected = self._format_mock_call_signature(args, kwargs)
            actual = 'not called.'
            error_message = ('expected call not found.\nExpected: %s\nActual: %s'
                    % (expected, actual))
            raise AssertionError(error_message)

        def _error_message():
            msg = self._format_mock_failure_message(args, kwargs)
            return msg
        expected = self._call_matcher(_Call((args, kwargs), two=True))
        actual = self._call_matcher(self.call_args)
        if actual != expected:
            cause = expected if isinstance(expected, Exception) else None
>           raise AssertionError(_error_message()) from cause
E           AssertionError: expected call not found.
E           Expected: mock(<Mock id='140709839193744'>)
E           Actual: mock(<Mock name='mock()' id='140709834127888'>)

To Reproduce
Steps to reproduce the behavior:

Run the tests in Python 3.12 environment

Thank you for the feedback @befeleme . We will investigate and get back to you asap.

Hey @befeleme, thanks for catching this! Seems like that test was in need of an update. I created #31021 to adjust the test to not use the monkeypatch fixture.
Also, we'll likely start enabling a Python 3.12 testing pipeline after the first release candidate is released, so we'll be able to catch any more issues with the new Python version then.


chore(ir): add specific error message when an invalid resource property is used

In the event that an invalid property is specified for a specific resource type the value_type will be None causing the other arm of the match statement below to execute.
https://github.com/cdklabs/cdk-from-cfn/blob/2c14390f73b765b961a71b0cc2952fe87af587fb/src/ir/resources/mod.rs#L119-L129
Due to the unimplemented! macro panicking in-place, a non-descriptive error message is displayed while using cdk migrate:
cdk migrate --from-path './CDKMigrateExampleTemplate.yml' --stack-name CustomStackName
...
 ❌  Migrate failed for `CustomStackName`: stack generation failed due to error 'unreachable'

stack generation failed due to error 'unreachable'

This PR adds a new explicit check for the case where property_type is None. If that case is true, then a more descriptive error message will be displayed explaining what resource property is not valid. For example,
cdk migrate --from-path './CDKMigrateExampleTemplate.yml' --stack-name CustomStackName
...
 ❌  Migrate failed for `CustomStackName`: stack generation failed due to error 'ReadEndpoint is not a valid resource property for resource RDSCluster of type AWS::RDS::DBCluster'

stack generation failed due to error 'ReadEndpoint is not a valid resource property for resource RDSCluster of type AWS::RDS::DBCluster'

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

Could we wordsmith that error a little more? Maybe some thing more like: ${stackName} could not be generated because <the rest of your error message is great>

Neverminddddd, that part of the error message is on the CLI side so approving this since it looks great!


Can't drag a file in recent file

Description
Can't drag a file in recent file
Steps To Reproduce
Try to drag a file from recent file
Expected behavior
it drag normaly like in other folder
Files Version
Versione <IP_ADDRESS> OS Version: 10.0.22000.469
Windows Version
Windows  21h2 22000.469 (insider release preview channel)
Relevant Assets/Logs
.

@THEBOSSMAGNUS thank you for your feedback, can you open a new issue for this using the feature request template?


Infra/event context shorter

Now using shorter case names for UserActions (navigation from ViewModel), while also making the code base more readable in coordinator (by naming userIntendsTo and userDid as name on variable in NavigationHandler scope) and in the Viewmodel (by using func userDid and func userIntends:to)

Ok 👍


Restrict initialization of passes to what's called out in pass_flows

Restrict initialization of passes to what's called out in pass_flows
Config can list any number of passes, but the ones that are actually run are the ones listed in pass_flows. This avoids the case where a pass may not be able to successfully be initialized which shouldn't matter because its not going to be run unless it is explicitly called out in the pass_flows.
Checklist before requesting a review

[ ] Add unit tests for this change.
[x] Make sure all tests can pass.
[ ] Update documents if necessary.
[x] Lint and apply fixes to your code by running lintrunner -a
[ ] Is this a user-facing change? If yes, give a description of this change to be included in the release notes.
[ ] Is this PR including examples changes? If yes, please remember to update example documentation in a follow-up PR.

(Optional) Issue link

/azp run


⚠ Bofrost.fr has degraded performance

In 23e00d1, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1061 ms

Resolved: Bofrost.fr performance has improved in 002876a.


Little css issue with bootstrap 3 in image-gallery.source.html example

hi jssor
I've found a little issue using image-gallery.source.html into a website with bootstrap 3
it is necessary to add this line into .jssort01 .c
box-sizing: content-box;
because the following code gives some problems to thumbnails

{box-sizing: border-box;}

bye

Are you using the latest js library and the latest skin (css + html)?
If not, please update both and have a test again, thanks in advance.

yes jssor
all files are from your last version, the same for bootstrap

Updated, thanks a lot!


Please create tests files in a subdirectory

When I run the test suite, I get lots of test files created in my drive. To make it easier to clean up after that, can you please make the testsuite create them not in root, but in a subdirectory with some unique name, like pydrive-test-files?

A delete method has been merged, and the test suites updated to include clean-up code.


When installed is false chart should not be fetch [reopen]

Operating system
Ubuntu 23.04
Helmfile Version
v0.157.0
Helm Version
v3.13.0
Bug description
Reopen issue https://github.com/roboll/helmfile/issues/1232
We got an use case where we don't want multiple releases to be deployed on an environment.
And the versions are not knowned so we don't want the charts to be fetched.
Example helmfile.yaml
Basic example to reproduce:
repositories:
  - name: grafana
    url: https://grafana.github.io/helm-charts
releases:
  - name: loki
    installed: false
    chart: grafana/loki
    version: bar

Error message you've seen (if any)
$ helmfile template
Adding repo grafana https://grafana.github.io/helm-charts
"grafana" has been added to your repositories

in helmfile.d/helmfile.yaml: [no resolved dependency found for "loki", running "helmfile deps" may resolve the issue]

Steps to reproduce
N/A
Working Helmfile Version
N/A
Relevant discussion
No response

I cancel issue.
Can't reproduce after deleting lock file.

@seboudry  could you craete a PR for this feature?

@seboudry please try use https://github.com/helmfile/helmfile/tree/1053-when-installed-is-false-chart-should-not-be-fetch-reopen

Hi @yxxhero!
trying installing from your branch but got an error
$ go install github.com/helmfile/helmfile@1053-when-installed-is-false-chart-should-not-be-fetch-reopen
go: downloading github.com/helmfile/helmfile v0.157.1-0.20231005010442-32803c9db31b
go: github.com/helmfile/helmfile@1053-when-installed-is-false-chart-should-not-be-fetch-reopen (in github.com/helmfile/helmfile@v0.157.1-0.20231005010442-32803c9db31b): go.mod:5: unknown directive: toolchain

With go version go1.20.3 linux/amd64.

@seboudry
git clone https://github.com/helmfile/helmfile.git
cd helmfile
git fetch
git checkout 1053-when-installed-is-false-chart-should-not-be-fetch-reopen
go build -o helmfile main.go

Nice job!
Don't get any error now.

@seboudry thank you for your feedback. enjoy it. I will release it next week.

@seboudry please try to use the main branch to retest your case. thanks so much.

sorry for the delay, it's OK on current v0.159.0
thanks a lot again

@seboudry you are welcome. thanks for your feedback. enjoy helmfile. welcome to your more ideas.


Cannot import name 'make_path' from 'pybgl.dijkstra_shortest_paths'

When I try to run the  Quick Start example from readme, I get the following error:
ImportError: cannot import name 'make_path' from 'pybgl.dijkstra_shortest_paths' (/home/user/.local/lib/python3.11/site-packages/pybgl/dijkstra_shortest_paths.py)

it looks like 'make_path' was renamed to be 'make_shortest_path' within pybgl so you just need to update that in pattern_automaton.py. I found that when I did that there were also a couple places where variables had m_ in front of them that shouldn't in density.py and regexp_ast.py but after fixing those the quickstart code worked as expected


Fix warning log for unused checkpoint keys

As per title, small typo in https://github.com/huggingface/accelerate/pull/2588

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Calendar off by one

Not the same issue as #79, as the selected date is entered into the input correctly, but the calendar itself is off by one day.
This is happening on my local dev site, but also on the github.io demo site for me. Chrome 72, Central Time (currently UTC -5), and it shows March 2019 starting on a Thursday when it actually started on a Friday:

Adding "lang="en-US" to the html element displays Saturday in the first column (which is opposite from what I would expect as Sunday is the first day of the week in the US), but the calendar dates are still off by one.

Also, if you click on the month name, a couple odd things happen. First, the year is displayed as December - November, and second, selecting any month displays the calendar for the next month (e.g. selecting "March" displays the calendar for "April").

@nickmelville thanks for details, I'll take a look.

Try v3.2.4

Seems to have fixed the off by one issues, but now I see a couple others:

The date format is "YYYY-MM-DD" regardless of what the lang attribute on <HTML> is set to. I also tried manually formatting the inputs with a data-format attribute per https://github.com/chemerisuk/better-dateinput-polyfill#change-default-date-presentation-format and that isn't working either.

Example: https://codepen.io/nickmelville/pen/YMwGOE

https://chemerisuk.github.io/better-dateinput-polyfill/build/better-dateinput-polyfill.js is returning 404, so your github.io demo page isn't working properly. :)

Thanks!

Thanks, all should be fixed in v3.2.5

Looks great. Thanks!


various edits throughout

Hi,
Rather than get into discussing any of the details, I just did edits throughout while reading. Several of my changes are plainly appropriate (Gratipay is gone for example). Others you may not agree with (though I don't think any ought to be controversial) but I think all of them are improvements. I'll consider updating the PR if you have specific concerns but are willing to consider these changes otherwise.

Open Collective is not a 501(c)(3) although they function as a legal entity for projects in other ways. The previous version implied they were 501(c)(3)
made links default to HTTPS
did some edits to the opening wording while I was at it, more succinct and to the point.
replaced Gratipay with Liberapay (Gratipay is gone now, closing)
Freemium was described confusingly. "Freemium" as a word means more like "open core", there's some no-charge or fully-open "free" part and a "premium" restricted part. People don't generally use that term for types of licenses. Non-open licenses are sometimes called "shared source".
Moved non-open to bottom
Better description of dual-licensing

Hey @wolftune, thanks for these great edits! I made a bunch of comments. LMK what you think.

I made edits, a couple things I commented on and didn't address yet

@wolftune made a suggestion for Dual License section, otherwise LGTM!

@nayafia I made a new commit to try to make clearer wording about dual-licensing but avoid the misunderstanding you had (dual licensing is copyleft+proprietary, not copyleft+permissive).

@nayafia I've never before used the built-in GitHub conflict-resolution tool, but I did it just now to make sure this PR is already in-line with edits made to master since it was opened. I'm not sure if it rebased or what, but it seems to have done the trick. I'll read up on that tool sometime to understand it.
Anyway, this should be good to go. I hope you can accept it soon so any further contributions from others are built on top of the larger things here (like having moved and renamed some sections).

@wolftune merged! thanks for these great contributions :sparkles:


This is unneeded one #274 is merged, but thanks anyway.


Add forecast data

Why?
Forecast data can be a nice addition to this library.
Parsing
To parse the forecast data I used BeautifulSoup.
The output format is a DataFrame.
Usage
>>> knmi.get_forecast_dataframe()
            neerslag  neerslagkans  temp_max  temp_min  windkracht  \
datum
2018-03-23         1           0.3        10         4           4
2018-03-24         1           0.4        11         3           2
2018-03-25         1           0.3        10         3           3
2018-03-26         2           0.4        10         1           3
2018-03-27         7           0.7        10         2           4
2018-03-28         9           0.9         9         6           4

           windrichting  zonneschijn
datum
2018-03-23           ZW          0.1
2018-03-24            Z          0.1
2018-03-25            W          0.3
2018-03-26            W          0.3
2018-03-27           ZW          0.2
2018-03-28           ZW          0.2

Assumptions

Always get lowest temperature for minimum temperature and highest temperature for maximum temperature. This means that "Min. 3/4°" will result in 3 and "Max. 8/9°" will result in 9.
Convert percentages to chances (0-1).
Convert other values to integers.
Create a datum index in datetime format.

Problems

Depends on the website HTML and not an API.
Forecast data is not available in the same format as historical data. This makes them difficult to join.

Please let me know what you think!

Hey, great addition!

There is no station selection, so I assume this data is from De Bilt? Are there also other stations available?
I think we should try to align the dataframes of historical and forecasted data, so they can be joined easily.
Variable names are listed in metadata.py, so I think a simple renaming operation could suffice.

It's just the data from http://knmi.nl/nederland-nu/weer/verwachtingen, so I guess it's averaged for the whole country. They don't show more precise forecasts I believe. They do have current measurements at http://knmi.nl/nederland-nu/weer/waarnemingen
Unfortunately, not all the values match. For example, measured temperatures have 1 decimal place, while prediction do not have decimal places. For historic data, wind speed is in m/s, while forecasts have wind force. in This might make them difficult to join.

Merged in version 0.1.2!
Some additions:

I added the argument station. The default is 260 (De Bilt), and no other values are supported for now, but this leaves room to add other stations in the future. I consider De Bilt to be the "standard" for the whole country.
I managed to more-or-less align all variables to existing ones in the API (except 'neerslagkans', since this is unique for forecasts). To do this I added conversions from Beaufort to m/s and wind directions to degrees.
I added the argument variables, allows you to select specific variable names, similar to the other method.

I discovered some more detailed forecasts with more stations via http://knmi.nl/nederland-nu/weer/waarschuwingen-en-verwachtingen/weer-en-klimaatpluim. I'll be creating an issue for if someone would like to figure out if that page could also be scraped.

Thanks for merging, great additional work!


Chromeext

@aurambaj What does chrome extension do?

The chrome extension is the client side of the in context system. It can be used on Mojito itself for demo purposes.

Turn on/off in context

Allows to set some headers on all request going out to the apps. The headers can be recognized by the app that in turn instruments string (inject special metadata)

When an app returns instrumented string the chrome extension will process them so that the user can mouse hover (it gets the green border, mouse pointer is gone on the screenshot) on the string and with shift + click you can open the in context modal.

the in context modal allows to see information about the string and open it in mojito

It is the first iteration, there is some polish to be done and also finish the build/packaging for the extension but it is usable


Setting environment variables during bootctl setup

Describe the bug
With the following in configuration.nix:
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;

And attempting to install to non-GPT formatted disk, the following is observed:
File system "/dev/block/8:18" is not on a GPT partition table.
Traceback (most recent call last):
  File "/nix/store/hskyrbyld4l73czpfzjd1kjk03xnvn47-systemd-boot", line 274, in <module>
    main()
  File "/nix/store/hskyrbyld4l73czpfzjd1kjk03xnvn47-systemd-boot", line 212, in main
    subprocess.check_call(["/nix/store/n5j5fjn60nhck658j9ab84k8n9z24n1r-systemd-247.6/bin/bootctl", "--path=/boot", "install"])
  File "/nix/store/32q6ryrb860sksdi1al5djg3pgcpq92l-python3-3.8.11/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/nix/store/n5j5fjn60nhck658j9ab84k8n9z24n1r-systemd-247.6/bin/bootctl', '--path=/boot', 'install']' returned non-zero exit status 1.

Steps To Reproduce
See above. I can force this manually by setting a not-terribly-well-documented systemd environment variable:
[root@nixos:~]# SYSTEMD_RELAX_ESP_CHECKS=1 /nix/store/n5j5fjn60nhck658j9ab84k8n9z24n1r-systemd-247.6/bin/bootctl --path /mnt/boot install
Copied "/nix/store/n5j5fjn60nhck658j9ab84k8n9z24n1r-systemd-247.6/lib/systemd/boot/efi/systemd-bootx64.efi" to "/mnt/boot/EFI/systemd/systemd-bootx64.efi".
Copied "/nix/store/n5j5fjn60nhck658j9ab84k8n9z24n1r-systemd-247.6/lib/systemd/boot/efi/systemd-bootx64.efi" to "/mnt/boot/EFI/BOOT/BOOTX64.EFI".
Random seed file /mnt/boot/loader/random-seed successfully written (512 bytes).
Created EFI boot entry "Linux Boot Manager".

This was how I was able to do the original setup for the Arch install I'm hoping to replace with NixOS.
Expected behavior
Honestly this is (I hope) just a rocky start to learning Nix. After several days of research and trying to grok the nixpkgs source I had hoped the following or some variant (wrapProgram or similar) would  solve this:
  # does not work; I'm not even convinced it's being evaluated
  system.build.installBootLoader = let
    old = import <nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix> {};
    in pkgs.writeShellScriptBin "systemd-boot" ''
       SYSTEMD_RELAX_ESP_CHECKS=1 exec ${old}
    '';

But I'm at this point at a loss and almost ready to abandon the effort because I can't get the installer to proceed (though having nix alongside pacman has been great, I'm really hoping I can fully convert). Any insight into how to most correctly wrap/overlay this would be most appreciated.

For anybody else who passes by, here is a fix that does not involve copying the systemd-boot module into your config.
Add this to your config:
systemd.package = pkgs.runCommand pkgs.systemd.name
  {
    inherit (pkgs.systemd) outputs passthru meta;
    nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
  } ''
  cp -r ${pkgs.systemd} $out
  ln -s ${pkgs.systemd.man} $man
  ln -s ${pkgs.systemd.dev} $dev
  chmod -R u+w $out
  wrapProgram $out/bin/bootctl --set SYSTEMD_RELAX_ESP_CHECKS 1
'';

I ran into a similar issue where SYSTEMD_RELAX_ESP_CHECKS is needed (my /boot is mounted with FUSE), and fixed it using the above.


Usage with i18next

Can I use mojito with i18next json files?

@martijnmichel I haven't used i18next but the JSON format seems pretty standard and match with what Mojito supports.
I see i18next has support for plural strings and that won't be supported with the default JSON. Mojito only support plural in PO, android and IOS files.

Hey @martijnmichel and @aurambaj !
Did you get it to manage? My folder structure for i18next extracted strings looks like this:

And if I try to push the locale folder with -l "(de)->de_DE" I am getting the following error:
Locale [de] does not exist in the system

Is there a solution for this? Or do I need to force 4-letter codes?

Nope, decided to use weblate.

@matzeeable local mapping should look use -lm for example mojito pull -r MyRepo -lm "de:de-DE,es:es-ES,fr:fr-FR,ja:ja-JP" see here: see https://www.mojito.global//docs/guides/generating-localized-files/#locale-mapping. It is an option for pull and import (not push so not sure what command you are trying to run exactly).
If you're running the latest Mojito from the master you can have either tag: "de" or "de-DE" but it must be specified accordingly when creating the repository and then used as defined. (the last release is old and as far as I remember doesn't contain the locales with 2 letters only so if you using that you'd have to use mapping for sure)

Assuming you rename the file, the basic commands to get started would look like:
root@e52b9e000475:/tmp/i18nnext/locale# find .
.
./translation.json
./translation_fr.json
root@e52b9e000475:/tmp/i18nnext/locale# cat translation.json
{
	"hello" : "Hello!"
}
root@e52b9e000475:/tmp/i18nnext/locale# cat translation_fr.json
{
	"hello" : "Bonjour!"
}
root@e52b9e000475:/tmp/i18nnext/locale# mojito repo-create -n i18nnext -l de fr
Create repository: i18nnext
Extracting locale: de
Extracted RepositoryLocale:
-- bcp47Tag = de
-- isFullyTranslated = true
Extracting locale: fr
Extracted RepositoryLocale:
-- bcp47Tag = fr
-- isFullyTranslated = true

created --> repository id: 3
root@e52b9e000475:/tmp/i18nnext/locale# mojito push -r i18nnext -ft JSON

Push assets to repository: i18nnext

 - Uploading: translation.json
 --> asset id: 3, task: 23

Running, task id: 23
Creating asset: translation.json (24) Done
Process asset content, id: 3 (25) Done
  Extracting text units from asset (26) Done
  Create new text units (27) Done
  Updating branch asset text units (29) Done
  Updating merged asset text units (30) Done
  Perform leveraging (31) Done

Finished

root@e52b9e000475:/tmp/i18nnext/locale# cp translation.json translation_de.json
root@e52b9e000475:/tmp/i18nnext/locale# mojito import -r i18nnext -ft JSON

Start importing localized files for repository: i18nnext

 - Importing file: /tmp/i18nnext/locale/translation_fr.json

Running, task id: 34
ImportLocalizedAssetJob (34) Done
 - Importing file: /tmp/i18nnext/locale/translation_de.json

Running, task id: 35
ImportLocalizedAssetJob (35) Done

Finished

root@e52b9e000475:/tmp/i18nnext/locale# mojito pull -r i18nnext -ft JSON

Pull localized asset from repository: i18nnext

Localizing: translation.json
 - Processing locale: de --> translation_de.json
 - Processing locale: fr --> translation_fr.json

Finished

root@e52b9e000475:/tmp/i18nnext/locale# cat translation_de.json
{
	"hello" : "Hallo!"
}

Hey @aurambaj !
Thanks for your awesome response and for taking the time.
Yeah, you are right, if we can change the folder structure, we could go that way. I need to talk with my developer colleague and will let you know about results.

If you're running the latest Mojito from the master you can have either tag: "de" or "de-DE" but it must be specified accordingly when creating the repository and then used as defined

Unfortunately I cannot use the latest release from master as I need to use docker. But I could not get the images in https://github.com/box/mojito/tree/master/docker to work, so I am using https://github.com/zuc/docker-mojito . You perhaps should consider adding / updating the Dockerfile.
Regards,
Matthew 😊

@matzeeable I did some cleanup to the docker files and docker compose recently (2 weeks ago) and it's been working for me on Mac and Ubuntu 18.04. Have you tried since then? And if yes, could you share the error you're getting?

@aurambaj I just tried to figure out how to use the docker images you mentioned, unfortunately I cannot find an updated version (last update 5 years ago): https://hub.docker.com/search?q=aurambaj&type=image
I think you need to push the latest build to the hub. Another question, do you also provide an image with the CLI only?

I'd be interested to know if there is a de-facto standard for json files with i18n. If there is,

We are using this https://github.com/i18next/i18next-parser to extract texts from our source code. As "de-facto standard" I only see the output configuration which produces the folder structure above.
What do you think?

Right I don't push images to docker hub on a regular basis, since I never really got the need for it. I build custom images for the current deployment I'm working on.
I'd be interested to see how you would use the generic images actually. Where/how you deploy the app, configure the secrets, etc.
Using file in https://github.com/box/mojito/tree/master/docker you should be able to
git clone git@github.com:box/mojito.git
cd docker
docker compose up

I'll add an docker file for the CLI only soon.

Right I don't push images to docker hub on a regular basis [...]
Pushed a dockerfile for a standalone CLI (built from source): https://github.com/box/mojito/pull/693/files

You should really consider pushing the built images to the docker hub. Unfortunately we cannot build the images ourselves as this is not part of our "codebase" (and should not be). It is best practice to rely on already pushed images and simply pull them instead of building them. What do you think? I see you are using GitHub Actions (I never used this before), but perhaps this is something you need so you can automate things: https://github.com/marketplace/actions/build-and-push-docker-images

I'd be interested to see how you would use the generic images actually. Where/how you deploy the app [...]

We are currently using traefik to route our applications on our production server, but this is not relevant for this issue, I think. But here is the part of our docker-compse.yml:
version: "3"

networks:
    mojito: {}
    traefik:
        external: true

volumes:
    mojito_mysql_data:

services:
#   Mojito Translation Repository (https://github.com/box/mojito/)

    mojito_owlsrv_de_mysql:
        image: mysql:5.7
        volumes:
            - mojito_mysql_data:/var/lib/mysql:rw
        restart: always
        networks:
            - mojito
            - traefik
        environment:
            MYSQL_ROOT_PASSWORD: ${MOJITO_DB_ROOT_PASS}
            MYSQL_DATABASE: mojito
            MYSQL_USER: ${MOJITO_DB_USER}
            MYSQL_PASSWORD: ${MOJITO_DB_PASS}
        command:
            - --character-set-server=utf8mb4
            - --collation-server=utf8mb4_bin

    mojito_owlsrv_de_webapp:
        depends_on: [mojito_owlsrv_de_mysql]
        image: mzuccala/mojito:latest
        networks:
            - mojito
            - traefik
        restart: always
        environment:
            MOJITO_DB_HOST: mojito_owlsrv_de_mysql
            MOJITO_DB_PORT: 3306
            MOJITO_DB_NAME: mojito
            MOJITO_DB_USER: ${MOJITO_DB_USER}
            MOJITO_DB_PASS: ${MOJITO_DB_PASS}

configure the secrets, etc.

As you can see, we are using variables inside our docker-compose.yml. This environment variables are exposed by GitLab Variables. So, you can imagine like this:

We have a CI/CD job docker production start
Within that job, all our secrets gets exposed to the shell via GitLab mechanism
We are running docker-compose up to start all containers

I hope this makes things clear. Please do not hesitate to ask further questions!

Hey @aurambaj !
Any news about this? If you require any further assistance, feel free to ask or ask me for help :-)

@matzeeable

Added support for I18NextParser in this commit
Pushed 2 docker images as one-off  (waiting for a better solution): aurambaj/mojito-cli:e7fbe6fb and aurambaj/mojito-webapp:e7fbe6fb

Sample usage:
root@969c233c000f:/tmp/test# mojito repo-create -n i18next1 -l de,fr
Create repository: i18next1
Extracting locale: de
Extracted RepositoryLocale:
-- bcp47Tag = de
-- isFullyTranslated = true
Extracting locale: fr
Extracted RepositoryLocale:
-- bcp47Tag = fr
-- isFullyTranslated = true

created --> repository id: 1

root@969c233c000f:/tmp/test# cat ./locales/en/messages.json
{
        "hello": "Hello!"
}
root@969c233c000f:/tmp/test# mojito push -r i18next -ft I18NEXT_PARSER_JSON

Push assets to repository: i18next

 - Uploading: locales/en/messages.json
 --> asset id: 1, task: 2

Running, task id: 2
Creating asset: locales/en/messages.json (3) Done
Process asset content, id: 1 (4) Done
  Extracting text units from asset (5) Done
  Create new text units (7) Done
  Updating branch asset text units (8) Done
  Updating merged asset text units (9) Done
  Perform leveraging (10) Done

Finished

root@969c233c000f:/tmp/test# mojito pull -r i18next -ft I18NEXT_PARSER_JSON

Pull localized asset from repository: i18next

Localizing: locales/en/messages.json
 - Processing locale: de --> locales/de/messages.json
 - Processing locale: fr --> locales/fr/messages.json

Finished

root@969c233c000f:/tmp/test# cat locales/fr/messages.json
{
        "hello": "Bonjour!"
}


Scuttlebutt?

Hi i found you on projectboard.
I am wondering is this completely different alternative to scuttlebutt? You mention patchwork - i use scuttlebutt/patchwork and quite enjoy it. I was thinking about making some apps that use scuttlebutt for different purposes but i wonder if it is worth it to make another social network system.
Can you elaborate?

Thank you! I also hope this will not be too long. I agree with all of what you said and i also think it is important to zoom out even further without going into tech.
The problem i have with patchwork is that it is actually not specific enough. Only differing feature is that it works offline. Except that it is very conservative in its design. It doesn't bring anything new to the table. I don't believe it can get adoption outside the privacy minded techy leftist crowd that is there now (who came there mostly because Dominic Tarr, André Staltz and Substack are famous in node.js community).
It is in the details. For example the thing with Likes. They don't even realize this but the way Patchwork implements likes/thumb up is just taken from Facebook and i would argue it is against what they try to achieve. From design point of view if you want to promote discussions then you  don't want to have likes there at all since Like is easy way out - you read something like and you feel like you made some effort. By not having it more people will chip in why they like it - what they think. If you want fast way to give opinion you need more than like. You minimally need dislike (or some broader pallet but that is hard and might make stuff even worse). Up+Down is also great for ranking - reddit is build around this. Facebook does not because they are focused on keeping you there so you want people only to get likes so they get addicted to them without danger of anything negative which might make them leave the computer and do something else (and contemplate on why people dislike it). Scuttlebutt takes this straight from Facebook playbook because they all want to be happy and positive. Fine but this does not make critical community or better individuals. By the way having only LIKE is Facebook invented feature not something that was common before.
Some of the stuff that come to mind from my thesis that might be important here.
Memory
Society is build around forgetting. Time helps forgiving and it is because of the fact that our memory forgets. I believe this is problematic on "never forget" type of social networks of today and it will be even worse as people build up more history. I am not talking about some kind of Snapchat - send naked picture that can be viewed only once thing. I mean the fact that everything you post is recorded forever. Forgetting is opt in not opt out - you have to make effort to forget something. This can be very problematic in longer term because people and their views change. You can't escape your past since it is all recorded and people can just scroll down and judge you in context of your past. This gets hot when people change their political views (that happens all the time especially when you are young).
It would be much better if the network was forgetting and users might just mark the stuff they don't want to go away. If it is not worth one click that marks is as important then it is not worth keeping in memory. This would also help to show what kind of person you are by keeping the stuff you think is important.
Forgetting would also help greatly from technical standpoint as you can imagine. You would have much less problems with size of data because it would be cleaning itself.
Social network as virtual assistant
These things are sort of connected. How could the network work for you - more like some kind of assistant?
Order algorithm
The magic of the commercial networks is in the way they feed you the posts. Most of the open-source ones just do chronological order. Facebook tries to guess mix of posts that will keep you there the longest. How could we liberate this? The power of the order algorithm should be in the hands of user. Some of them might like the chronological. Some of them would like to maybe rank the importance of users/topics so they get the important ones sooner. Some technical ones would like to straight up plug in their sorting function. The thing is there can be lot of done here that might lead to great experience.
Limiting yourself
This is part of the algorithm but setting some kind of budget is great way to get the most ouf of social networks. I use this on sites like Hacker news - i want only to see 20 most important posts of the day. This prevents users from mindless scrolling through stuff they actually don't care much about.
Events  - calendar
Often neglected but probably one of the most important thing people use social networks for. Most of my friends use facebook solely because they can easily make event there - announce the details and invite other friends. This can be done much better (help with deciding where and when etc). I think it is requirement to have this in social network - patchwork somehow has this but it is just another post and gets lost very easily.
Adoption - Hosting
At some point i came to conclusion that the most probable way for regular people around me to "decentralize" would be give them some kind of system that would replace most of the stuff they need. Everybody is willing to buy cheap Arm board + hdd if it can host their dropbox, password manager, maybe their CV site and social network. The problem is how they will set it up. Everything requires you to be server admin. There is nothing coming close to ease of use of android/iphone in installing apps. At some point i was thinking about using android and old phones but it is not optimal.
It could greatly help with any p2p network if many of its users have tiny homeservers hosting it. I have to look for some operation system like that because i want to help with it. It is crucial for any effort around p2p space.
By the way KIKI used to be my nickname when i was young. Everybody called me that and some family members still do even when i am 190cm-100kg now.

@schollz hi i probably killed the whole discussion somehow. I don't want to bother you but i am not sure how i caused this. I was just trying to bring up some ideas... sorry if it was waste of time.
Cheers

While their are generic protocols for social networks (ActivityPub) I thought something really simple that does the basic type of social networking might fill a void and be applicable to other types of social networks (like the one you mentioned).

Reading the project Readme immediately made me think of ActivityPub. Your "letters" are structured almost the same way. I would strongly encourage you to use ActivityPub instead of a custom dialect. The only thing I don't like about ActivityPub is second-class support for encryption.


On slow devices, message pre loading causes login to time out

On my iPad mini 2, using my crappy WiFi link, the login to my personal instance, which is connected to just over 120 channels across a dozen servers, times out every time it reaches the “rendering” state. I can see the channel list and unread message counts if I pull the left side into view. Using 2.5.0-rc.5.

Sounds very similar to #1574, which was closed as duplicate of #1145. (This is a known issue.)


chore: add ability to manually run release

include workflow_dispatch events on master branch

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Provide end line/col information to invalid-argument rule

Relates #290
The goal is to slowly add end col information to all rules - whenever it is necessary. For that purpose I'm overwriting default issue format (with end_col argument). In the end it's likely that I will replace default issue format in our test framework with the one that has end col information and then remove all issue_format="end_col" arguments.

Codecov Report
Base: 96.92% // Head: 96.89% // Decreases project coverage by -0.03% :warning:

Coverage data is based on head (d5e73e2) compared to base (f60596b).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #729      +/-   ##
==========================================
- Coverage   96.92%   96.89%   -0.04%
==========================================
  Files          24       24
  Lines        3089     3091       +2
==========================================
+ Hits         2994     2995       +1
- Misses         95       96       +1

Impacted Files
Coverage Δ

robocop/checkers/errors.py
96.55% <100.00%> (+0.04%)
:arrow_up:

robocop/reports.py
98.64% <0.00%> (-0.46%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Parse authentication headers with wrong order

HttpHeaders.parseChallenges(...) changed to parse also wrong ordered authentication headers.
Authentication headers with wrongly ordered parameters not following RFC 2617 were not recognized.
See: https://github.com/square/okhttp/issues/2780
Probably you can find this usefull. If you are already working on a more feature rich Challenges version just forget the pull request :-)
Thanks for the great library.
regards
Lukas

Merged manually after tweaking the regex.

Thanks @drlue !


Do we have another space return 'NAS' within the library ??

can we get NAS info if that computer have it

@leermao Do you have an example / suggestion, what this should return (and what is not already part of other functions?)


receive: remove sort on label hashing

[X] I added CHANGELOG entry for this change.

Changes
I removed the sort on labels before hashinf them when using an hashring. The Prometheus remote write specification stand that:

MUST have label names sorted in lexicographical order

So I'm wondering if it's necessary to keep the sort on the receive side tor Thanos infrastructure with two "router only" receivers. I've done a pprof and I see that the sort code is using around 8% of CPU time, so it could be a significant optimization if we can skip it:

Verification
We are using the patched version for some time on our receivers and confirmed a reduction in resource consumption. We didn't see any side-effect.

Great! I added the CHANGELOG entry :)


Kanban Board Setup

Hello,
There are two developers working on this project
@ometman  & @Goldinium
https://github.com/users/Goldinium/projects/3/
Thank you!

Hi @Goldinium and @ometman,
Highlights
✔ Descriptive issue
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!
Required Changes ♻

[ ] Kindly use the template as guideline. See the image below. We don't have a "No Status" column. Kindly remove it. We should only have To do, In Progress, In review and Done columns. Kindly add the In Review column and remove the No Status column

[ ] Since there are only two team members, kindly remove the [Team 3] tasks. From the image you can see a Team 3 task.

[ ] The number of tasks you have should be 17 after removing all Team 3. Kindly ensure you are thorough when creating your tasks that template.

[ ] Kindly ensure all tasks are assigned, including the group tasks.

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Done changes

Hi @Goldinium and @ometman,
Highlights!

Descriptive issue ✔

Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Status: Approved ✔
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Where can I get source code of Travertine?

As in the title, I would love to see source code of the Travertine, like old Waterfall had.

@fuzzybot But I want to change something small, like a string. What then?

@fuzzybot I have this error in the console:
fatal: Not a git repository (or any of the parent directories): .git fatal: Not a git repository (or any of the parent directories): .git Resetting Waterfall-Proxy to BungeeCord... fatal: Not a git repository (or any of the parent directories): .git fatal: Not a git repository (or any of the parent directories): .git   Applying patches to Waterfall-Proxy... fatal: Not a git repository (or any of the parent directories): .git   Something did not apply cleanly to Waterfall-Proxy.   Please review above details and finish the apply then   save the changes with rebuildPatches.sh

you need to git clone the project, don't download the project zip :/

@sgdc3 How to do it?

git clone https://github.com/WaterfallMC/Travertine
cd Travertine
./applyPatches.sh

@phase
x:~/Travertine# ./applyPatches.sh Rebuilding Forked projects.... ~/Travertine/Waterfall ~/Travertine ./applyPatches.sh: line 23: cd: /x/Travertine/Waterfall/BungeeCord: No such file or directory fatal: repository 'BungeeCord' does not exist ./applyPatches.sh: line 31: cd: /x/Travertine/Waterfall/Waterfall-Proxy: No such file or directory Resetting Waterfall-Proxy to BungeeCord... fatal: ambiguous argument 'upstream/upstream': unknown revision or path not in the working tree. Use '--' to separate paths from revisions   Applying patches to Waterfall-Proxy... /usr/lib/git-core/git-am: line 186: /x/Travertine/Waterfall/BungeeCord-Patches/*.patch: No such file or directory   Something did not apply cleanly to Waterfall-Proxy.   Please review above details and finish the apply then   save the changes with rebuildPatches.sh

Run ./build instead.

I think I did it, but it showed 'mvn something unkown command'. How to build jar?

pushd Travertine-Proxy && mvn clean package && popd

@phase I don't see the jar.

At a glance, it looks like something wrong with @Techcable's Maven repo. Are you using OpenJDK? (run java -version)

@phase
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

@phase So?

@phase @Techcable @sgdc3 @fuzzybot ?

Try running rm -rf ~/.m2/repository/net/techcable/event4j and building again.

@Techcable [ERROR] Failed to execute goal on project travertine-event: Could not resolve dependencies for project io.github.waterfallmc:travertine-event:jar:1.10-SNAPSHOT: Failed to collect dependencies for [net.techcable:event4j:jar:1.1.0 (compile), org.ow2.asm:asm-all:jar:5.0.4 (compile), junit:junit:jar:4.12 (test), com.google.guava:guava:jar:18.0 (compile), com.google.code.findbugs:findbugs:jar:3.0.0 (provided), org.projectlombok:lombok:jar:1.14.8 (provided)]: Failed to read artifact descriptor for net.techcable:event4j:jar:1.1.0: Could not transfer artifact net.techcable:event4j:pom:1.1.0 from/to techcable-repo (https://repo.techcable.net/content/groups/public/): peer not authenticated -> [Help 1]

@fuzzybot what happened to flowz and craftcadia fam

@fuzzybot Try running maven with the -Dmaven.wagon.http.ssl.insecure=true option.

@Techcable pushd Travertine-Proxy && mvn clean package -Dmaven.wagon.http.ssl.insecure=true && popd
Like that?

yes

@Techcable [ERROR] Failed to execute goal on project travertine-event: Could not resolve dependencies for project io.github.waterfallmc:travertine-event:jar:1.10-SNAPSHOT: Failed to collect dependencies for [net.techcable:event4j:jar:1.1.0 (compile), org.ow2.asm:asm-all:jar:5.0.4 (compile), junit:junit:jar:4.12 (test), com.google.guava:guava:jar:18.0 (compile), com.google.code.findbugs:findbugs:jar:3.0.0 (provided), org.projectlombok:lombok:jar:1.14.8 (provided)]: Failed to read artifact descriptor for net.techcable:event4j:jar:1.1.0: Could not transfer artifact net.techcable:event4j:pom:1.1.0 from/to techcable-repo (https://repo.techcable.net/content/groups/public/): peer not authenticated -> [Help 1]

Nice.


Use a color wheel for hex and let us save colors!

The color picker is terrible! Replace it with an RGB color wheel and let us save Hex colors to re-use in teh colors click section at the top of the lore editor.
Have say 20 additional color squares that you can save custom colors to.

First of all, please be careful with the language you use. Bear in mind that I'm working on this mod in my free time and that I don't owe you anything. This goes for any free and open-source project.
I know that the color picker is very basic and doesn't have a lot of features, but it's definitely usable by anyone. These are improvements that I already did have in mind for the future, but I don't know when I'll have the time to work on these. Again, the mod is open-source, so feel free to contribute to it if you have knowledge in Java programming.

Oof. Not ment like that at all! Cant read tone in text form I guess!
RGB color wheel absolutly smashes sliders any day, if you are just ending up at getting HEX, I wonder if theres an existing mod you could use a color wheel from so as to not reinvent the wheel, ive seen a hex color wheel used in a few plugins in the past, I wonder if theres a framework/library that exists already.