HoverPY Usage test -readthedocs and unit-testing

We can have a status bar while downloading Downloading https://pypi.python.org/packages/d9/03/155b3e67fe35fe5b6f4227a8d9e96a14fda828b18199800d161bcefc1359/requests-2.12.3.tar.gz#md5=0cafdecd95a46b081dd5fcfa4978db7a

warning: no files found matching 'test_requests.py'
still exists, don't know it it should bother the user?

python setup.py test
is DOWNLOADING HOVERFLY FROM https://github.com/SpectoLabs/hoverfly/releases/download/v0.9.2/hoverfly_bundle_linux_amd64.zip? (Just a query as this was not the case earlier as I remember?) And again a status message with percentage of download would help.

May be you can update the Output section in http://hoverpy.readthedocs.io/en/latest/installation.html, to

testTemplate (hoverpy.tests.templates.testTemplates.TestTemplates) ... ok
testDecorators (hoverpy.tests.testDecorator.TestDecorators) ... ok
testCapture (hoverpy.tests.testVirtualisation.TestVirt) ... ok
testPlayback (hoverpy.tests.testVirtualisation.TestVirt) ... ok
testSimulation (hoverpy.tests.testVirtualisation.TestVirt) ... ok
testStressTest (hoverpy.tests.testVirtualisation.TestVirt) ... generating data took 4.189275
re-reading data, getting simulation, and writing it to disk took 0.795680
ok
testdbpath (hoverpy.tests.testVirtualisation.TestVirt) ... ok

Right now it is:
testTemplate (hoverpy.tests.templates.testTemplates.TestTemplates) ... ok
testCapture (hoverpy.tests.testVirtualisation.TestVirt) ... ok
testPlayback (hoverpy.tests.testVirtualisation.TestVirt) ... ok

as I remember having only 4 ok in the log earlier, and that matched the document text, entry sequence is also different.

python examples/basic/basic.py's
sample output can appear in the docs under "Running the examples"?

running
'python examples/readthedocs/readthedocs.py'
without doing capture first still produces the same traceback. We can handle that gracefully with custom message, telling the actual reason of failure.

In http://hoverpy.readthedocs.io/en/latest/readthedocs.html:

python examples/readthedocs/readthedocs.py
should be formatted as code.

We can have a status bar while downloading Downloading https://pypi.python.org/packages/d9/03/155b3e67fe35fe5b6f4227a8d9e96a14fda828b18199800d161bcefc1359/requests-2.12.3.tar.gz#md5=0cafdecd95a46b081dd5fcfa4978db7a

This sounds like a minor improvement. Is it necessary for launch?

warning: no files found matching 'test_requests.py'

This is a warning only.
OK this is a minor documentation issue.

without doing capture first still produces the same traceback. We can handle that gracefully with custom message, telling the actual reason of failure.

Possibly. Again this is not the expected usecase, but the error message could be improved.

python examples/readthedocs/readthedocs.py

Again minor documentation issue.
Thanks for the feedback, definitely all minor stuff for now.

Yup, everything looks good otherwise.

This is very minor / aesthetic. Thanks.


Return 'valid_AphiaID'

Hi,
I was wondering if it would be possible for fathomnet-py to also return the valid_AphiaID like pyworms does so that superceded ranks can be flagged/updated.
The example below queries the species 'Swiftia pallida' using pyworms and fathomnet-py. The pyworms query shows that the species has been superceded and returns the superceded AphiaID which is called valid_AphiaID.
pyworms
>>>> import pyworms as pw
>>>> print(pw.aphiaRecordsByMatchNames('Swiftia pallida', marine_only=False)[0])

[{'AphiaID': 125401, 'url': 'https://www.marinespecies.org/aphia.php?p=taxdetails&id=125401', 'scientificname': 'Swiftia pallida',
'authority': 'Madsen, 1970', 'status': 'superseded combination', 'unacceptreason': None, 'taxonRankID': 220, 'rank': 'Species',
'valid_AphiaID': 1608729, 'valid_name': 'Callistephanus pallida', 'valid_authority': '(Madsen, 1970)', ...}]

fathomnet-py
>>>> from fathomnet.api import worms
>>>> print(worms.get_info('Swiftia pallida'))

WormsNode(name='Swiftia pallida', rank='Species', aphiaId=125401, alternateNames=['Nördliche Seefeder', 'northern sea fan',
'Northern sea fan coral', 'corail pâle'], children=None)

@khiyer I'll look into adding that to our custom worm server: https://github.com/fathomnet/worms-server

Note to myself. This info is in the taxon.txt file we get from worms. It's in the 3rd column,  acceptedNameUsageID
taxonID	scientificNameID	acceptedNameUsageID	parentNameUsageID	namePublishedInID	scientificName	acceptedNameUsage	parentNameUsage	namePublishedIn	namePublishedInYear	kingdom	phylum	class	order	family	genus	subgenus	specificEpithet	infraspecificEpithet	taxonRank	scientificNameAuthorship	nomenclaturalCode	taxonomicStatus	nomenclaturalStatus	modified	bibliographicCitation	references	license	rightsHolder	atasetName	institutionCode	datasetID
urn:lsid:marinespecies.org:taxname:125401	urn:lsid:marinespecies.org:taxname:125401	urn:lsid:marinespecies.org:taxname:1608729	lsid:marinespecies.org:taxname:125314	      	      Swiftia pallida	  Callistephanus pallida	a	  	  Animalia	  Cnidaria	  Anthozoa	lacalcyonacea	exauridae	Swiftia		pallida		Species	Madsen, 1970	ICZNsuperseded combination	    2022-10-29	    McFadden, C.S.; Cordeiro, R.; Williams, G.; van Ofwegen, L. (2023). World List of Octocorallia. Swiftia pallida Madsen, 1970. Accessed through: World Register of Marine Species at: https://www.marinespecies.org/aphia.php?p=taxdetails&id=125401	https://www.marinespecies.org/aphia.php?p=taxdetails&id=125401

@kevinsbarnard I've made the following 3 changchange to worms-server:
1. acceptedAphiaId
All taxa nodes now include an acceptedAphiaID. So any endpoint that starts with taxa will return this field. This is the term they use internally, not sure why they use valid_AphiaID in their service. Example https://fathomnet.org/worms/taxa/info/Swiftia pallida returns:
{
  "name": "Swiftia pallida",
  "rank": "Species",
  "aphiaId": 125401,
  "acceptedAphiaId": 1608729,
  "alternateNames": [
    "Nördliche Seefeder",
    "northern sea fan",
    "Northern sea fan coral",
    "corail pâle"
    ]
}

2. /names/aphiaid/{aphid}
I've also added a new /names/aphiaid/{aphid} endpoint.  This aggregates alternativeNames from any other nodes that use the matched node as their accepted one.
https://fathomnet.org/worms/names/aphiaid/125401
{
    "aphiaId": 125401,
    "name": "Swiftia pallida",
    "acceptedName": "Callistephanus pallida",
    "alternateNames": [
        "Northern sea fan coral",
        "Nördliche Seefeder",
        "corail pâle",
        "northern sea fan"
    ]
}

https://fathomnet.org/worms/names/aphiaid/1608729
{
    "aphiaId": 1608729,
    "name": "Callistephanus pallida",
    "acceptedName": "Callistephanus pallida",
    "alternateNames": [
        "Northern sea fan coral",
        "Nördliche Seefeder",
        "Swiftia pallida",
        "Swiftia rosea pallida",
        "corail pâle",
        "northern sea fan"
    ]
}

3. synonyms has a new behavior
The contract is that the first item in the list is the accepted id. Before it just found a node by its name and used the alternate names attached to the node. Now it find the accepted node and expands the search to find outdated (non-accepted?) nodes.
https://fathomnet.org/worms/synonyms/Swiftia pallida
Before
[
  "Swiftia pallida",
  "Northern sea fan coral",
  "Nördliche Seefeder",
  "corail pâle",
  "northern sea fan"
]

Now
[
  "Callistephanus pallida",
  "Northern sea fan coral",
  "Nördliche Seefeder",
  "Swiftia pallida",
  "Swiftia rosea pallida",
  "corail pâle",
  "northern sea fan"
  ]

Implemented in v1.3.0. Thanks for the suggestion @khiyer and for the quick implementation server-side @hohonuuli!


Rework rescale!() so that it works for both $T$ and $A$ matrices

The current implementation only works for one condition. Having separate conditions (separate blocks in the W-matrix) is harder to implement.

Actually, I don't think it is. The whole point of the $\tau$ parameter is that all it should be common to all conditions. As long as the entries of sub-matrices for each condition are equal to the number of states in that condition, multiplying the whole matrix by $\tau$ should have the intended effect.


Project Management

Experience
Project.Management.Case.zip
Title
Project Management
Screenshots

Description
Focused on planned objectives and daily/weekly tasks, an organised flow will help you keep track of personal projects.
Categories
Project tracking, Collection
Language
en-US
Terms

[X] I agree that this Experience is licensed under the MIT License.
[X] I have intellectual property rights and/or permission to contribute the Experience and its content.
[X] I confirm that the Experience does not contain any harmful or malicious content.

/gallery approve


Misc improvements in compiler options handling

This is largely a (much belated) follow-up to https://github.com/scala/scala3/pull/19766, which revamped how compiler settings can be called. We haven't been supporting some of the new syntax.
The actual follow-up we plan for is https://github.com/VirtusLab/scala-cli/issues/2867, this PR should be treated as the first step.
Changes include

compiler options can now be passed with - or -- prefixes interchangably (-Wunused:locals means exactly the same as --Wunused:locals)
compiler option values can be passed with : or a space, interchangably (-Wunused:locals means the same as -Wunused locals)

this applies to repeatable options, so now -Wunused:locals,privates, -Wunused:locals -Wunusedprivates and -Wunused locals -Wunused privates are all synonyms.

some options which previously required to be passed via -O now don't:

-explain
-experimental

some options which should have allowed to be repeatable (as they accept a list of values) now actually do

-Wunused
-coverage-exclude-classlikes
-coverage-exclude-files
-Wshadow
-Xlint
-Xmacro-settings
-Xplugin-disable
-Xplugin-require
-Yimports
-Yfrom-tasty-ignore-list

--source (which used to indicate a source jar artifact is to be produced by the package sub-command) and -source (a compiler option) are now synonyms, as treated by the Scala compiler

to produce a source jar, use --src or --sources instead.

the changes have been covered with tests where applicable (within reason, we can't test for each compiler option)

these tests are also good preparation for the rewrite necessary for https://github.com/VirtusLab/scala-cli/issues/2867

Note: the changes are rather large, although I tried to split the commits in a way so that it's easy to review. Let me know if I should split it into smaller bits.


Add Blueprint and lazy registration pattern

Enables collections of tasks to be defined independently of the app
itself and registered at a later time.
Closes #421

Successful PR Checklist:

[x] Tests

[ ] (not applicable?)

[x] Documentation

[ ] (not applicable?)

@ewjoachim I wasn't sure how procrastinate deals with collisions of task names & task aliases.
This is probably more likely to happen with aliases than with fully qualified task names (fqtn).
I would have thought that adding the same task name or alias SHOULD raise an exception.
We could force a blueprint to have a namespace. Say:
bp = Blueprint(name="my-bp")

Or maybe leave this until the registration:
app.register_blueprint(ns="my-ns", blueprint=bp)

What do you think?

Also, do you want to call them Blueprints or is there a better name?
Maybe:

TaskCollections
Collections
Scaffold
TaskGroup
etc ...

Or maybe leave this until the registration:
app.register_blueprint(ns="my-ns", blueprint=bp)

I like this idea because it makes it the responsibility of the caller (the only one who knows the different blueprints that will be combined) to ensure there is no overlap.

Also, do you want to call them Blueprints or is there a better name?

Blueprints seems clear enough to me. :+1:

@ewjoachim given that there's no concept of a task namespace in the db schema it will obviously have to be stored by convention in the task name & aliases.
From what I understand a job can be created by it's task name, and a worker can look up a jobs code using the task name or any of its aliases.  So aliases primary use case is to allow task name changes and still allow workers to look up jobs based on old names.
With the :point_up: in mind it seems that only a task name should be prefixed with a namespace, and that it's the users responsibility to include any namespaces in the alias.  Does this seem right?
As for the namespace prefix what type of delimiter would you prefer? :

ns.my.task
ns:my.task
ns::my.task
ns/my.task
etc ...

As of today, within a worker, if a task is not registered, Procrastinate makes a last chance attempt and tries to load the Python object pointed at that dotted path. If it's a Procrastinate tasks, it logs a warning and launches it.
I believe that if we use . as a namespace separator, this will not be possible.
I'd say : or :: are my favorite suggestions from your list. What's your take on that ?

@ewjoachim

As of today, within a worker, if a task is not registered, Procrastinate makes a last chance attempt and tries to load the Python object pointed at that dotted path. If it's a Procrastinate tasks, it logs a warning and launches it.

So you're saying that as long as a task package is installed Procrastinate will dynamically load the module and look for the task by name?  How does the import_paths argument to the App affect this behaviour?
Furthermore, if there is a python module/package which has side-effects at import these could be triggered by creating a task of the module/package name.  Part of my :brain: is telling me that this is undesirable from a security position.
:thinking: in a local setup would a task named antigravity open the browser?

We could allow blueprint providers to include {namespace} in their aliases and compute that at registration time.

Doesn't this defeat the main use case of aliases?  As far as I understand an alias is a prior name of a task, so that you can change the name of a task, and will have workers correct run deferred tasks on the queue with the previous name?
I would have thought any aliases would have to be fully qualified with no manipulation done on them.
For instance if a blueprint added a namespace to aliases it would be difficult to transition a task from:

a non-namespaced blueprint to a namespaced blueprint
one namespace to another namespace

This could be worked around if there were someway to opt out of namespacing aliases.  But this just strikes me as adding complexity for the sake of a feature that we don't know we need?

I'd say : or :: are my favorite suggestions from your list. What's your take on that ?

I guess the only thing I have against both of them is they look a little like the syntax for slicing in Python.
Also, considering nested blueprints, would you end up with nested namespaces, sayns1::ns2::my.task?
Some other thoughts:

<ns>my.task
<ns1/ns2>my.task
ns#my.task
ns1#ns2#my.task

thinking in a local setup would a task named antigravity open the browser?

I believe it might be interesting to change this :D

Ok

[ ] it looks like we're missing a bit of coverage (in addition to the missing line from #403)
[ ] There seems to be a problem with the docs, but let's merge #426 and see what gives.
[ ] I'll have to do a final review at some point
And then merge !

@ewjoachim tests pushed which should get coverage back up
I'll merge/rebase off master once #426 has been merged in.

Docs finally building correctly.

@ewjoachim

This starts looking great !
(Ok, I admit I have one thing or 2 I'd like to change but I can do it in a subsequent PR, not to bother you with all my requests :D)
At any point if you'd like me to merge, I'll do it, and I can take care of what's left :)

Addressed many of these remaining comments.  Please re-review and let me know what's left :)

I'm going to merge now, I'll be glad to continue working this feature with you (e.g. for namespaces) but we can do it in a subsequent PR :) At least, we're starting from somewhere :)


FIFO

Using FIFO Generator

[x] FIFO Overflow - attempt larger FIFO depth. ANS: same result
[ ] Find out why FIFO overflowing without the slave valid line going high and with the slave ready line low. ANS: Created own FIFO
[ ] Underflow and overflow high at the same time? ANS: Created own FIFO
Overflow goes high as soon as FFT output (connected to FIFO slave) goes high.

Packetiser one clock delay
The packetiser ready line only goes low on the clock cycle following the one in which data is presented to it. A simple one bit delay count is used to mitigate this, though we should find out if another option exists.

TO DO: sort out ready line
Packetiser still sending last byte of sample when ready for next sample goes high. Since this can only go low once packetiser is ready, the FIFO output address continues to increment i.e. data is streamed out. Should be quick fix.

Possibly working. Need to inspect more and/or test on hardware (easier, though bear in mind issues could still be due to FPGA programming)


Actively send/receive messages

As a long-connected network protocol, it only provides an interface for passively sending/receiving messages. I think it is a design failure. This also requires the work of actively sending/receiving messages to become very painful. Very inefficient. I hope to provide activesending/receiving Interface to deal messages.

it only provides an interface for passively sending/receiving messages

No it doesn't

it only provides an interface for passively sending/receiving messages

No it doesn't

Yes It is.

@Jacob-Burckhardt I think @cjxx2016 means to send messages from the server to connected sockets without waiting for the sockets to send something to the ws /message handler

That's right

How do you define active and passive?

Active sending means that the server can send a message when it wants to send a message to a client, instead of waiting for a message to be received before returning a message.

A few hints -

Don't argue about stuff you don't know anything about, and don't ask if you're going to reject the answer
Don't use language such as "you will have to". I really do not have to do anything here.
You don't control the agenda here, so stop pointing fingers like you have anything to control

You must be utterly unaware and have entirely ignored the examples if you believe you cannot send a message at free will any point in time. What would be the purpose of WebSockets if that was the case?
Also, I recognize your name from some other really off posts


Update README with how to configure Github enterprise

Environment info

OS: MacOS 10.12.6
App Version: 1.7.0

Description of the problem / feature request / question:
After installing via brew cask, the UI does not give an option. I can't seem to find where a config file would be located. How do I do?

Environment info

OS: MacOS 10.12.6
App Version: 1.7.0

Description of the problem / feature request / question:
After installing via brew cask, the UI does not give an option. I can't seem to find where a config file would be located. How do I do?

Where you able to get this to work? It doesn't look like lepton is even reading my ~/.leptonrc (MacOS)

Yes. My configuration is in the same location as yours.
{
    "snippet": {
        "expanded": true,
        "newSnippetPrivate": false,
        "sorting": "updated_at",
        "sortingReverse": true
    },
    "editor" : {
        "tabSize": 4
    },
    "userPanel": {
        "hideProfilePhoto": false
    },
    "logger": {
        "level": "debug"
    },
    "enterprise": {
        "enable": true,
        "host": "your.host.com",
        "token": "your-token"
    }
}


Updated API-docs

Closes Issue # (if applicable).
Changes proposed in this Pull Request
-Updated API docs
-Updated mathematical formulation of constraints in function headers
-Updated class/function headers
Checklist

[ ] Code changes have been tested locally.
[ ] Code changes are sufficiently documented, i.e. new functions contain docstrings and further explanations may be given in docs.
[ ] A note for the release notes docs/files/release_notes.rst is included.
[ ] Breaking changes are documented in the docs and are communicated to the user (if applicable).
[ ] Newly introduced dependencies are added to pyproject.toml (if applicable).
[ ] Tests for new features were added (if applicable).

@jacob-mannhardt please check and confirm

Looking good!! Thanks!
Some minor points that I have spotted
Technology:
constraint_technology_construction_time()

you have missed the year shift between the investment and construction´

constraint_technology_diffusion_limit()

there are two constraints in this block. One for all locations together, and one with spillover effects (see mathematical formulation)
you have only formulated the constraint for transport technologies

constraint_technology_capacity_limit()

please add an arrow or a : between "if existing capacities < capacity limit" and the maths (same for the constraints in transport tech)

constraint_technology_lifetime

\delta s^{ex} must be lower case

constraint_technology_min_capacity_addition

weird formatting of g_{i,p,y}

Carrier:
constraint_availability_import_export_yearly

weird formatting of the maths

constraint_cost_limit_shed_demand

line break missing in maths

Conversion Technology:
constraint_opex_emissions_technology_conversion

index of O_{h,p,t) not in subscript

Storage technology
constraint_couple_storage_level

you've copied the wrong equation, the correct one is this https://zen-garden.readthedocs.io/en/latest/files/zen_garden_in_detail/mathematical_formulation.html#equation-storage-level

constraint_capacity_energy_to_power_ratio

this makes more sense than what is in the mathematical formulation
but normally we wouldn't write S^{power}, but just S

Energy System:
constraint_carbon_emissions_annual_overshoot

there is something missing in the constraint (only a symbol right now)

constraint_carbon_emissions_budget

maths is not shown

constraint_carbon_emissions_budget_overshoot

add condition when this is 0 to the constraint, same with constraint_carbon_emissions_annual_overshoot

objective_total_carbon_emissions

we changed it to actually just minimize the cumulative emissions in the last time step. Could you please also change that in the mathematical formulation

"Where to get help" also added now and updated mathematical formulation of the emissions objective functions.

@jacob-mannhardt please check and confirm


chore: extend ids constraint implementation

What this PR changes/adds
Extend the ids constraint implementation and replace the type LeftOperand by a String. Thus, add a new builder class and use it in the "from ids" and "to ids" transformer classes.
Why it does that
Currently, the LeftOperand class of the IDS Infomodel lib is an enum restricted to a number of values that do not cover the capabilities of ODRL. To support other values, the Constraint class now supports a leftOperand as String.
Further notes
I tried to create a new Constraint interface first. As e.g. Permissions and Prohibitions expect an AbstractConstraint, one could easily handover an own implementation of this class. However, other classes like the LogicalConstraint expect a list of Constraint. Due to these inconsistencies, we are forced to still use the basic Constraint class when we do not want to re-implement the whole IDS Infomodel for this part. Thus, I extended the ConstraintImpl, added a separate ConstraintBuilder class, and replaced the usage of the old classes by the new ones.
Linked Issue(s)
Closes #939
Checklist

[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[x] added relevant details to the changelog? (skip with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #971 (3d4c15d) into main (d429b6c) will decrease coverage by 0.24%.
The diff coverage is 19.40%.

@@             Coverage Diff              @@
##               main     #971      +/-   ##
============================================
- Coverage     62.05%   61.81%   -0.25%
  Complexity     2395     2395
============================================
  Files           616      618       +2
  Lines         13166    13211      +45
  Branches        935      947      +12
============================================
- Hits           8170     8166       -4
- Misses         4562     4611      +49
  Partials        434      434

Impacted Files
Coverage Δ

...onnector/ids/core/policy/IdsConstraintBuilder.java
0.00% <0.00%> (ø)

...ceconnector/ids/core/policy/IdsConstraintImpl.java
0.00% <0.00%> (ø)

...ransform/IdsConstraintToConstraintTransformer.java
60.60% <50.00%> (-1.90%)
:arrow_down:

...ransform/ConstraintToIdsConstraintTransformer.java
100.00% <100.00%> (ø)

...ansform/ExpressionToIdsLeftOperandTransformer.java
70.00% <100.00%> (+8.88%)
:arrow_up:

...ansform/IdsLeftOperandToExpressionTransformer.java
100.00% <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 d429b6c...3d4c15d. Read the comment docs.

LGTM. One question: does the IdsContraintImpl need to be registered with the ObjectMapper that performs deserialization? I think it might need to be. Maybe try a test that serializes the constraint contained in a policy and deserialize it?

@jimmarino will take a look. I will re-request your review afterwards.

@jimmarino I added tests and registered the new Impl to the ObjectMapper. Needed to add a custom deserializer for this.


dev mode vs prod mode

almost there...getting the following after the db update and re-deploy...thoughts please?
error:
Error.
An error occurred while processing your request.
Request ID: 800216f1-0002-f300-b63f-84710c7967bb
Development Mode
Swapping to Development environment will display more detailed information about the error that occurred.
The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users. For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 00961883-36eb-f736-b906-73d4c35e69b0
Version Independent ID: 3a2fd493-9682-eedf-fad1-571b9391cd46
Content: Tutorial: ASP.NET Core with SQL Database - Azure App Service
Content Source: articles/app-service/app-service-web-tutorial-dotnetcore-sqldb.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

fyi, the error is seen locally and via the prod azure site

Hi @arizzi12, thank you for the detailed question. We are currently investigating and will update you when we have accurate information to provide.

@arizzi12 I don't reproduce the error. For anything beyond the scope of the scenario in this tutorial, please go to the Azure forums or StackOverflow for help. #please-close
Feel free to reopen if you have further issues with the tutorial. Note that the tutorial has also been updated this week.

circling back...i reran the tut and the same issue as above it present...i have not gone out of scope of the tut...please advise...this tut is part of another so I'd like to keep moving forward...thank you!

fixed this with an env variable. now getting: An unhandled exception occurred while processing the request.
SqlException: Invalid object name 'Todo'
thinking the db didn't actually upload? sorry, thx for the guidance...

thoughts? please...

Hi @arizzi12, apologies for the frustration this issue may have caused. This will require deeper investigation. Send us an email AzCommunity[at]microsoft[dot]com ATTN: Grace as the subject. please include your subscription ID and the link to this thread to we can enable one-time free support for you.

all good...got it working...db never made it up to azure...ty...sorry for the wasted time :-)

@arizzi12 no problem. Glad you were able to get it working :)


Debugging API errors is impossible, no stack traces

This is fairly simple to test. Open api/actions/index.js and change this line to this syntax:
export * from './widget/index';

So the whole file looks like:
export loadInfo from './loadInfo';
export loadAuth from './loadAuth';
export login from './login';
export logout from './logout';
export * from './widget/index';

export * from (instead of the original export * as x from) is valid ES6 syntax as far as I can tell. Eslint doesn't complain. However, the API crashes on this line. There's no relevant stack trace, no relevant files are mentioned, so it's impossible to debug.
[piping] File api/actions/index.js has changed, reloading.
[piping] can't execute file: bin/api.js
[piping] error given was: SyntaxError: Unexpected reserved word
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:414:25)
    at loader (node_modules/babel-register/lib/node.js:128:5)
    at Object.require.extensions.(anonymous function) [as .js] (node_modules/babel-register/lib/node.js:138:7)
    at Module.load (module.js:356:32)
    at Module._load (module.js:311:12)
    at Function.module._load (node_modules/piping/lib/launcher.js:32:16)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (api/api.js:19:14)
[piping] further repeats of this error will be suppressed...

Furthermore, changing other files in the API code trying to debug the error will have no effect on the output, precisely because of "further repeats of this error will be suppressed."
I'm not sure why the valid ES6 syntax crashes the API, but the issue here that has taken up most of my time is trying to track down the source. Without a stack trace, only guess and check is possible.

I believe import * from 'foo' is invalid. http://devdocs.io/javascript/statements/import
You need the as so you can pull in the imports into that parent object. Otherwise you could get undefined behavior overwriting existing variables.

This is a bug in babel-plugin-transform-runtime. It does not transpile the export * from 'module' syntax correctly.


feat: document/test support for axe-core v3.4.1 and axe-cli v3.2.0

Description of changes
Neither axe-core v3.4.1 nor axe-cli v3.2.0 contain any breaking output format changes, so axe-sarif-converter was already compatible with both of them. This PR updates our test cases to include verification of this compatibility.
This PR also checks in code to generate test cases for future axe-core updates, and documents the process for performing such an update in the README under a new subsection of Contributing.
Review suggestions:

Start from the README.md changes; this provides a broad understanding of the changes and the expected usage of the new generator.
For the files under /src/test-resources/*.{json|sarif}, review by comparing against the similar files for old axe versions to satisfy yourself that they've been generated consistently and follow the same format.
Review all other code per normal (particularly the new code under /src/test-resources/generator)

Pull request checklist

[x] PR title respects Conventional Commits (starts with fix:, feat:, etc, and is suitable for user-facing release notes)
[x] PR contains no breaking changes, OR description of both PR and final merge commit starts with BREAKING CHANGE:
[n/a] (if applicable) Addresses issue: #0000
[x] Added relevant unit tests for your changes
[x] Ran yarn precheckin
[x] Verified code coverage for the changes made

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix/queryset iterator

@jaddison thanks for working on this!
Codewise it looks to work well. I added a minor note regarding the documentation


Added MojoAuth

ℹ Repository information
The repository has:

[x] At least three issues with the good first issue label.
[x] Detailed setup instructions for the project.
[x] CONTRIBUTING.md
[ x] Actively maintained.

Thanks for the contribution. To ensure quality and standard, we require at least 10 contributors to add your repository to Good First Issue.


Provide Service Capability Annotation

DS Annotations conveniently result in Requirements and Capabilities for Services. This often causes resolver problems, when a DS Components references a Service that is registered manually and the usual solution is to add the Capability manually with something like @Capability(namespace = ServiceNamespace.SERVICE_NAMESPACE, attribute = ServiceNamespace.CAPABILITY_OBJECTCLASS_ATTRIBUTE + ":List<String>=\"foo.bar.Service,fizz.buzz.AnotherService\"").
Thus it would be great to provide a more Specific Annotation like
@ServiceCapability({Service.class, AnotherService.class})

This is slightly more complex than other cases because of the relationship between the objectclass attribute and the uses constraint directive.

the uses constraint directive

Yes, I was going to point out that the example Capability lacks the uses element.
uses={foo.bar.Service.class,fizz.buzz.AnotherService.class}

It seems to me that this is just sugar and not additional functionality.
I was able to author my own ServiceCapability annotation using existing Bnd function:
@Retention(RetentionPolicy.CLASS)
@Target({
	ElementType.TYPE, ElementType.PACKAGE
})
@Capability(namespace = ServiceNamespace.SERVICE_NAMESPACE, //
	attribute = {
		ServiceNamespace.CAPABILITY_OBJECTCLASS_ATTRIBUTE + ":List<String>=\"${#value}\"", //
		"uses:=\"${replace;${#value};(.*)\\.[^.]+;$1}\""
	})
public @interface ServiceCapability {
	Class<?>[] value() default Target.class;
}

To be done in the Bnd annotations project.


Add Sattelite Hub YEI

Connected to Platform Africa so Romeo, Jaiksana and others like @intertwilight might be able to help

https://www.asknet.community/#hubs


cmd/compile: confusing error message for 'a == x && b = y'

package p

func f(a, b string) {
	if a == "a" && b = "b" {
	}
}

$ go tool compile x.go
x.go:4:25: syntax error: assignment a == "a" && b = "b" used as value

The conjunction isn't an assignment; the second conjunct is.

I would like to have a look on this issue.
Could you confirm, the error message with go/types seems more relevant and would be the solution to use in go tool compile

I thought the original error message was pretty good. It is just being applied too broadly. It should read something like:
syntax error: assignment b = "b" used as value
And have its location be that of b = “b”, not of the entire conjunction.

It seems that the parser think the LHS of assignment is a == "a" && b and the RHS is b.

@josharian This is probably a simple fix for binary op:
diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go
index f3c2c60ec8..ae26c4a396 100644
--- a/src/cmd/compile/internal/syntax/parser.go
+++ b/src/cmd/compile/internal/syntax/parser.go
@@ -1888,7 +1888,12 @@ done:
                // further confusion.
                str := String(s)
                if as, ok := s.(*AssignStmt); ok && as.Op == 0 {
-                       str = "assignment " + str
+                       prefix := "assignment "
+                       if lhs, ok := as.Lhs.(*Operation); ok && lhs.Y != nil {
+                               as.Lhs = lhs.Y
+                               str = String(as)
+                       }
+                       str = prefix + str
                }
                p.syntaxError(fmt.Sprintf("%s used as value", str))
        }

not sure it's applied for unary op or not 🤔

I don’t know much about the parser. Maybe mail that as a CL and discuss with mdempsky or gri? In any case it is easier to discuss diffs in a CL.

It seems that "help wanted" is no more required. I let Cuonlm finalize the fix.

Seems not worth to fix as pointing out by @griesemer in https://github.com/golang/go/issues/23385

@cuonglm Since I was already investigating this a bit more, I just sent out at CL.


Add changelog entry for #4562

Adds a changelog entry for https://github.com/alphagov/govuk-frontend/pull/4562

Thanks @owenatgov, we didn't document --govuk-frontend-version either. Do we need to?
For this entry though, do we need to explain that custom Sass $govuk-breakpoints edits will be reflected?

@colinrotherham On the premise of making this a feature changelog, it sorta depends what we want. Are we bothered about users not knowing that we have CSS custom properties? Personally I'm not gonna kick off if we convert this to just a fix and call it a day.

@owenatgov Yeah, it's a fix but probably still needs an entry 😆
E.g. Users that override Sass $govuk-breakpoints will now see Tabs and Header components use them

@colinrotherham I'm fine with keeping the custom props private. Shall we just make it a fix for ease? Just throw in the title of the PR and add it to the fixes list?


Merge Error

Describe the bug
An error occur while merging the develop branch to main
To Reproduce
Steps to reproduce the behavior:

Create a pull request to merge
click commit merge

Expected behavior
All workflow in github ran correctly
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser : Brave
Version: Latest updated version on 8th, 6 2022

Additional context
Add any other context about the problem here.

Error was cause by incorrect syntax in in the workflow file after merge

Fixes:
Correct the syntax on workflow file
Filename :   .github/workflows/docker-image.yml


Does it work on a Windows machine?

Hello,
I wonder if img2img-turbo can work on a Windows machine since I see that triton library is needed. Also, will it work on Python 3.9 or 3.11 instead of 3.10?
Thanks,
Joan

We haven't tested the code on Windows. Feel free to try it.

Hello
Seems to work, here are my findings

You will have to create the outputs folder, or it will fail
md outputs
On windows here is the test command
python src/inference_paired.py --model_name "edge_to_image"   --input_image "assets\examples\bird.png"  --prompt "a blue bird"  --output_dir "outputs"
My system is an uncertain state as I had previously installed python and some packages prior
As per https://github.com/VAST-AI-Research/TripoSR/issues/40  first post instructions
I have created with batch one-liner to test if you have the packages installed
@echo off & for /f "tokens=2* delims=-" %i in (environment.yaml) do ( for /f "tokens=1 delims=<>=@" %j in ("%i") do ( python -c "import sys; exec('try: import %j; sys.exit(0)\nexcept ImportError: sys.exit(1)')" && echo %j: OK || echo %j: missing ) )
Here is my current output on a functionning system
turbo: missing
 pytorch: missing
 defaults: missing
 python: missing
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1
    try: import  pip:; sys.exit(0)
                    ^
SyntaxError: invalid syntax
 pip:: missing
 clip : OK
 einops: OK
 numpy: OK
 open: missing
 opencv: missing
 pillow: missing
 scipy: OK
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
 timm: OK
 tokenizers: OK
 torch: OK
 torchaudio: OK
 torchdata: OK
 torchmetrics: OK
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
 torchvision: OK
 tqdm: OK
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
 transformers: OK
 triton: missing
 urllib3: OK
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
 xformers: OK
 streamlit: OK
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
 lpips: OK
 clean: missing
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
 peft: OK
 dominate: OK
 diffusers: OK
 gradio: OK

Some of these packages have imports different than the package name, for instance opencv-python is called cv2  and triton is in fact tritonclient.http
Also clean-fid is actually called cleanfid because python libs can't have dash in their name, why did they call it clean-fid is beyond me
Also open-clip-torch is called open_clip
You can test for those like this
@echo off & for  %i in (tritonclient.http tritonclient.grpc cv2 cleanfid open_clip ) do ( for /f "tokens=1 delims=<>=@" %j in ("%i") do ( python -c "import sys; exec('try: import %j; sys.exit(0)\nexcept ImportError: sys.exit(1)')" && echo %j: OK || echo %j: missing ) )
Should return
tritonclient.http: OK
tritonclient.grpc: OK
cv2: OK
cleanfid: OK
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
C:\Users\user\AppData\Local\Programs\Python\Python312\Lib\site-packages\transformers\utils\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
  _torch_pytree._register_pytree_node(
open_clip: OK

If you follow the instruction from my previous post
then do
pip install clip numpy open-clip-torch opencv-python pillow timm torch torchdata torchmetrics triton[all] xformers lpips clean-fid peft dominate diffusers
then run
@echo off & for /f "tokens=2* delims=-" %i in (environment.yaml) do ( for /f "tokens=1 delims=<>=@" %j in ("%i") do ( python -c "import sys; exec('try: import %j; sys.exit(0)\nexcept ImportError: sys.exit(1)')" && echo %j: OK || echo %j: missing ) )

@echo off & for  %i in (tritonclient.http tritonclient.grpc cv2 cleanfid open_clip ) do ( for /f "tokens=1 delims=<>=@" %j in ("%i") do ( python -c "import sys; exec('try: import %j; sys.exit(0)\nexcept ImportError: sys.exit(1)')" && echo %j: OK || echo %j: missing ) )

compare the outputs
then run
md outputs
python src/inference_paired.py --model_name "edge_to_image"   --input_image "assets\examples\bird.png"  --prompt "a blue bird"  --output_dir "outputs"
Once you have the bird.png open and confirmed working
You can try the UI by typing
gradio gradio_sketch2image.py
and heading your browser to
http://<IP_ADDRESS>:7860
And yeah, that works great actually

Amazing, I also got it working on Windows 11 and using Python 3.11 !! Thanks for the detailed explanation.


Index creation syntax error

In Step 1.2, Create an Index --> Copy in this URL, I believe the URL should be: https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/indexes/hotels-quickstart?api-version=2019-05-06 so that the index name in the URL matches the index name in the JSON provided in this post.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ee74e59c-d9e3-bd30-fb75-cb9e36587b17
Version Independent ID: ff3e51b1-653c-9cf1-a7d2-6282702690e8
Content: Quickstart: Create, load, and query indexes using Postman and REST APIs - Azure Search
Content Source: articles/search/search-get-started-postman.md
Service: search
GitHub Login: @HeidiSteen
Microsoft Alias: heidist

Hi @sproctor42, Thanks for your feedback! We will review and update this doc accordingly.

@HeidiSteen can you please verify this?

@sproctor42 Thank you so much for reporting this error. I fixed the doc, which will be live later this afternoon (8/8) around 3:00 PST.
@Grace-MacJones-MSFT #please-close when you get a chance.


Application complete - provide a different address

I don't know if we'll be able to modify addresses at this point if the application has been submitted and all the internal messaging has been sent off. It would be easier to not include this functionality, and instead give a contact detail in case someone wants to change it.

Agree, i wouldnt want to verify an address and then send information out to another address

@samuelculley - could we chat what we mean about that

@samuelculley I'm not sure what you mean by "the application has been submitted and all the internal messaging has been sent off". As this a prototype, we haven't specified yet what the back end will do, but when we do, we can say when the data gets sent.

Also, just to say this is important functionality as users may need to get their pass sent to their work or another address they can more easily retrieve it from.

@sanjaypoyzer - I think this would depend on the individual council service risk appetite and also needs to be confirmed by Julian that it's OK from a risk & assurance perspective. If a user can change the address of their pass delivery once the application is complete, there is no physical assurance that the pass will actually be delivered to an address in the council (i.e. potential fraud vector). Other council services don't allow such functionality because this is one way to assure the address is real and w/in the council boundaries.

@irinapencheva Well it's quite easy for the service to be checking that the new address entered at this point is also within the council boundaries. If that's the only reason a council wouldn't want to accept a new address at this point, I don't think that's a real issue.

@sanjaypoyzer I'll check with councils what they accept and will also confirm with Julian

Also then the wording on the below screen would need amend, so let's confirm first what's should be logic from Risk & Assurance point

@sanjaypoyzer - just confirmed with Julian and this functionality should not be allowed at the end because it enables a huge risk vector. This applies for both concessionary travel and parking permits

@irinapencheva How is this a risk? I'm going to need more information than that as it's clearly a valid user need that we should meet.

@sanjaypoyzer - if a user can change their address after the application has been effectively processed, then there is no assurance for the service that they actually live at the address - i.e. I can apply for a permit to an address that fits the councils's eligibility criteria and then change it to anything and ultimately allow quite a lot of fraud.
@EUzkuraityte - is there anything you want to add to the above?
Happy to discuss as part of the daily prioritisation stand-up and maybe chat to Julian on why that's the case.

@irinapencheva @sanjaypoyzer agree with Irina's point. Julian and Alasdair also requested to review the prototypes so might be more issues they pick up on.

@irinapencheva But we still know who the user is. What is actually the fraud scenario we are protecting against here? I still haven't heard a convincing scenario.

@sanjaypoyzer - yes, you might know who I am but then I can: 1. get verified with an address outside of the council 2. change to an address w/in council boundary 3. get confirmation that the pass is processed 4. change my address again at the confirmation page to my 'office address'
(and it really doesn't matter what kind of legal checkbox I've clicked)
Then I can order bus passes cards from +20 councils, get them delivered to my 'office address' and sell them online.
Check with Julian if you're still not convinced but ultimately they've said we can't have this option

@irinapencheva Suggest changing the title of this to "Users need to provide an address that's different from their verified address so that they can receive their permit/pass "

@sanjaypoyzer - again I'm not sure we saw this as a user need from any previous user research at this stage of the transaction (i.e the end of the transaction). Let's discuss in person
I will discuss this with Julian in more detail and will share with you everything we capture around whether it's is a fraud risks

@irinapencheva Whether or not we've seen it in research, it's the assumed underlying user need that this issue is about

OK, will rephrase if that makes more sense although that's not an observed UR.
For the record the issue is currently:
'Users are allowed to provide a different address at the end of the application but this might present a significant fraud risk'

@sanjaypoyzer - I have just spoken to Julian and this is a very clear fraud vector because I can apply based on other people's details and if the letter goes to another address, the genuine user who the application was on behalf of wouldn't even get notified/ know about it.
For parking the fraud vector is somewhat less strong, because the value is limited but it's still not great and needs to be confirmed by services if they're willing to accept this. He has requested that we remove this functionality.
In addition, this is not a user need we've seen in user research and as per the comment from Northumberland address, services don't want to do this.

@irinapencheva Can you set up a meeting with me and Julian to talk about this? I don't understand the fraud scenario from your description.


vague output when testing without xenon.test.properties

When running SSHFileAdaptorTest and the xenon.test.properties file cannot be found, no clear hint about this problem is given. It should be made clear to the user that the properties file is not loaded.
This is the output:
GenericFileAdaptorTest.cleanupClass() attempting to remove: null
11:47:21.890 [Thread-0] DEBUG n.e.xenon.engine.util.CopyEngine - CopyEngine dequeueing copy
11:47:21.906 [main] DEBUG n.e.xenon.engine.util.JobQueues - Creating JobQueues for Adaptor local with multiQThreads: 4 and pollingDelay: 1000
11:47:21.923 [main] DEBUG n.e.xenon.adaptors.ssh.SshAdaptor - Setting ssh known hosts file to: /home/christiaan/.ssh/known_hosts
11:47:21.931 [main] DEBUG n.e.xenon.adaptors.ssh.SshAdaptor - Host keys in /home/christiaan/.ssh/known_hosts
...
11:47:22.035 [main] INFO  n.e.xenon.engine.XenonEngine - Xenon engine initialized with adaptors: [Adaptor [name=local], Adaptor [name=ssh], Adaptor [name=gridengine], Adaptor [name=slurm], Adaptor [name=gftp]]
The output does not contain any information about not finding the properties file. Also the tests don't run at all in this situation:

This is a generic problem for GenericFileAdaptorTest and GenericJobAdaptorTest. Also, gradle check should check for the existence of xenon.test.properties.

The problem is located in GenericTestConfig. This class tries to load a property file that is provided as a parameter. If no file is given, it will try to load $CWD/xenon.test.properties followed by $HOME/xenon.test.properties. If neither of those work it will assume the properties are provided individually on the command line.
 Typical example of automagically doing it wrong ;-)
Two possible options here are:

skip the last bit about properties on the command line and throw exception instead, or
property file must always be provided. Nothing is done automagically.

I'll go for the first one now (easy fix), but we should think about doing the second one instead.

Fixed in cb4500c

The Jenkins setup provide all test properties as system properties from the command line. If we cease support for Jenkins, this fix is fine, otherwise, reading options in from the command line is still needed. I was thinking to do additional checking from the Gradle scripts, it already does some checking but perhaps not enough.

Never mind, I checked the Jenkins setup again and it also reads in from a file. As far as I'm concerned this issue can be closed.

Great. it's closed.


Prepare Zipformer model scripts

Based on this directory https://github.com/k2-fsa/icefall/blob/master/egs/librispeech/ASR/zipformer/train.py

Hi there, I am interested to work on a Malay ASR recipe. Based on my schedule it might take me at max 3 months to get this done.
Are the datasets you plan to use openly available?


User Authintication

Thanks for developing this awesome tool.
I was planning to build a similar library system and eventually found your project.
I would like to know if the user authentication is available here. My plan is to create an online library and users can read the books free of cost but they have to register first. Without the authentication users will not get the access to the books of the library.

That is currently out of the scope of BookBrowser. You would probably want to put BookBrowser behind a reverse proxy with authentication (like caddy with the http.login plugin), or fork BookBrowser.


Create the UI more responsive for small screens

In the smaller screens, the UI is breaking. So need minor improvements in the responsiveness.

I would like to work on it assign me

Great @this-is-shashank-mishra Please continue working on this.
@SahilKumar47 I've assigned this to @this-is-shashank-mishra based on first come first serve.

Hey @this-is-shashank-mishra
Any update? Are you working on it?

@jaideepghosh yups! woking on it, result will be updated soon!

@jaideepghosh a real sorry for inconvenience, you can assign this to @SahilKumar47

@jaideepghosh a real sorry can't work on that, you can assign this to @SahilKumar47 (got some issues with my meachine, commenting here via phone)!


[DOCS] Search is broken

Out of date token?

We're working on getting the search index updated. Thanks!

Hey @tannerlinsley search is again (still?) broken.


feat: add port of vscode cherry theme

Name of theme
Cherry
How Has This Been Tested?
I've run the preview script and tested it out in-app.
Notes
This is a port of the Cherry VSCode theme, which is licensed under the MIT License. I've put a message at the top of the file, which is hopefully considered enough credit.

Thanks @doinkythederp Are you in our Discord server btw?


Reacomicsonline

Steps to reproduce

Enter the extension
Choose a comic
Choose a chapter
Image couldn't load

Expected behavior
Read normally
Actual behavior

Crash logs
No response
Yōkai version
TachiJ2K <IP_ADDRESS>
Android version
Android 12
Device
Galaxy A10
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, or a request for an extension, I should be contacting the extensions repository's maintainer/support for help.
[X] I am reporting an issue exclusive to this fork. I have also checked that is not an issue on the main version of Mihon
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I have filled out all of the requested information in this form.

That's an extension-related issue, go check with whoever/wherever you get your extensions from. Yokai doesn't have, associate, or provide any extensions.

How can I contact them?
El mié., 18 de septiembre de 2024 13:29, Smol Ame @.***>
escribió:

That's an extension-related issue, go check with whoever/wherever you get
your extensions from. Yokai doesn't have, associate, or provide any
extensions.
—
Reply to this email directly, view it on GitHub
https://github.com/null2264/yokai/issues/192#issuecomment-2358920478,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYDRBMWRWIBEEA6INOS3BS3ZXGS65AVCNFSM6AAAAABONYHEPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJYHEZDANBXHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

If you are using old Tachi extensions, those don't have support from anyone, and you will need to either search online for new extensions or search for a guide on getting extensions.
If you can find & receive updates for your extensions, check with whoever/wherever you get said extensions from.

Is the second one. How can I contact them?
El mié., 18 de septiembre de 2024 13:45, Smol Ame @.***>
escribió:

If you are using old Tachi extensions, those don't have support from
anyone, and you will need to either search online for new extensions or
search for a guide on getting extensions.
If you can find & receive updates for your extensions, check with
whoever/wherever you get said extensions from.

—
Reply to this email directly, view it on GitHub
https://github.com/null2264/yokai/issues/192#issuecomment-2358957706,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYDRBMQTQCEGCHRMB6T5SELZXGU4LAVCNFSM6AAAAABONYHEPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJYHE2TONZQGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

How would I know what you use/where you get them from? Ypu probably added it yourself, check your Yokai Settings >  Browse > Extensions repo page & search up whatever you find in there. They'll probably have their own Discord, support page, and/or GitHub page
Don't share it here, cause it's not affiliated to Yokai & for legal reasons.

Please contact the extension maintainer first to get confirmation whether it's an issue with the app or with the extension before creating an issue.


Error on remote site (not local) when dealing with a new SQL table

Has anyone seen this before?  I added a new SQL table to my database and used Sergen to generate the necessary classes/repos/forms etc for it to be added in my app.
This works fine, at least locally.  I can use my Serenity portal to browse and add new records to that table just fine...as long as I'm doing this from localhost.
If I do the same from a copy of the site running in the cloud (Azure, in my instance) I get an error message in serenity stating 'Invalid object name dbo.MyNewTable' whenever I try touching this new SQL table.
I've pointed my local version of the website to the same Azure SQL instance I'm running the cloud site from, and don't get any errors locally.  Only the cloud website has the problem, and I published my website to Azure so that both the cloud and my local box have the same codebase running.
I stopped and restarted the website on the Azure portal, to see if there was a caching issue.  But the error remains.  Does anyone have a guess what might be going on?

@lquantz permissions ? also note dbo...  your azure website has a different identity probably also do you have users in the Azure website and have set in Administration an authorization for that table ?
But permissions is what I would like at as the object is valid - except if you have been denied access in that case it is invalid.

Thans @stixoffire, let me double-check the permissions for that table vs the others.  Nothing comes to mind as to why it would be different, but since it is a new table that's a good area to investigate.

Check migrations are running.

Migrations are running, I commented out the code that might prevent them from doing so and re-published the site.
Same problem as before, works fine locally but on Azure I get that message.  Even when pointing to the same database instances locally and on Azure.

Migrations are running but you don't have the table, doesn't seem logical to me, as long as you didn't version some migrations with same Version

I'm not sure why migrations would affect my tables, as the existing ones are for the users tables and Northwind.  When I first set things up my tables already existed in SQL Server, I ran sergen against them to generate the row/column/form classes, and was on my way.  No migrations code needed.
With this new table I added it to SQL server, ran sergen against it as before, and got the row/column/form classes again, with no new migrations code added.
So I'm not sure how migrations would enter into this, unless Serenity relies on it for all tables for a reason I'm not following?

Nope Serenity doesnt rely on migrations. If so you are not hitting same db.

   The bosses wanted to change the database name to something easier to remember (we had been using an Azure-generated name, like "mydatabase83jsuue") so we made a copy of that db with the new name, and updated the web.config appropriately.
However, being geniuses we neglected to change the VS publish options, so we were still pointing to the old database in Azure when publishing, having forgotten that web.config changes themselves aren't enough in that circumstance.  Now everything works fine, and as Homer Simpson would say:


Use byte length instead of string length to calcular Content-Length

We were calculating string length instead of actual byte length. Some unicode string characters can be larger than a single single byte but would've been counted as a single byte.

Graphql is failing but seems unrelated. Will take a look at it separately.

More details on the bug:
Base writer uses msgpack-lite [1, 2] to encode the spans which encodes them to a (byte) Buffer. Later on, a function in requests.js calculates the length of a request body by calling the .length() method on each child [3]. This works as expected as each child is a byte buffer.
However, the zipkin writer essentially makes the encode operation a noop [4] resulting in each child being a string. Calling .length on string counts each character instead of each byte as one item.
I've patched the length counting function to detect if the contents are strings or byte buffers and count them accordingly. Alternately, we can replace the noop encode method on the Zipkin writer to encode everything to a byte buffer.
1: https://github.com/signalfx/signalfx-nodejs-tracing/blob/master/src/writer.js#L17
2: https://github.com/signalfx/signalfx-nodejs-tracing/blob/master/src/encode.js
3: https://github.com/signalfx/signalfx-nodejs-tracing/blob/master/src/platform/node/request.js#L45
4: https://github.com/signalfx/signalfx-nodejs-tracing/blob/master/src/zipkin/writer.js#L17


Module compiled with Swift 5.5 cannot be imported by the Swift 5.7.2 (Xcode 14)

We have version 2.5.1 of the com-infobip-plugins-mobilemessaging cordova plugin installed and we recently upgraded from xcode 13 to 14, since the new macOS update does not support xcode version 13. However, when we want to generate the ios version, we get the following error: “Module compiled with Swift 5.5 cannot be imported by the Swift 5.7.2 compiler: /Users/xxxxxxx/Library/Developer/Xcode/DerivedData/Finamex-cohignohfbdanucawllrcpcggvfh/Index. noindex/Build/Products/Debug-iphoneos/MobileMessaging.framework/Modules/MobileMessaging.swiftmodule/arm64-apple-ios.swiftmodule”

Hello,
I recommend checking this article - https://github.com/infobip/mobile-messaging-cordova-plugin/wiki/How-to-fix-issue-after-updating-the-version-of-Xcode-(Module-compiled-with-Swift-x.x.x-cannot-be-imported-by-the-Swift-y.y.y)
Feel free to let us know if you need any extra help

Hello @mserranosFX, did provided advice help you? Can we close the issue?

Closing the issue cause there is no activity and no extra help requested.


Client Allocation Request for: melos studio

Client Allocation Questions
Core Information

Name: melos studio
Website / Social Media: https://melos.studio
Region: North America
DataCap Requested: 2TiB
Addresses to be Notarized: f1m27kccz4arnazg2es5hg7siy4kllbqbt7leougy
Notary Requested: IreneYoung

@zonghai-li Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hi @zonghai-li - Thanks for your application. Please answer the following questions to let us know about you, your company, and further information about the DataCap allocation.

Basic Info

What's your name and your position in your company?

Please introduce yourself and your team briefly. How many team members do you have in your R&D or core team? Could you provide several Github accounts or email addresses of them?

For your organization, Please describe its business, its history since inception, registration country, scale, employee counts, operation regions, named executive officers, relevant projects, industry reputation, etc.

4.Please show us some of your web pages, Github, social media accounts such as Twitter, Facebook, Naver blog, WeChat official account, etc. Please include as many relevant details to provide contextual information (with external links) to show your Web3 reputation or external reputation.
5.Please provide your company's business registration license. If you have any presentation documents about your business, please provide them to us. And also could send me via email for privacy concerns. My contact<EMAIL_ADDRESS>

What types of data do you plan to store with the DataCap and how many do you need? Could you please send us some of your sample data?

Regarding the data you intend to store, What’s the original source of those data, and do you have any proof of the ownership or authorization?

Track Record

Has your organization obtained DataCap before? if so, please answer the following sub-questions.

1.1 Please share all the links and recordings of your applications before.
1.2 How about your DataCap usage? Is there any remaining? Is there any information on the deals you've done and the miners you've allocated your DataCap to?
1.3 What was your allocation strategy plan then and how did you execute it?

Are there any disputes open against you from your previous DataCap allocations? If any, please describe any of your honors or disputes in the field of Filecoin.

Allocation Plan

1.Please describe your plan to use the DataCap as detailed as possible, including use case, amount, timespan, geography, storage providers, partners, etc.
2.How many regions do you plan to store the data in?

Do you plan to record your allocation decisions and execution details in public? And how to realize it?

Do you agree to use the DataCap to only store data that abide by local regulations and is in compliance with the recipient miner’s terms of service?

We may further ask some questions and then give an accurate score to the application. Thank you for your cooperation!

What's your name and your position in your company?
Zonghai Li, CTO
Please introduce yourself and your team briefly. How many team members do you have in your R&D or core team? Could you provide several Github accounts or email addresses of them?
Currently we have
For your organization, Please describe its business, its history since inception, registration country, scale, employee counts, operation regions, named executive officers, relevant projects, industry reputation, etc.
Please show us some of your web pages, Github, social media accounts such as Twitter, Facebook, Naver blog, WeChat official account, etc. Please include as many relevant details to provide contextual information (with external links) to show your Web3 reputation or external reputation.
Please provide your company's business registration license. If you have any presentation documents about your business, please provide them to us. And also could send me via email for privacy concerns. My contact<EMAIL_ADDRESS>What types of data do you plan to store with the DataCap and how many do you need? Could you please send us some of your sample data?
Regarding the data you intend to store, What’s the original source of those data, and do you have any proof of the ownership or authorization?

@IreneYoung
Following is the required information:
What's your name and your position in your company?
Zonghai Li, CTO
Please introduce yourself and your team briefly. How many team members do you have in your R&D or core team? Could you provide several Github accounts or email addresses of them?
As a Senior Software Engineer, Leo Lee has devoted himself into the Internet industry for more than 15 years. He is also an expert in Java virtual machine, decentralized chain, smart contact, digital rights management, audio fingerprint, large-scale DB, cryptography and machine learning, who has rich experience in open-source projects. He used to work for Siemens , Aplix (Japan listed company, one of the JVM expert team), Adobe China( in charge of DRM projects). Then he started his own career in the area of machine learning and audio fingerprint AI development. Since 2017, he has been engaged in the development of blockchain technology, familiar with the underlying technology mechanism of various public chains and the development of smart contracts, and now he plays the role of CTO in the Melos team.
Melos.Studio, or Melos is a platform where music creators can co-create music using NFTs. By using NFT as proof of creation, this encourages musicians to publish their “music inspirations” and have others to co-create with. This may be similar to github for music creation.
core team members: https://docs.google.com/presentation/d/1_SdtF8wpa1wn1_gq1VYPUEE6ex72V-cF/edit?usp=sharing&ouid=110729159510648914485&rtpof=true&sd=true
Github acc:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Github are not open, will make available for your view upon request
For your organization, Please describe its business, its history since inception, registration country, scale, employee counts, operation regions, named executive officers, relevant projects, industry reputation, etc.
Melos has a few sections: music nft premier for the initial sale , marketplace for 2ndary sale.
Melos is registered in BVI as Melos Ventures Ltd with Yalu Lin as the director of this entity and also co-founder of Melos project. The developers are across mainland China and Taiwan.
Melos is backed by Binace Labs and Dapper Labs, as well as NGC, Innovion, Multichain and many others.
Soft launch was 6 weeks ago and community has grow to:
Twitter 101,593
Telegram 115,062
Discord 62,029
Medium 29,747
Please show us some of your web pages, Github, social media accounts such as Twitter, Facebook, Naver blog, WeChat official account, etc. Please include as many relevant details to provide contextual information (with external links) to show your Web3 reputation or external reputation.
whitepaper: https://docs.google.com/document/d/15yIS6ILsocA98yb1mzq5aNKaYx-IYQMaQ7BZJ5UIUf0
Website: https://www.melos.studio
Twitter: https://twitter.com/melos_studio
Telegram: http://t.me/melosstudiodao
Discord: http://discord.gg/Wg7Quep8zW
Medium: https://melosstudio.medium.com/
Please provide your company's business registration license. If you have any presentation documents about your business, please provide them to us. And also could send me via email for privacy concerns. My contact<EMAIL_ADDRESS>Memorandum: https://drive.google.com/file/d/19g1KHPSzq8HXOSGmMeilkdvq5EnZvl9N/view?usp=sharing
M&A: https://drive.google.com/file/d/1Ww4R_Dgd9OHgQ_pjgOouAeC3VJZaIyss/view?usp=sharing
CI: https://drive.google.com/file/d/1Ww4R_Dgd9OHgQ_pjgOouAeC3VJZaIyss/view?usp=sharing
What types of data do you plan to store with the DataCap and how many do you need? Could you please send us some of your sample data?
Music audio files: mp3, midi,
Music album cover: jpg, png, gif
Music video file: mp4,
an example: https://www.melos.studio/item/14260638528838398751094687403988426886949060889465873837630799308551360610305
Regarding the data you intend to store, What’s the original source of those data, and do you have any proof of the ownership or authorization?
there are 2 types of music art works that can be uploaded:
Melos provides an online music maker and the music created here are without any copyright issues and can be directly minted into NFTs
offline produced music artworks are uploaded only by whitelisted users. they are certified artists (mostly independent) and they are responsible for the contents created by our terms and conditions. The proof of original creation or ownership may be uploaded when necessary. failure to do so will result in penalty and loss of their NFT assets.
Track Record
Has your organization obtained DataCap before? if so, please answer the following sub-questions.
1.1 Please share all the links and recordings of your applications before.
1.2 How about your DataCap usage? Is there any remaining? Is there any information on the deals you've done and the miners you've allocated your DataCap to?
1.3 What was your allocation strategy plan then and how did you execute it?
N/A, first timer
Are there any disputes open against you from your previous DataCap allocations? If any, please describe any of your honors or disputes in the field of Filecoin.
N/A, nope
Allocation Plan
Please describe your plan to use the DataCap as detailed as possible, including use case, amount, timespan, geography, storage providers, partners, etc.
As described above, Melos platform users upload mainly music files and related music video and/or album covers. We currently store an amount of : 1.5 TB. We intend to partner and use it for the long term. Our users are around the globe. There are no partners yet to use our storage other than our platform users.
How many regions do you plan to store the data in?
to start with, we need host users Spain, Vietnam, India, Russia, the US, China mainland or Taiwan
Do you plan to record your allocation decisions and execution details in public? And how to realize it?
?

Do you agree to use the DataCap to only store data that abide by local regulations and is in compliance with the recipient miner’s terms of service?
Yes

@zonghai-li Thanks for your reply.
The initial score of your DataCap request is 3.
2TiB DataCap are being granted to you. Congratulate!
See more details here: https://docs.google.com/spreadsheets/d/1UYY7AcXMAy376kjqKcCgcwb4-WrTKBEshYgJllNQtlk/edit?usp=sharing
And there are additional questions which needs your further reply. Thanks.
1.What's the number of servers?
2.How long has core members engaged in development?
3.How many miners you intend to store data in?

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzaceag4vky6im5nhmxnkhymqkesqgormn64agz6kpmv3cidlke6qpuua

Address

f1m27kccz4arnazg2es5hg7siy4kllbqbt7leougy

Datacap Allocated

NaNB

Signer Address

f1d4gmpqz3execjj2wvrxuuhvbms5mzh7t7yqrviq

You can check the status of the message here: https://filfox.info/en/message/bafy2bzaceag4vky6im5nhmxnkhymqkesqgormn64agz6kpmv3cidlke6qpuua


mubsub causes retryInterval error

I tried to integrate several socket.io to MongoDB adapters to my Node.js application, like:
https://www.npmjs.com/package/socket.io-adapter-mongo
https://www.npmjs.com/package/socket.io-mongodb
https://www.npmjs.com/package/socket.io-adapter-mongo-replica
All of them uses 'mubsub' module as dependency. At the connection, mubsub gives error
Caught exception: { MongoError: The field 'retryInterval' is not a valid collection option. Options: { capped: true, size: 5242880, retryInterval: 200, recreate: true }

Can you fix it, please?

This looks like a duplicate of https://github.com/scttnlsn/mubsub/pull/55

Merged #55


transaction hashes merkle tree

This PR introduces a merkle tree for transaction hashes of the transactions in an L2 block. It is aimed to reduce the gas cost incurred by a user during finalise-withdrawal and instant-withdrawal. Similarly for requestBlockPayment, isValidWithdrawal. This would mean that the merkle root of the transaction hashes will need to be calculated and stored as part of the blockHash calculation during proposeBlock stage. This can't be submitted to proposeBlock and challenged later because even the correct transactions in an L2 block can be challenged successfully. Transaction data needs to be grounded to block data during block proposal for this reason.
To note:

Gas cost optimisations for proposeBlock can be looked into immediately. I will run some gas costs tests for proposeBlock tomorrow.
Gas Cost optimisations can be done for some challenges where it is sufficient to prove that a transaction is part of L2 block instead of providing all transactions in an L2 block. This will have to be handled in a different scope because this issue was getting bigger
Some code refactoring changes will follow

Other things fixed

Timber class such that it can handle other hashes (sha256, keccak256), timber heights and 0/0x00 values
Bug fixed adversary
Added keccak merkle tree stateless contract
Bug fixed in which commitments were not being marked nullified after creating on chain withdraw transaction
Redundant L2 Block number parameter removed from challenges because it is part of L2 Block already

Test:
From Github actions and running wallet test manually

I think eslint is failing because you have deleted the package-lock.json from wallet/. So it cannot run npm ci

I think eslint is failing because you have deleted the package-lock.json from wallet/. So it cannot run npm ci

Oh yes, that was a mistake, I am pushing it


Update uuid to version 3.0.0

Version 3.0.0 of uuid just got published.
Hi there,
This week a new version of the uuid module got released. The old module which was available by the name node-uuid got deprecated and will show error message upon every install of the module.
To get rid of those install errors I've created this automated pull request. I've run some checks against your code base to test whether you're using one of the deprecated apis, but this isn't the case.
Please test the changes against your code. I didn't run any tests and therefore can't guarantee that it isn't breaking. You can also just close this pr if you don't want to update your module.
In case there's already another pr open to upgrade uuid, I'm sorry for the effort I'm causing.

Basically this pr just removes node-uuid as it isn't used.

Landed in master, thank you


Question: Kafka Config

We are experimenting with AsyncAPI for the use with Kafka. The following is a snippet of our example AsyncAPI document with a few question. Would be great if you could give quick hints if we are missing something.
**channels:**
  kafka.watchdog.heartbeat:
    description: Heartbeat topic
    subscribe:
      summary: Subscribe to watchdog-heartbeat
      operationId: subscribeWatchdogHeartbeat
#How do I specify configuration properties (https://kafka.apache.org/documentation/#consumerconfigs) of my consumer? E.g. maybe we need a specific "key.deserializer" in order to consume messages.
      traits:
        - $ref: '#/components/operationTraits/kafka'
      message:
        $ref: '#/components/messages/heartbeat'
    publish:
#How do I specify configuration properties (https://kafka.apache.org/documentation/#producerconfigs) of my producer? E.g. maybe we need to specify "acks" in order to produce correctly
      summary: Publish watchdog-heartbeats
      operationId: publishWatchdogHeartbeat
      traits:
        - $ref: '#/components/operationTraits/kafka'
#We could have a schema registry in Kafka. Could I link this registry?
      message:
        $ref: '#/components/messages/heartbeat'
#How do I specify kafka-streams application?```

Hey @gexclaude. When documenting kafka-specific properties, you have to use the kafka binding. It's currently under development so feel free to make proposals here: https://github.com/asyncapi/bindings/tree/master/kafka.

We could have a schema registry in Kafka. Could I link this registry?

Sure you can. Should be something like this:
message:
  payload:
    $ref: http://url-to-your-registry.com/your-message-payload.json

Or like this if you're using Avro (however tooling is not yet ready):
message:
  schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
  payload:
    $ref: http://url-to-your-registry.com/your-message-payload.avsc

How do I specify kafka-streams application?

You would have to be more specific with this question :)


An error occurred while installing

Using pipenv version 8.2.6 with a Pipfile containing references to packages that are served from non-PyPi [[source]]s results in a recoverable error. Given a Pipfile like this, where requests comes from the public PyPi and (for the sake of example) secret-sauce comes from on-prem-pypi.company.com:
[[source]]
url = "https://on-prem-pypi.company.com"
verify_ssl = true

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[packages]
requests = "*"
secret-sauce = "==1.2.3"

Running pipenv install results in output like:
Pipfile.lock not found, creating…
Locking [packages] dependencies…
Updated Pipfile.lock (a1679f)!
Installing dependencies from Pipfile.lock (a1679f)…
An error occurred while installing secret-sauce==1.2.3! Will try again.
Installing initially–failed dependencies…
Success installing secret-sauce==1.2.3! — 00:00:00

It seems as though the initial failure was because pipenv failed to find secret-sauce on PyPi, which makes sense, but would it be possible or pipenv to check all sources before emitting the error? It's unsettling to see errors when in fact everything is fine once the appropriates sources are contacted.
Or, perhaps even better and more secure: Is it possible to declare that secret-sauce only comes from on-prem-pypi.company.com to avoid contacting other sources entirely? Without such a declaration, it would be possible for an attacker to claim secret-sauce after-the-fact on PyPi and potentially run unexpected code on systems that expected secret-sauce to be fetched from a different source.
Thanks for a great project!

yes, it's in the documentation: https://docs.pipenv.org/advanced.html#specifying-package-indexes

Ahh! Reading. It's important. Thank you!

Update: The link has been moved to: http://pipenv.readthedocs.io/en/latest/advanced/#specifying-package-indexes

Whoops! Looks like it's moved again. Check out https://docs.pipenv.org/advanced/#specifying-package-indexes

This appears to also happen to VCS dependencies in 2018.05.18.
Is there a way to fix that?
There might be another cause, but I haven't found it yet.

@OrangeDog There is not a real issue here in the first place. What exactly is happening to you?

I get the "Will try again" message for my VCS dependencies, then at the end "Installing initially-failed dependencies" and then they work.
As I said, it might be one of the other VCS-related bugs in the currently released version instead - I'm still investigating.

If they work, there’re no problems. The message is only for courtesy (it is not even a warning) to let you know what happened. There is nothing to fix.

I’m kind of sure this was a race condition of some kind. Either way this technically does work. It might work better in master


Convert Providers screen to Console page

Functional changes:
1. display all providers in one table
2. use only 'Ready' condition to describe the state of the provider
Components created:
1. primary filters component for displaying few (1-3) most important
   filters. The filters are grouped but displayed independently.
2. attribute-value filter implementation for grouping all other filters
   in a space efficient way
3. default filter types:
  a) free text filter
  - substring search based on multiple terms
  - search terms confirmed by 'Enter' key
  b) enum based filter
  - exact match based on checkboxes selected
4. generic table component providing sorting capabilities

Reference-Url: https://github.com/oVirt/ovirt-web-ui/pull/1600
Reference-Url: https://github.com/oVirt/ovirt-web-ui/pull/1592
Reference-Url: https://www.patternfly.org/v4/guidelines/filters#attribute-value-filter

Manage columns visibility and order
Provided functionalities:

toggle column visibility (no restrictions on number/type of columns)
re-order columns using drag and drop

Reference-Url: https://github.com/openshift/console/blob/master/frontend/public/components/modals/column-management-modal.tsx
Reference-Url: https://www.patternfly.org/v4/components/table/react-demos#column-management-with-draggable

@rszwajko can you add a signature so DCO will be happy ?

@rszwajko conflicts ?

The rebased version remains on a separate branch - https://github.com/rszwajko/forklift-console-plugin/tree/providersV3
Unfortunately, it has build problems - it seems that the extension type console.tab/horizontalNav is not recognized.

Forced pushed to rebase on top of PR #64 that was extracted from this  PR.
The previous branch with commits aligned chronologically is available as branch providersV2

Force pushed to extract details page to separate PR - see #69

@sjd78 @rszwajko hi, the missing translation is because of #83 where I updated the i18next library version, I'm reverting the library bump in #84, so the strings should be visible after deleting the empty translations and re-running yarn i18n.


feat: pywal theme

A theme that pulls colors from dylanaraps/pywal.

Oh, also, in terms of screenshots, I'm not really sure what should be done because how it looks depends on the pywal theme.

This repo has is not maintained currently . I'm maintaining a fork shadmansaleh/lualine.nvim #311 . Can you open a pr there and we can take a look . I do like the idea :)


migrations: VersionedRuntimeUpgrade

Closes #13107
Description
Make it easier to write versioned runtime upgrades.
VersionedRuntimeUpgrade allows developers to write migrations without worrying about checking and setting storage versions. Instead, the developer wraps their migration in this struct which takes care of version handling using best practices.
It takes 5 type parameters:

From: The version being upgraded from
To: The version being upgraded to
Inner: An implementation of OnRuntimeUpgrade
Pallet: The Pallet being upgraded
Weight: The runtime's RuntimeDbWeight implementation

When a VersionedRuntimeUpgrades on_runtime_upgrade method is called, the on-chain version of the pallet is compared to From. If they match, Inner::on_runtime_upgrade is called and the pallets on-chain version is set to To. Otherwise, a warning is logged notifying the developer that the upgrade was a noop and should probably be removed.
Example
Example using this for a migration in the Polkadot repo: https://github.com/paritytech/polkadot/compare/liam-versioned-runtime-upgrade-example
Decision not to remove #[pallet::storage_version]
The possibility of removing #[pallet::storage_version] leaving only an on-chain version has been discussed. Although this would be nice, I think it is necessary to keep so that we may correctly set the initial on-chain version of a pallet when it is first initialized.
See https://github.com/paritytech/substrate/issues/14098 for more which I'm planning to work on soon, which appears to require #[pallet::storage_version].
Decision to use From and To rather than just Version (From)
See https://github.com/paritytech/substrate/pull/14311#discussion_r1221399650
TODOs

[x] Add some tests making sure the Inner hooks are called when the version matches, and not called when the version doesn't match
[ ] Test that bytes are passed correctly from pre_upgrade to post_upgrade

Looks good,
I saw the example in https://github.com/paritytech/polkadot/compare/liam-versioned-runtime-upgrade-example
I wonder about usage: instead of using the type in the kusama runtime it should be used to declare the migration with version checked inside the pallet directly, no?
the pallet configuration would expose both VersionedCheckedMigrateToV6 and VersionedUncheckedMigrateToV6:
type VersionCheckedMigrateToV6 = frame_support::migrations::VersionedRuntimeUpgrade<
			V5ToV6,
			parachains_configuration::migration::v6::VersionedUncheckedMigrateToV6<Runtime>,
			Configuration,
			RocksDbWeight,
		>,

Thanks @ggwpez and @thiolliere for your comments. I've addressed them:

Replaced Version with To and From for clearer behavior, and allowing skipping versions
Updated my example on https://github.com/paritytech/polkadot/compare/liam-versioned-runtime-upgrade-example to define UnversionedMigrateV5ToV6 and VersionedMigrateV5ToV6 in the migrations file, and only use VersionedMigrateV5ToV6 in the runtimes

and also written some tests.
Ready to review again when you have some time.

Question: after merging, should we apply this to applicable Unreleased migrations?

The main reason I suggested removing #[pallet::storage_version] is that I envision a single system-like migration pallet (possibly https://github.com/paritytech/substrate/pull/14275) to handle all the things that @thiolliere and @ggwpez discussed, like jumping migrations and so on.
From a DevEx perspective, I still want to suggest finding a way to not do this, as having both the onchain version and the fixed pallet version is not optimal.

Thanks for your comments @kianenigma.

I think it is necessary to keep so that we may correctly set the initial on-chain version of a pallet when it is first initialized.

can be solved in various other ways.

If we don't include the storage version in the pallet, then the only place the current pallet version would exist for a new chain is in the migration itself.
I think that means that to ensure the on-chain version is set correctly we would need to

tightly couple at least the latest migration with the pallet
on initialization, use the To version on the latest migration to init the on-chain version
potentially, this could handled by Oliver's new Migrations pallet

since migrations are tightly coupled with the pallet, the Migrations pallet could automatically check and execute these upgrades rather than us needing to list them in the Executive Migrations tuple

Is that close to what you're thinking or did you have something else in mind?

From a DevEx perspective, I still want to suggest finding a way to not do this, as having both the onchain version and the fixed pallet version is not optimal.

Huh, I never thought about that.
So how would we ensure that the latest migration is not forgotten to be included in the runtime?
By exposing some new Migrations type in each pallet that is then picked up by the migrations pallet?
Does sound more complicated than the current approach to me… with the new checks we already have the guarantee that no migration can be forgotten to be included. Although i am not sure how this check behaves in the presence of MBMs.

I think it is necessary to keep so that we may correctly set the initial on-chain version of a pallet when it is first initialized.

can be solved in various other ways.

AFAIK the current was is that there is no version until one is needed. So it only has to be set once we actually need it for a migration.

Got it. Yeah pallet::storage_version is only used in VersionedRuntimeUpgrade as a trivial sanity check in try-runtime pre-upgrade. I'll just remove the check since we plan on deprecating pallet::storage_version, that way there'll be no dependency.

In the code-base, there is an ever-growing list of migrations. Imagine all migrations from all pallets are always passed to Executive, for as long as we maintain them.

This means we add tons of junk code to the runtime of which 99% isn't needed anymore. I don't see any reason why we should do this. This just increases the runtime size for nothing.
It would be much better to write some tool that generate you the list of required migrations than doing this, IMO.

on initialization, use the To version on the latest migration to init the on-chain version

This just a bad "magical trick". You pretend to remove something "storage_version", but at the same time introduce the requirement to declare the latest migration. Is see no difference.

since migrations are tightly coupled with their pallets, the Migrations pallet could automatically check and execute these upgrades rather than us needing to list them in the Executive Migrations tuple

I didn't yet looked into what @ggwpez is doing. However, I have the hope that this is just an extension to the minimal migration system. I mean we can go this route, but then this new pallet isn't a pallet and more "frame-migration-system" that is an integral part of a runtime like frame-system.

This means we add tons of junk code to the runtime of which 99% isn't needed anymore. I don't see any reason why we should do this. This just increases the runtime size for nothing.

We would only need to retain the most recent migration in the runtime

This just a bad "magical trick". You pretend to remove something "storage_version", but at the same time introduce the requirement to declare the latest migration. Is see no difference.

I think a difference (and what I think Kian is hoping to achieve) is removing the requirement for us to maintain the latest storage version in two places: once in the pallet, once in the latest migration. Instead, the pallet storage version could be inferred from the latest migration and we wouldn't have the annoying issue of needing to bump it anymore in the pallet, or people forgetting to bump it when they write a migration - single source of truth for the version.
However there are tradeoffs to consider, including: it could potentially result in misconfiguration where teams unfamiliar with this system don't realise they need to include the latest migration when instantiating a pallet, causing their runtime to incorrectly init the on-chain version to 0 instead of N. In that regard, keeping pallet::storage_version + including strong safeguards (like failing on-runtime-upgrade if pallet::storage_version is < a migration To version) may be simpler to understand and harder to mess up, but not as theoretically as clean as it could be.

I didn't yet looked into what @ggwpez is doing. However, I have the hope that this is just an extension to the minimal migration system. I mean we can go this route, but then this new pallet isn't a pallet and more "frame-migration-system" that is an integral part of a runtime like frame-system.

This was just a random suggestion about how it could theoretically work, it's def not planned.

I dont think pallet::storage_version should be removed, and I dont think that is what @kianenigma meant.

I dont think that is what @kianenigma meant, or?

It was first raised as something to consider here https://github.com/paritytech/substrate/issues/13107#issuecomment-1488548489, and again in this PR https://github.com/paritytech/substrate/pull/14311#issuecomment-1586860496

This means we add tons of junk code to the runtime of which 99% isn't needed anymore. I don't see any reason why we should do this. This just increases the runtime size for nothing.

My aspiration in keeping this "junk" around is that at least from what I recall, maintaining the "correct list of migrations" for each runtime/release was rather hard. I see that nowadays we have a type Unreleased = (...) that is kinda better. Perhaps I am acting too much on the PTSD of the old days :))

I dont think pallet::storage_version should be removed, and I dont think that is what @kianenigma meant, or?

I am indeed convinced that storage_version should stay, to be best of my knowledge.

I see that nowadays we have a type Unreleased = (...) that is kinda better. Perhaps I am acting too much on the PTSD of the old days :))

Yea we can delete them once they were enacted on-chain.
That is what this Unreleased etc helps with. So we can check the on-chain version and then clean up all the old ones.
The difference is that we remove them after enactment - not after a release.

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3035674

Looks mostly good. Probably have to try it to find the sharp edges.
Do you think we can make this experimental?

Sure, have we decided on an experimental feature flag?

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3036004

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3036169

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/3036170

Sure, have we decided on an experimental feature flag?

https://github.com/paritytech/substrate/issues/14345#issuecomment-1594827630

@ggwpez could you please double check I set this as an experimental feature correctly?

I think we still use the C* labels for release priority. So anything that is not a hot/security fix is "low".

bot merge


[BrokenLinksH2] Fixed the link path

Deactivated the Example link

Docs Build status updates of commit 039514b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Odata-docs/webapi/built-in-routing-conventions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Global effort to fix broken links
@xuzhg
The Content & Learning team is fixing broken links on docs.microsoft.com for the rest of H2. This effort will eliminate potential accessibility, security, and usability issues. This PR includes only link fixes and does not change other content. I’d very much appreciate your timely review and feedback on the link changes I’ve suggested. Thanks!


Set resources exclusive in deployment

It should be possible to lock a resource, to be unavailable for future deployments after the current deployment is terminated.

[x] Add is_lockable flag to resource entity. This is used to set a resource to be lockable for deployments
[ ] Add check for locked resources at beginning of any deployment
[ ] Lock resource during deployment
[ ] Unlock resource after termination

Added:

is_lockable to resource
update resource operation to update the new field

Added:

check if resource is locked
lock resource during deployment
unlock resource during termination and if an error occures during deployment

Added:

Lock resources functionality to gui
listLockedResourcesByDeployment endpoint
Display all resources that are locked in the deployment details gui