text:
Town of Gander, NL, CA

Justin,
No, we do not have GIS Shape files, but we can create them from our AutoCAD Mapping files.
Regards,
Scott Blundon, C.Tech
Engineering Technician
Engineering Department
Town of Gander
100 Elizabeth Drive, Gander, NL A1V 1G7
Tel: (709) 651-5913
Fax: (709) 256-5809
Email: sblundon@gandercanada.com
Web Site: www.gandercanada.com

Justin,
I have been out in the field the past couple of days and will be for the remainder of the week, however I did speak with my Director and he had just a simple question, out of curiosity why do you require the address points?
Regards,
Scott Blundon, C.Tech
Engineering Technician
Engineering Department
Town of Gander
100 Elizabeth Drive, Gander, NL A1V 1G7
Tel: (709) 651-5913
Fax: (709) 256-5809
Email: sblundon@gandercanada.com
Web Site: www.gandercanada.com

just sent another follow-up e-mail

Justin,
I apologize for not getting back to you sooner, I have been extremely busy trying to clue up our Capital work before the snow sets in, and of course James B. has been in meetings in and out of Town. I am still waiting on a decision from him at this point. I will have an answer by the end of the week.
Regards,
Scott Blundon, C.Tech
Engineering Technician
Engineering Department
Town of Gander
100 Elizabeth Drive, Gander, NL A1V 1G7
Tel: (709) 651-5913
Fax: (709) 256-5809
Email: sblundon@gandercanada.com
Web Site: www.gandercanada.com

Justin,
Please see attached shape files for address point within the Town of Gander and also a site map.
See link to our GIS system: http://geonl.net/mapguide/GanderPublic/
This link will help you in other areas.
Regards,
Scott Blundon, C.Tech
Engineering Technician
Engineering Department
Town of Gander
100 Elizabeth Drive, Gander, NL A1V 1G7
Tel: (709) 651-5913
Fax: (709) 256-5809
Email: sblundon@gandercanada.com
Web Site: www.gandercanada.com

https://www.dropbox.com/sh/xlrr3ay3iy5rz8k/AAAc2QwBIgwVClzdkuiXKBzUa?dl=0

Bad news :( The data only has a single attribute field for all the data with LAYER=Short Legal.
Maybe a bad export on their end?

yikes! Sorry about that, I should have looked at the data before I uploaded it. I just emailed him and asked for the attributes.

sent a second follow-up e-mail

this is what he sent me... https://www.dropbox.com/s/0kujqlcmd3221y8/ADDR_SCOTT.zip?dl=0
addresses got cut off, and that is all they have... should we do some manual work on this and get the full name in here and proper address number?

Justin,
We do not have the full addresses due to the database that has been created within CAD and our internal system. Yes, that is correct for YEAG-059 being 59 Yeager Street. Sorry for the inconvenience.
Regards,
Scott Blundon, C.Tech
Engineering Technician
Engineering Department
Town of Gander
100 Elizabeth Drive, Gander, NL A1V 1G7
Tel: (709) 651-5913
Fax: (709) 256-5809
Email: sblundon@gandercanada.com
Web Site: www.gandercanada.com

authors: ingalls justinelliotmeyers

repo: openaddresses/openaddresses


text:
GUIDE: Using GLIDE in pipenv instead of pip

I've created a guide for people who have moved on to the more advanced pipenv instead of basic pip.

Install Pipenv and Pyenv on your system so that both tools are available. Pyenv is optional but is required for fetching the correct version of Python on-demand. But if you're reading this, you're probably a chad that has both tools already!

Create a new, empty project folder. Then navigate to it in a terminal window.

Run the following command to initialize a pipenv virtualenv with Python 3.9 (that's, as of this writing, the newest version that PyTorch supports).

pipenv install --python=3.9

Now you need to choose command based on what GPU you have. Note that the command will take a VERY long time to install, because it will download multiple versions of the 1.7 GB large PyTorch archive (for me it took 30 minutes on a 100mbit connection, and downloaded 16 GB). This is PyTorch's fault for using a non-standard repository format and a non-standard package versioning system (the "+cu113" junk), which means that Pipenv has trouble figuring out what to do (since Pipenv only follows Python PEP standards for how repositories should look), so it grabs everything that matches the query. Which is all architectures... (If you're on Linux, just check du -h ~/.cache/pipenv and you'll see that it's downloading gigabytes of packages...)

If you use an Ampere NVIDIA GPU (RTX 30x0 series or newer), or your CUDA version is 11.x or newer (check with nvidia-smi in a terminal) then use this repository (which uses CUDA Toolkit 11.3), since those modern GPUs require that applications be based on CUDA Toolkit 11.x.

pipenv install --extra-index-url https://download.pytorch.org/whl/cu113/ "torch==1.10.1+cu113"

If you use an older NVIDIA GPU (before Ampere), you may have to use this repository instead (which uses CUDA Toolkit 10.2):

pipenv install --extra-index-url https://download.pytorch.org/whl/ "torch==1.10.1+cu102"

When these versions are updated by PyTorch in the future, you'll have to open the repo URLs in a web browser and see if a newer version is available, and then use its exact name including the +cu### part... To find out the latest CUDA toolkits they're offering support for, go to https://pytorch.org/ and look at the CUDA versions they offer, and then modify the repo URLs above accordingly (/whl/ is the standard "old/stable" CUDA Toolkit, and /whl/cu113/ is the currently newest version 11.3 but it will change later). I really wish that PyTorch could properly name their packages and set up proper repos instead, but they don't, so we're stuck with this solution of specifying exact versions and repo paths. If we don't include +cu### in the version, then pipenv downloads older CUDA toolkit versions of the packages instead, so beware and be careful.

Also note that if you ever see a PyTorch repo URL that ends in <something>.html then you need to delete that HTML filename because that's PyTorch's oldest, pip-only repo format which is a HTML document that mashes together all versions of the packages (CUDA, CPU-only, etc) which makes it completely impossible for Pipenv to even figure out which architecture to download... PyTorch implemented the newer PEP 503 indexes, but only on URLs that don't point at any HTML page..

If someone doesn't have a NVIDIA CUDA GPU, there are versions with +cpu in the name in the /whl/ repository, such as:

pipenv install --extra-index-url https://download.pytorch.org/whl/ "torch==1.10.1+cpu"

You also need to install Numpy.

pipenv install numpy

Next, clone the GLIDE library repo into a subfolder:

git clone https://github.com/openai/glide-text2im.git lib/glide-text2im

Tell Pipenv to install the "local library" (GLIDE). This will automatically detect your Pipfile in the parent folder and will add it to your Pipfile too. Note that this command must be run from the directory that the Pipfile is in, because it will treat the -e <path> as a relative path from the current working dir. I suppose you could provide a full, absolute path. But we'll do relative here. Oh and this command takes a while since it downloads dependencies.

pipenv install -e ./lib/glide-text2im

Create a subfolder for your own Python project files:

mkdir src && cd src

Now simply create your Python files in src/, "import" the library as seen in GLIDE's examples, and have fun. You're able to use the code from the Notebook example files that GLIDE has provided.

Running your code in the pipenv (virtualenv) must be done with a special command, so that it loads the Python version and virtualenv libraries that you've installed:

pipenv run python <yoursourcefilehere.py>

Small bonus guide: Converting the *.ipynb "Notebook" files to normal scripts.

Install the necessary tools for the conversion.

pipenv install jupyter nbconvert

Navigate to the glide-text2im directory in a terminal:

cd glide-text2im/notebooks

Convert all notebooks to Python files:

pipenv run jupyter nbconvert --to script *.ipynb

Now you can move those .py files out of there and into your src/ folder as a basis for your own project.

Bonus: If someone wants a full, more detailed guide about installing PyTorch in Pipenv correctly, then you can find that guide here:
https://github.com/pypa/pipenv/issues/4961#issuecomment-1045679643

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool

Describe the bug
import openai

# Set your API key
openai.api_key = 'sk...'  # I have filled in my own keys for this
# Example OpenAI Python library request
MODEL = "gpt-3.5-turbo"
response = openai.ChatCompletion.create(
    model=MODEL,
    messages=[
        {"role": "system", "content": "你是一个乐于助人的助手."},
        {"role": "user", "content": "咚咚."},
        {"role": "assistant", "content": "是谁？"},
        {"role": "user", "content": "橙."},
    ],
    temperature=0,
)

print(response)

I'm sure

My server is from the United States, there are no regional restrictions
I have tested several servers, but the result is the same

1. The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/work/code/github/image_ai/main.py", line 34, in <module>
    response = openai.ChatCompletion.create(
  File "/home/V01/extittivns03/.pyenv/versions/3.10.10/lib/python3.10/site-packages/openai/api_resources/chat_completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "/home/V01/extittivns03/.pyenv/versions/3.10.10/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "/home/V01/extittivns03/.pyenv/versions/3.10.10/lib/python3.10/site-packages/openai/api_requestor.py", line 216, in request
    result = self.request_raw(
  File "/home/V01/extittivns03/.pyenv/versions/3.10.10/lib/python3.10/site-packages/openai/api_requestor.py", line 528, in request_raw
    raise error.APIConnectionError(
openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f4c743e5de0>: Failed to establish a new connection: [Errno 101] Network is unreachable')

2. The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    response = openai.ChatCompletion.create(
  File "/home/ubuntu/.local/lib/python3.8/site-packages/openai/api_resources/chat_completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "/home/ubuntu/.local/lib/python3.8/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "/home/ubuntu/.local/lib/python3.8/site-packages/openai/api_requestor.py", line 226, in request
    resp, got_stream = self._interpret_response(result, stream)
  File "/home/ubuntu/.local/lib/python3.8/site-packages/openai/api_requestor.py", line 619, in _interpret_response
    self._interpret_response_line(
  File "/home/ubuntu/.local/lib/python3.8/site-packages/openai/api_requestor.py", line 674, in _interpret_response_line
    raise error.APIError(
openai.error.APIError: HTTP code 502 from API (
<title>502 Bad Gateway</title>

502 Bad Gateway

nginx

To Reproduce

run code

Code snippets
No response
OS
ubuntu 20.04 tls
Python version
python 3.8 3.10
Library version
openai-python V0.27.2

Hey @InfernalAzazel, thanks for writing in.
Unfortunately I'm not able to replicate this issue. I'd recommend you double check your network configuration for anything that might restrict access to our API.  If you have any details that might help me track down the source of the issue, I'd be happy to look again.

Hey @InfernalAzazel, thanks for writing in.
Unfortunately I'm not able to replicate this issue. I'd recommend you double check your network configuration for anything that might restrict access to our API. If you have any details that might help me track down the source of the issue, I'd be happy to look again.

I know the reason. The machine in my office is filtered. This is not a problem with the openai api.

authors: InfernalAzazel hallacy

repo: openai/openai-python

license: mit

license_source: bigquery


text:
A problem in VPG

Why store the experience before excuting the action with a fake reward in the first step of each episode?

This feels weird to me too, it goes obs_0, act_0, rew_1, obs_1, act_1.....
So i feel like it should buf.store(..) after env.step() ?

This feels weird to me too, it goes obs_0, act_0, rew_0, obs_1, act_1.....
So i feel like it should buf.store(..) with the reward from env.step() (but not the observation). This way the reward is associated with the action that caused it?

I agree with you. We can do some experiments to verify it.

Same issue as #50, and I believe that this is in fact a bug. It doesn't break the math---it is equivalent to delaying a reward by one timestep, which makes the credit assignment problem slightly worse and makes an otherwise fully-observed environment into a partially-observed environment---but it may cause minor performance degradations.
I will hopefully land a patch in the not-distant future that includes a fix for this. However, when I ran some preliminary tests including the fix, I didn't see any substantial change in performance. Heistant to push the change until I have a full benchmark of the newest version (I want to make sure that the graphs on the Benchmarks page are always accurately tied to a code commit---all results must be reproducible).

Appreciate the answer. Thanks

@jachiam

It doesn't break the math---it is equivalent to delaying a reward by one timestep

It also makes you throw away the last reward (you replace it with 0 at the start), so if your trajectory is length N (state-action pairs), you only keep N-1 rewards.
Whether it is (in)significant bug, depends on what you want to do. For example, in my case, it is important to know the instantaneous reward function r(s,a). Even if it was not given to us (while often it is), it would be easy to learn it, but only if the arguments (s,a) are known, which is not the case in your implementation, since the values are shifted by 1.
Regardless of this issue, thank you very much for your work! I find the spinningup implementation by far the most useful (in comparison to other implementations of TRPO/PPO) due to its orderly structure and helpful comments. Great work!

Has the patch been applied ?

any update on this? It's very confused....

authors: HareshMiriyala andersahp jachiam scotthuang1989 underactuated zhaoyingnan179346

repo: openai/spinningup


text:
Bf16 with tl.dot and tl.atomic_add

Currently some triton primitives like tl.dot and tl.atomic_add don't work with bf16. The straightforward workaround would be to convert to fp16 and cast it back. But that is a non-trivial performance overhead. Are there any planned updates or alternative strategies that could facilitate operations with bf16 data types using these primitives?
Thank you!

The last PR was rejected https://github.com/openai/triton/pull/2708

authors: HeyangQin bhack

repo: openai/triton


text:
Copy IPMI tool is called for each execution of IPMI RAW/Standard command

Currently in ipmi_client.robot, Whenever there is a IPMI raw/standard command method is called, each time copy ipmi tool is called. Suggestion is to move copy ipmi tool under connection_client.robot

Let keep the IPMI related as it is to be under ipmi_client.robot.. in that way it would be cleaner to maintain and impact would be less as compared to connection_client which is for generic SSH to BMC/LPAR/SCP ...

We may not be doing any changes here if we bit recipe to generate ipmitool.  Place holder as of now.

IT may be duplicate.

As we no longer planning to use internal IPMITool, I am closing this.

authors: gkeishin sivassrr

repo: openbmc/openbmc-test-automation


text:
RFC:User Switching

Summary
We've identified a need to support multi-user logins to allow for driver switching to be reflected in the HOS Consumer application when querying HOSContract.METHOD_GET_HOS and detect a change in KEY_HOS.
When a single app is acting as both Identity provider and HOS provider, the active driver can be unambiguously signaled to consuming apps via the isDriving property available as part of the Identity contract.
However, there is currently no way for an HOS consumer to determine which driver is active (in a legal and ELD sense) in the case where the ELD app is providing HOS information but chooses to consume Identity information, for example, as part of an single sign-on setup. This is relevant in cases where a third party app C is providing Identity information to a workflow app A and an ELD app B, as well as the case where workflow app A consumes HOS from ELD app B, and app B consumes Identity from app A.
To support this the Consumer App (Eleos) will need to know the Active Driver's username when the Active Driver changes. This username must match the provided IdentityContract.DriverSession.username during the IdentityConsumers(ELD app) query METHOD_GET_LOGIN_CREDENTIALS.
Proposed Changes
Data
Add username within the HOSContract.HOSData structure
{
  "clocks": [],
  "logoutAction": "",
  "manageAction": "",
  "username":""
}

Unfortunately, this change would require a new version of HOSStatus as discussed in this commit because Parcel does not play nicely with newly added variables unrecognized by the system receiving the Parcel
This leaves us with two options:

Create an HOSStatusV3 that extends Parcel and is behind a new HOSContract.version and send/receive this data via Bundle.putParcel/Bundle.getParcel
Create an HOSData/ClockData/TeamHOSData purely as a data object and send/receive this data via Bundle.putString/Bundle.getString where each is converted to JSON before passing along to the HOS Consumer

Option 1 provides consistency with upgrade versions/naming however any future changes to this structure will require new Class names and versions along with additional work to continually support/check previous versions and use the designated class file.
Option 2 provides us a single version of HOSData/HOSClock/HOSTeamData that can be upgraded in the future without having to create a new named Class and should make backwards compatibility easier on Consumer/Providers alike.
For long term support and less friction for both Consumer/Provider we would prefer to go with Option 2 and we have provided a pull request to show the work around these changes.
Sample Provider Bundle call
From the provided Java object
//Build the HOSData object
HOSData hosData = createHosData();
result.putString(HOSContract.KEY_HOS, gson.toJson(hosData));

Or straight from JSON itself
String jsonData = getHOSJson() //Provider generated
result.putString(HOSContract.KEY_HOS, jsonData);

Sample Consumer Bundle call
HOSContract.HOSData hosData = gson.fromJson(result.getString(HOSContract.KEY_HOS), HOSContract.HOSData.class);

@pnc @treverthomasET We prefer option 2 with continued parcel support for v0.3. Although it will require a bit more maintenance on our end, we hope this will prevent any incompatibilities between our app's version and any HosConsumer app version. So we'll respond with an HosStatusV2 Parcel only when the request targets v0.3, and respond with the JSON described in #24 for v0.4+ requests. Does this work for you?

@BoKlassen That works for us. Appreciate the feedback!

Hello, I after a change in structure, I am taking over point of contact from @ZonarTimH as Tim is in a different role within Zonar. I'm essentially the new Tim- I've been at Zonar for 7 years and am a former Android Developer here. I can provide a direct contact email address via DM as proof if required.
I prefer the JSON bundle via putString as it is more futureproof. Parcelable and Serializable objects are to be avoided and allow for no user-level error handling, crashing in the SDK at the first sign of compatibility.
I would not necessarily recommend Gson, though it is essentially an industry standard. If you wanted to compact the size of the library, I would instead recommend https://github.com/square/moshi as we've found it only adds 500Kb of weight to an application or library.

@Jargle Hello there!
It sounds like we are all in agreement that Option 2 (JSON route) is the path forward. I will then close this RFC and merge my open PR on Monday the 18th of December.

I would instead recommend https://github.com/square/moshi
The reference for Gson is really just an example in case anyone is coming here for their first implementation of the HOSContract. Providers/Consumers can use their choice of JSON library as long as the data being sent matches the contract. Sorry for the confusion!

@treverthomasET I was testing our OpenCab v0.4 integration with the com.eleostech.qa app, version 1.55 (20103) and feel the expectation is not 100% clear here.
This is the structure I understood from your previous comment, which is not working. The outer object is a Java Parcel and the KEY_HOS and KEY_TEAM_HOS keys each contain stringified versions of the JSON within.
{
    KEY_HOS: {
        "hosData": {
            // HosStatusV2 for driver
            "clocks": ClockData[],
            "logoutAction": "",
            "manageAction": "",
            "username":""
        }
    },
    KEY_TEAM_HOS: {
        "teamHosData": [
            // ... HosStatusV2 for each coDriver
        ]
    }
}

After some trial and error, I found that the same structure works when the hosData and teamHosData intermediate objects are removed. The KEY_HOS and KEY_TEAM_HOS values are still stringified versions of the JSON values within
{
    KEY_HOS: {
        // HosStatusV2 for driver
        "clocks": ClockData[],
        "logoutAction": "",
        "manageAction": "",
        "username":""
    },
    KEY_TEAM_HOS: [
        // ... HosStatusV2 for each coDriver
    ]
}

I'm guessing this is the correct structure you were trying to communicate since the PR's code seems to agree. Can you confirm that this is the correct format for v0.4?

@BoKlassen Ah yes you are correct. That appears to have been a slip on my part and I apologize. My only correction to what you've listed above is:
{
    KEY_HOS: {
        // HOSData for driver
        "clocks": ClockData[],
        "logoutAction": "",
        "manageAction": "",
        "username":""
    },
    KEY_TEAM_HOS: [
        // ... HOSTeamData for each coDriver
    ]
}

Just to clarify to use the new HOSData and HOSTeamData for their corresponding keys.

@BoKlassen I edited my above statement as it seems there was confusion on the Team HOS Data object. When I responded I left out that the KEY_TEAM_HOS does need the intermediate object teamHosData otherwise it won't properly capture when deserializing.

For future readers, here is the format that worked
{
    KEY_HOS: {
        // HOSData for driver
        "clocks": ClockData[],
        "logoutAction": "",
        "manageAction": "",
        "username":""
    },
    KEY_TEAM_HOS: {
       "teamHosData": [] // List of HOSData for each coDriver
    }
}

Note that KEY_TEAM_HOS is an object and teamHosData is the only array.
CC @treverthomasET

@BoKlassen Sorry for the miscommunication there and for any extra work you had to do on your end to track down this issue. Reaching out to see if there's anything else you've ran into along the way? Or if you had any questions?

The 0.4 transition was smooth after this hiccup. Thanks for checking in.

authors: BoKlassen Jargle treverthomasET

repo: opencabstandard/opencab


text:
Fix security config to actually make /tobira/version public

This was the intention all along, but apparently no one tested it and the two entries were in the config in the wrong order.
How to test this patch
curl https://develop.opencast.org/tobira/version -v

-> 302 redirect to login page
With this page:
curl localhost:8080/tobira/version

-> {"version":"1.6"}
Your pull request should…

[ ] have a concise title
[ ] close an accompanying issue if one exists
[ ] be against the correct branch
[ ] include migration scripts and documentation, if appropriate
[ ] pass automated tests
[ ] have a clean commit history
[ ] have proper commit messages (title and body) for all commits
[ ] explain why it needs to be merged into the legacy branch, if it is targeting the legacy branch

Per discussion in the technical meeting, this may become important within the next year for Tobira work.  Since we're modifying the config files this would normally be barred from going into not-develop, but...

Opencast's functionality is unaffected regardless of patch application or not
It's a easily applied change to the config file

@KatrinIhler @lkiesow thoughts?  Objections to moving this into something earlier?

No objections from me.

I think so. This one won't hurt regardless of whether it's applied or not.

source: gharchive/pull-request

repo: opencast/opencast


text:
MH-13468, Capture Agent Registration Exception

When switching from a lazy capture agent state update to a new, accurate
one for pyCA which would cause the agent to first register itself as
offline and once it is available (which can be really fast) stating it's
status as idle, I noticed that Opencast will often fail if two agent state
requests are handled concurrently.
In short, what happens is that for both requests, Opencast (or rather
the Java persistence code) decides to use an SQL insert statement,
ultimately causing a primary key conflict for the slower one.
This patch fixes the problem by catching the conflict and repeating the
process, now being certain that the resource already exists which causes
an SQL update to be used instead.
Note that the underlying eclipselink library still logs a warning when
this problem occurs.

Doesn't this run the risk of an infinite recursion if there is some other issue causing this?

Shouldn't happen with the current code but I see your point of it being somewhat dangerous if e.g. someone modifies the code. Added a maximum number of retries.

authors: gregorydlogan lkiesow


text:
Added attributes to process_instruction in lib.rs

Issue: 16
Short description of what this resolves:
Changes proposed in this pull request and/or Screenshots of changes:

Nice work @Finesse-734 . All the best and keep contributing.

repo: opencodeiiita/SolMintNFT


text:
Host collective for event

Fixes https://github.com/opencollective/opencollective/issues/510

Coverage decreased (-0.03%) to 77.973% when pulling fdfe0fb61e33aced313485c101b5af09b5bf8604 on hostCollectiveForEvent into 26e21e2e92e8a8efe5fdb0f9ff0901304d259c4a on master.

authors: coveralls xdamman

repo: opencollective/opencollective-api


text:
Proposal: Kill matching funds

Acknowledging

That maintaining code for a feature always takes time (eg. tests need to be updated, bugs...)
That unmaintained features can contain security issues, or be a vector for privilege escalation
That the bigger/more complex the code base, the harder it is for newcomers to get on board

And regarding the fact that...

Matching funds has been dead since we deployed the new contribution flow (~6 months now)
No one complained about it or asked for this particular feature (to my knowledge)
Gift cards somehow fills the same needs of companies giving next to individuals
It may not be too hard to re-implement with fresh code if needed in the future
The feature hasn't been a success overall (see data below)

Data: all matching funds currently on Open Collective (active + inactive)

SELECT c.slug AS from_collective, pm.name, pm."expiryDate", FORMAT('$%s', COALESCE(SUM(t.amount), 0) / 100) AS total_matched
FROM "PaymentMethods" pm
INNER JOIN "Collectives" c ON c.id = pm."CollectiveId"
LEFT JOIN "Transactions" t ON t."PaymentMethodId" = pm.id
WHERE matching IS NOT NULL
GROUP BY c.id, pm.id

from_collective
name
expiryDate
total_matched

xdamman
Matching Fund #BrusselsTogether
2018-01-02 01:00:00
$11

xdamman
Matching Fund Open Collective
2018-01-01 01:00:00
$132

opencollectiveinc
Matching Fund for Open Collective Paris
[NULL]
$0

opencollectiveinc
Matching Fund for Open Collective UK
[NULL]
$0

opencollectiveinc
Matching Fund for Open Collective Europe
[NULL]
$0

notationcapital
7212
2018-03-10 01:00:00
$102

I propose that
We kill the matching fund feature entirely:

Remove all references left in the frontend (homepage/marketing included)
We remove all the code for it from the API

Resolve https://github.com/opencollective/opencollective/issues/1323

Ok for me. We can always revive that flame once we have a concrete demand from a large donor.

+1

Thanks for the quick feedback, this is now in my TODO.

authors: Betree piamancini xdamman

repo: opencollective/opencollective


text:
New Collective Page Feedback

This issue is where we will be collecting feedback from the team and community about the newly redesigned Collective page.

French and Spanish localization use a 5 instead of a $ when listing contribution amounts in the "Top financial contributors" section.

Seems like a lot of collectives will be surprised many of their tiers link to a stand-alone page.
The pages look a bit incomplete and need a bit of improvement to the text formatting right out of the box -
https://opencollective.com/babel#section-contribute
https://opencollective.com/babel/contribute/gold-sponsors-1906
https://opencollective.com/babel/contribute/base-support-sponsor-3790
Guess this is the ‘Force standalone page’ setting on /edit/tiers?

The standalone tier page, represented by the “Read more” link, will be enabled automatically if you write a short description longer than 100 characters or if you’ve already set a long description. You can use this switch to force the display of the page.

There doesn't seem to be an obvious way to edit existing tiers from the collective page.

Where is the text under certain contributors coming from? Is there a way to edit or hide? For example https://opencollective.com/libretime#section-contributors

I can't see a 'manage contributions' button on host organization pages. How do host orgs get to their recurring contributions page?

French and Spanish localization use a 5 instead of a $ when listing contribution amounts in the "Top financial contributors" section.

@dodgepong We indeed had a bug with localization which is fixed now. Thanks for reporting!

Guess this is the ‘Force standalone page’ setting on /edit/tiers?

@gusaus Yes, but standalone page is also enabled when the tier's description is too long. I'll prioritize the enhancements for it, I agree that it needs to be improved.

There doesn't seem to be an obvious way to edit existing tiers from the collective page.

Edit/sort tiers is a feature yet to come, final result should look like this:

Where is the text under certain contributors coming from? Is there a way to edit or hide? For example https://opencollective.com/libretime#section-contributors

This is the public message set after a successful contribution. We'll add the ability to edit your own public message directly from the contributors grid soon. Currently, there's no way for collective admins to hide a specific public message but we'll probably solve the problems induced (spam mostly) with https://github.com/opencollective/opencollective/issues/2097

I can't see a 'manage contributions' button on host organization pages. How do host orgs get to their recurring contributions page?

@alanna The CTAs defined for hosts in design were Dashboard and Apply only. I personally didn't know about this use case, I'll add a third button to cover this.

Just to reiterate my point from #2228 I feel like the v2 interface is a great improvement and does an awesome job with making Become a contributor a call-to-action.
Thanks for the hard work on v2!

Hi! I'd like to add custom images/icons to the financial tiers, is there a way to do so?

Hi @AlinaWithAFace, it's not possible yet but that's something we want to support. You should follow https://github.com/opencollective/opencollective/issues/2121 to get updates about this specific feature.

Let's close!

authors: AlinaWithAFace Betree alanna dodgepong gusaus nemchik piamancini znarf


text:
Can't run the migration anymore on opencollective-api

I have this error now when running the migration on a fresh db using latest opencollective-api master branch (dbcreate opencollective_dvl; npm run postinstall):
Loaded configuration file "config/sequelize-cli.js".
== 20200117123654-host-plans: migrating =======

ERROR: column "data" is of type json but expression is of type jsonb

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! opencollective-api@2.0.567 db:migrate: `./scripts/sequelize.sh db:migrate`
npm ERR! Exit status 1

Related to https://github.com/opencollective/opencollective-api/pull/3494 ?

The issue was that I was not running the right version of postgres on my mac.
Make sure you use v9.6.x


text:
Cache issues when editing the slug of a profile

Describe the bug
When editing the slug of a profile, there are two issues:

We're not redirected to the new /edit URL
The user menu still shows the old URL

To Reproduce
Steps to reproduce the behavior:

Go to /my-collective/edit
Edit the slug

Expected behavior

Current page URL should be updated (use Router.replaceRoute)
User menu should be updated (by using refetchLoggedInUser)

The feature looks pretty broken because of this issue. I think it's important.

:gift: :money_with_wings: A $100 bounty was attached to this issue. Anyone submitting a Pull Request will be rewarded with $100 when the Pull Request is reviewed, accepted and merged.
:arrow_right: More info

I'd like to take a try at this

Looking at this, would it be appropriate to update the route here before the settimeout with a if statement to check if the collective.slug at this point is the same as the current route? If not update the route and refetchLoggedInUser
https://github.com/opencollective/opencollective-frontend/blob/9ea25474b61b5ddb678762cb60efbdb7f367ba88/components/edit-collective/index.js#L72

@brymut sounds like a good way to do it 👍

:trophy: This issue has been completed by @brymut
To claim the $100 bounty, you can either:

Submit an invoice to https://opencollective.com/engineering/expenses/new (please mention the issue number)
Or ask for an Open Collective gift card of the same value (to donate to other collectives)

authors: Betree brymut znarf


text:
Add socks proxy support

Hi,
In our environnement, production access is done exclusively over SSH. While all our automation/monitoring runs from inside our network, we sometime need to connect to internal devices from external devices (engineer's laptops). For example for testing tools against internal test devices (or prod devices).
The ideal behavior here would be to be able to create a Socks proxy with SSH:
ssh -D 8888 <jumphost>
Then using that new socket to transport any gnmic packets.
The current workaround, is to do something like:
ssh -L 8080:<grpc-device>:8080 <jumphost>
Then having gnmic targets localhost:8080, and override (or ignore) TLS certs.
Which is less than optimal as it requires a ssh tunnel per target device (doesn't scale) and is a hassle in term of TLS certs.
https://github.com/grpc/grpc/issues/30347 might be a required dependency though.
Thanks

Sweet! I couldn't find it in the doc, I didn't look hard enough.
One minor feature request could be to be able to configure it at a more global level "once for all" instead of per device. But the current implementation solves my usecase.
Thanks!

repo: openconfig/gnmic


text:
Prototype for a Task/Agent that is an external process to the datastore.

datastore.proto defines the update mechanism for external processes. This gRPC service is currently provided via a unix socket.
Also refactored gnmit's Set. The new set function is what the datastore service calls.

Pull Request Test Coverage Report for Build 3003868716

34 of 83 (40.96%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.4%) to 68.598%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

gnmi/gnmit/datastore.go
3
10
30.0%

gnmi/gnmit/gnmit.go
31
73
42.47%

Files with Coverage Reduction
New Missed Lines
%

gnmi/gnmit/gnmit.go
2
53.56%

Totals

Change from base Build 3002393214:
-0.4%

Covered Lines:
3185

Relevant Lines:
4643

💛  - Coveralls

authors: coveralls wenovus

repo: openconfig/lemming


text:
config-linux: Extend no-tweak requirement to runtime namespaces

Implement (b) from #537.  Also make it explicit that not listing a
namespace type will cause the container to inherit the runtime
namespace of that type.  More details in the commit message, although
that mostly summarizes the discussion from #537.

LGTM

LGTM

authors: crosbymichael mrunalp wking

repo: opencontainers/runtime-spec


text:
config: Replace "SHOULD consider" for 'rootfs' path value

SHOULD means:

… there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.

So consideration is already baked into the definition, and we can just say “SHOULD be” and warn folks whenever they use a value other than rootfs.
Also break this into its own paragraph, because the value recommendation is orthogonal to and less important than the value semantics covered in the preceding sentences.

LGTM

Rebased around #846 with 5d273c0 → 7de3cb8.

LGTM

LGTM

authors: crosbymichael hqhq mrunalp wking


text:
How do I need to modify the CVAT that can be deployed on my own server like onepanel. I want to modify the model file. Automatically annotate the video with your own trained model.

How do I need to modify the CVAT that can be deployed on my own server like onepanel. I want to modify the model file. Automatically annotate the video with your own trained model.

@kingmacth , in general you don't need to modify CVAT to deploy it on your own server. You need to create a separate file (e.g. docker-compose.yml) for all your settings and put them into the file. See here an example: https://github.com/opencv/cvat#advanced-settings.
I will close the issue because it is a question and we want to keep here only real issues or feature requests for CVAT. If you have other questions don't hesitate to ask them here: https://gitter.im/opencv-cvat/public

authors: kingmacth nmanovic

repo: opencv/cvat


text:
i have .las file and i converted it to .pcd file using cloudcompare. Now, I have uploaded the .pcd file to CVAT to use the annotation tool but the view is empty. how can i solve this problem?

TRIAL02.zip
My actions before raising this issue

[ ] Read/searched the docs
[ ] Searched past issues

i have .las file and i converted it to .pcd file using cloudcompare. Now, I have uploaded the .pcd file to CVAT to use the annotation tool but the view is empty. how can i solve this problem?
Steps to Reproduce (for bugs)

Expected Behaviour

Current Behaviour

Possible Solution

Context

Your Environment

Git hash commit (git log -1):
Docker version docker version (e.g. Docker 17.0.05):
Are you using Docker Swarm or Kubernetes?
Operating System and version (e.g. Linux, Windows, MacOS):
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

i have .las file and i converted it to .pcd file using cloudcompare. Now, I have uploaded the .pcd file to CVAT to use the annotation tool but the view is empty. how can i solve this problem?

Hi @helmasry
Right not it is not working well for all the use-cases.
In your case, I would recommend to substract center from each vertex in the .pcd file.
It might help.

authors: bsekachev helmasry


text:
Added new tools to join masks together and to slice a polygon/mask into two parts

Motivation and context
Resolved #690
Resolved #774
Resolved #5006
Resolved #6964
How to join?

Join tool in the controls sidebar, or J shortcut

Follow instructions. To finish, click the button/shortcut again.

How to slice?
Slice icon in the controls sidebar, or Alt+J shortcut:

One more way is to slice from shape context menu:

Follow instructions.

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[x] I have created a changelog fragment
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[x] I have linked related issues (see GitHub docs)
[x] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

I'm thrilled to see progress on this feature — it's something I've been tracking for a while! I'm particularly looking forward to utilizing this for splitting a SAM mask into several distinct labeled masks/polygons for their individual pixel area. Could you share an estimated timeline for when these tools might be available for use in the self-hosted version?

@AHansoe
I hope this thursday it will be ready for review.
There is a little chance to get it on prod in the following release on next week, but more probably on later release

Just noticed (maybe unrelated to the patch) using N shortcut with masks makes my cursor strangely jump over the canvas

As far as I remember on the demo we had brigher borders + lines for slicing, does the color depend on label color? I cant really see black border on black background. Maybe we should use dynamic color something like label color with a bit more brightess

@klakhov

As far as I remember on the demo we had brigher borders + lines for slicing, does the color depend on label color? I cant really see black border on black background. Maybe we should use dynamic color something like label color with a bit more brightess

Enable outlined colors option. By default border is black. It may have any color you setup.

@klakhov

Just noticed (maybe unrelated to the patch) using N shortcut with masks makes my cursor strangely jump over the canvas

The same on develop

authors: AHansoe bsekachev klakhov


text:
[Bug]: Incorrect ConsoleLinkKind type

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
We have an incorrect type for ConsoleLink. And thus when someone uses a ConsoleLink in a non-standard fashion for our use-cases, but a legit fashion for the kind itself, we will get a NPE.

Expected Behavior

We need to set our ConsoleLinkKind types (both frontend and backend) to have an optional applicationMenu and adjust use-cases accordingly.
Steps To Reproduce
Best guess to setting this up would be just create a ConsoleLink without the property set and load up the Dashboard.
Workaround (if any)
No response
What browsers are you seeing the problem on?
No response
Open Data Hub Version
2.5.0

Anything else
No response

To add some info:
The workaround could be to update the links to always have the applicationMenu property

FWIW, I believe the applicationMenu being added to your ConsoleLink will lead you to probably having the link appear in additional places than what you may already want. Depends on your use-cases. Dashboard had a specific one and failed to have proper types to back that up.

see https://github.com/opendatahub-io/odh-manifests/issues/705#issuecomment-1324630908 for context

Hello!
I just wanted to let you know that this issue has happened for me as well.
As a workaround, I could add
  applicationMenu:
    section: Documentation

to the definition of the ConsoleLink.
However, this is a bug and should be solved. :-)
Best, thanks,
Florian

Thanks for reporting your issue as well, this should be low hanging fruit that we can address.

Here's a ConsoleLink instance in RHODS 1.31 RC4:

authors: FlorianLiebhart andrewballantyne hvpareja manosnoam shalberd

repo: opendatahub-io/odh-dashboard


text:
Add the grpc route creation option

Description
Addressing RHODS-6401 : https://issues.redhat.com/browse/RHODS-6401
How Has This Been Tested?
The port creation has been tested and is created as expected.
To test it, below are commands to follow in your terminal.
First, an image needs to be build. A personal quay repo can be used if desired -- selbi will need to change to yours. Alternatively, one can use a ready image that was already build (quay.io/selbi/odh-model-controller:grpc-v3)
To re-create the image:
git clone https://github.com/heyselbi/odh-model-controller.git
cd odh-model-controller
git checkout rhods-6401-grpc
podman build -t quay.io/selbi/odh-model-controller:grpc-v4 .
podman push quay.io/selbi/odh-model-controller:grpc-v4
cd ../

Now deploy the new image with modelmesh-serving. First, login to your cluster (oc login...). **If you skipped image building part and decided to use the ready image, change the image tag from :grpc-v4 to :grpc-v3.
git clone git@github.com:opendatahub-io/modelmesh-serving.git
git checkout release-v0.11.0-alpha
cd modelmesh-serving/opendatahub/odh-manifests/model-mesh
sed -i 's/opendatahub\/odh-model-controller:v0.11.0-alpha/selbi\/odh-model-controller:grpc-v4/' base/params.env
oc new-project opendatahub
kustomize build ./base  | oc apply -f -

Go to your cluster, and make sure that all pods are Running in opendatahub namespace. Or you can check with cli:
[selbi@fedora modelmesh-serving]$ oc get pods -n opendatahub
NAME                                    READY   STATUS    RESTARTS   AGE
etcd-5bc65bd9cf-9bshv                   1/1     Running   0          3m26s
modelmesh-controller-d49b698fc-8jppp    1/1     Running   0          3m26s
modelmesh-controller-d49b698fc-qjrld    1/1     Running   0          3m26s
modelmesh-controller-d49b698fc-wg92c    1/1     Running   0          3m26s
odh-model-controller-697d49b9bb-g2ppw   1/1     Running   0          26s
odh-model-controller-697d49b9bb-wn56p   1/1     Running   0          36s
odh-model-controller-697d49b9bb-xn5s4   1/1     Running   0          16s

Check that the image running in odh-model-controller is the one built earlier:
[selbi@fedora modelmesh-serving]$ oc get deployment/odh-model-controller -o wide
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS   IMAGES                                       SELECTOR
odh-model-controller   3/3     3            3           5m58s   manager      quay.io/selbi/odh-model-controller:grpc-v4   app.kubernetes.io/managed-by=odh-model-controller,app.kubernetes.io/part-of=model-mesh,control-plane=odh-model-controller

Now we deploy a sample servingRuntime with sample inferenceService.
oc new-project testing
oc label namespace testing "modelmesh-enabled=true" --overwrite=true || echo "Failed to apply modelmesh-enabled label."
oc apply -f ../../../quickstart/openvino-serving-runtime.yaml
oc apply -f ../../../quickstart/openvino-inference-service.yaml

Check that two routes are created:
[selbi@fedora model-mesh]$ oc get routes
NAME                      HOST/PORT                                                               PATH                            SERVICES            PORT   TERMINATION            WILDCARD
example-onnx-mnist        example-onnx-mnist-testing.apps.selbishka.dev.datahub.redhat.com        /v2/models/example-onnx-mnist   modelmesh-serving   8443   reencrypt/Redirect     None
example-onnx-mnist-grpc   example-onnx-mnist-grpc-testing.apps.selbishka.dev.datahub.redhat.com                                   modelmesh-serving   8033   passthrough/Redirect   None

To clean up:
oc delete -f ../../../quickstart/openvino-inference-service.yaml
oc delete -f ../../../quickstart/openvino-serving-runtime.yaml
oc delete project testing
oc project opendatahub
kustomize build ./base  | oc delete -f -
oc delete project opendatahub

One might ask a great question, does this gRPC port do what a gRPC port is supposed to do (aka does it function as a gRPC port). One can find that answer in another PR: https://github.com/opendatahub-io/modelmesh-serving/pull/106 :)
PS. Ignore the failing openshift-ci. It is not working properly in odh-model-controller overall yet.
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Do we still need this PR?

authors: heyselbi spolti

repo: opendatahub-io/odh-model-controller


text:
ODK Survey: ENOENT (no such file or directory)

Originally reported on Google Code with ID 850
When trying to get form "Common Javascript Framework" (version 20140308) in ODK Survey
(version 2.0 Alpha rev 105) receive error message: "open failed: ENOENT (No such file
or directory)." Same error message received when trying to get "Example Form" (version
20130408). Behavior experienced on Asus Nexus 7 running Android 4.2.2.

Reported by fitzed on 2013-06-18 19:29:24

Please use our Google group for issues such as this.
Thanks,
Dev Team

repo: opendatakit/opendatakit


text:
Workflow Consistency / Simplification Updates in All Workflows - Part1

This PR is to improve workflow consistency / simplification updates in all workflows.

Unifying naming conventions of workflow files here
Unifying workflow job names with RPM one for references
Simplify workflow integTests by utilizing the setup_runner_service.sh scripts
Add a setup_runner_service_windows powershell script for windows env
(windows GitHub runner default shell is set to powershell: https://github.blog/changelog/2019-10-17-github-actions-default-shell-on-windows-runners-is-changing-to-powershell/)

Test Cases:

RPM: https://github.com/opendistro-for-elasticsearch/opendistro-build/actions/runs/187850756
WINDOWS: https://github.com/opendistro-for-elasticsearch/opendistro-build/actions/runs/187880741

This PR consumes the changes from @weicongs-amazon 's windows ad kibana plugin integration test: https://github.com/opendistro-for-elasticsearch/opendistro-build/pull/332
Another PR for Part2 of other distros will be created later.
Thanks.

Also can you add the introduction at the start to tell what the script does?  for both runners script. We should do that for all of them

Also can you add the introduction at the start to tell what the script does? for both runners script. We should do that for all of them

@gaiksaya Will add another PR later for scripts documentation.

authors: gaiksaya peterzhuamazon


text:
fixes(istgt): leaving recvlowat as 1 to read data at earliest (#231)

log for op_text response

reading immediate flag from correct bit

commented out unused code

Not closing the connection on logout request which will be closed only when client triggers it

This is cherrypick of PR#231
Signed-off-by: Vitta vitta@mayadata.io

Closing this PR due to inactivity. Reopen this If changes/feedback required.

authors: mynktl vishnuitta

repo: openebs/istgt


text:
feat(control-plane/csi-driver): add volume expansion

Changes:

Add offline and online expansion capabilities
Add implementation for ControllerExpandVolume on the controller binary
Add implmentation for the NodeExpandVolume on the node binary
Pytests for the above.

bors try

Pytests are in WIP state.

The commit need to be reworded as:
test(volume/expansion): add volume expansion to csi-driver tests

The commit need to be reworded as: test(volume/expansion): add volume expansion to csi-driver tests

Good comment, I would make this myself :)
Also I think you can also probably remove "control-plane/" from the commits

The commit need to be reworded as: test(volume/expansion): add volume expansion to csi-driver tests

Also I think you can also probably remove "control-plane/" from the commits

Made these changes. Also ref: https://github.com/openebs/mayastor-control-plane/pull/759.

bors try

bors merge

bors merge

bors merge

bors merge

test(volume/expansion): use HTTP 406 for VolumeResizeSize error this is not a "test" ?
Should be refactor

bors try

bors merge

authors: dsharma-dc niladrih tiagolobocastro

repo: openebs/mayastor-control-plane


text:
Let maya api server fail explicitly rather than assume defaults for storage pool

e.g. the logs has this warning & uses the default path i.e. /var/openebs instead.
This makes maya api server as a black box system than a whitebox/understood system by users.
W0216 16:34:29.576992       6 policy_jiva_k8s.go:254] storagepools.openebs.io "default" is forbidden: User "system:serviceaccount:store-openebs:openebs-operator" cannot get storagepools.openebs.io in the namespace "demo-static"

To maintain backward compatibility with earlier releases, code falls back to /var/openebs as default storage pool.

authors: AmitKumarDas kmova

repo: openebs/openebs


text:
CNI networks fail to start on Kubernetes 1.9.0 for CentOS vagrant boxes. CNI pods running on nodes move to CrashloopBackoff.

Is this a BUG REPORT or FEATURE REQUEST?
Choose one: BUG REPORT or FEATURE REQUEST

What happened:
CNI networks fail to start on Kubernetes 1.9.0 CentOS vagrant boxes. CNI pods running on nodes move to CrashloopBackoff.
What you expected to happen:
CNI pods should start normally on cluster running Kubernetes 1.9.
How to reproduce it (as minimally and precisely as possible):
Bring up cluster of 1.9 by running the create_vagrantbox.sh script, After the cluster is created, check the status of the CNI pods.
Anything else we need to know?:

Fixed with merge of PR #1327


text:
VolumePolicy should support resource allocation to openebs volume pods

VolumePolicy should have some policies that support resource allocation i.e. CPU, RAM to openebs controller & replica pods.

https://github.com/openebs/maya/pull/496 : added Replica and Target ResourceRequest and ResourceLimit related policies


text:
Update Oracle Driver

Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]

Description of change
From 2019.2.0, ojdbc8 will be used.

Well that is an interesting one @ChristianMurphy .
Traditionally you had to accept a license to download the OJDBC jars, and so for a build to include that it's been done separately. I wonder if the licensing has now changed and we can include it in the open source package. Do you know?

Closest I can find is the info under 'Can third party vendors distribute Oracle's JDBC drivers along with their own software?' at https://www.oracle.com/database/technologies/faq-jdbc.html which points to https://www.oracle.com/downloads/licenses/distribution-license.html
But INAL so who knows.

The pom.xml includes the following license text

Oracle Free Use Terms and Conditions
Definitions "Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company or organization (each an "Entity") accessing the Programs, if use of the Programs will be on behalf of such Entity; or (b) an individual accessing the Programs, if use of the Programs will not be on behalf of an Entity. "Program(s)" refers to Oracle software provided by Oracle pursuant to the following terms and any updates, error corrections, and/or Program Documentation provided by Oracle. "Program Documentation" refers to Program user manuals and Program installation manuals, if any. If available, Program Documentation may be delivered with the Programs and/or may be accessed from www.oracle.com/documentation. "Separate Terms" refers to separate license terms that are specified in the Program Documentation, readmes or notice files and that apply to Separately Licensed Technology. "Separately Licensed Technology" refers to Oracle or third party technology that is licensed under Separate Terms and not under the terms of this license. Separately Licensed Technology Oracle may provide certain notices to You in Program Documentation, readmes or notice files in connection with Oracle or third party technology provided as or with the Programs. If specified in the Program Documentation, readmes or notice files, such technology will be licensed to You under Separate Terms. Your rights to use Separately Licensed Technology under Separate Terms are not restricted in any way by the terms herein. For clarity, notwithstanding the existence of a notice, third party technology that is not Separately Licensed Technology shall be deemed part of the Programs licensed to You under the terms of this license. Source Code for Open Source Software For software that You receive from Oracle in binary form that is licensed under an open source license that gives You the right to receive the source code for that binary, You can obtain a copy of the applicable source code from https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If the source code for such software was not provided to You with the binary, You can also receive a copy of the source code on physical media by submitting a written request pursuant to the instructions in the "Written Offer for Source Code" section of the latter website.
The following license terms apply to those Programs that are not provided to You under Separate Terms. License Rights and Restrictions Oracle grants to You, as a recipient of this Program, a nonexclusive, nontransferable, limited license to, subject to the conditions stated herein, (a) internally use the unmodified Programs for the purposes of developing, testing, prototyping and demonstrating your applications, and running the Programs for your own internal business operations; and (b) redistribute unmodified Programs and Programs Documentation, under the terms of this License, provided that You do not charge Your end users any additional fees for the use of the Programs. You may make copies of the Programs to the extent reasonably necessary for exercising the license rights granted herein and for backup purposes. You are granted the right to use the Programs to provide third party training in the use of the Programs and associated Separately Licensed Technology only if there is express authorization of such use by Oracle on the Program's download page or in the Program Documentation. Your license is contingent on Your compliance with the following conditions: - You include a copy of this license with any distribution by You of the Programs; - You do not remove markings or notices of either Oracle's or a licensor's proprietary rights from the Programs or Program Documentation; - You comply with all U.S. and applicable export control and economic sanctions laws and regulations that govern Your use of the Programs (including technical data); - You do not cause or permit reverse engineering, disassembly or decompilation of the Programs (except as allowed by law) by You nor allow an associated party to do so. For clarity, any source code that may be included in the distribution with the Programs is provided solely for reference purposes and may not be modified, unless such source code is under Separate Terms permitting modification. Ownership Oracle or its licensors retain all ownership and intellectual property rights to the Programs. Information Collection The Programs' installation and/or auto-update processes, if any, may transmit a limited amount of data to Oracle or its service provider about those processes to help Oracle understand and optimize them. Oracle does not associate the data with personally identifiable information. Refer to Oracle's Privacy Policy at www.oracle.com/privacy.
Disclaimer of Warranties; Limitation of Liability THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Last updated: 8 October 2018

This appears to fall in Apache Category X, optional
https://apache.org/legal/resolved.html#optional
Meaning we could depend on it, it the dependency could be hidden behind a build flag by default

Ah cool! Thanks @ChristianMurphy
Well that'll fit the needs of doing custom Edalex builds - and then possibly others. And then at least we can have that logic in the open. :+1:

authors: ChristianMurphy PenghaiZhang edalex-ian

repo: openequella/openEQUELLA


text:
Implement a canonical FindIlmbase.cmake

Seems there are countless implementations of FindIlmbase.cmake, some better than others
https://www.google.com/#q=FindIlmbase.cmake
It would be great if the OpenEXR distribution could provide a good one.

This has been replaced by the canonical "config" / export system built into cmake. It should place files automatically into /lib/cmake//.cmake

repo: openexr/openexr


text:
feat: allow migration jobs to be cleaned up after finishing

Description
The datastore migration job that runs does not clean up after itself by default. This PR adds an optional field .datastore.migrateJobTtlSecondsAfterFinished that allows the job to be cleaned up after the specified time (in seconds) by the k8s ttl controller.
For our team's purposes this also allows us to have repeatable helm deployments in CI so that new jobs do not conflict with the old ones by name, seen in this error for reference:
Error: UPGRADE FAILED: cannot patch "appName-openfga-migrate" with kind Job: Job.batch "appName-openfga-migrate" is invalid:...
References
From k8s docs: https://kubernetes.io/docs/concepts/workloads/controllers/job/#clean-up-finished-jobs-automatically
Review Checklist

[x] I have clicked on "allow edits by maintainers".
[x] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[x] I have added tests to validate that the change in functionality is working as expected

(I could not find documentation besides schema descriptors nor tests for these fields - please let me know if they exist and I will update accordingly)

Just as a heads up, this solution is incompatible with v2.0 of k8s-wait-for.  v2.0 will only return success if the job exists and was successful.  Any pods that get restarted or if the pod count scales up, new pods will fail to start if the job doesn't exist.

A super handy helm plugin can be found at : https://github.com/databus23/helm-diff
That will show you all the changes to a deployment that will be made before you actually update it.  It's great for validating stuff.
As far as troubleshooting: if you're not enabling the wait flag, I'd start assuming that it's not able to or is having difficulty with running the hook that deletes the job.  I'd look at the version of helm that your tool is using and also check that the migration job has been deleted (or manually delete the job).

@michael-lavacca-rw Given that we're currently pinned to v2.0 of k8s-wait-for (see this line), I think it would be wise to avoid the side-effects that @jliedy has pointed out.
The original migration job was inspired by a lot of other Helm charts I have seen, particular many of them in the bitnami repository. The pattern seems to be a common pattern, and it seems the standard in the Helm ecosystem is to use chart hooks to teardown resources post deployment like this. For that reason, I'm leaning toward proceeding forward with the approach already implemented in #70 .
Can we close in favor of the work already done in #70?

Hi guys,
Yes I'll close this PR.
I have been able to get the latest 0.1.33 working with the helm hooks taking care of the teardown. The bitbucket deploy method I was using had a WAIT= parameter we needed previously but not including it altogether was the trick now (did not work with either true or false).
I'm actually trying to adopt this method now for our own custom job that does the authorization model "migration".
Thanks for the notes and a better, working solution to my issue!

authors: jliedy jon-whit michael-lavacca-rw

repo: openfga/helm-charts


text:
[HTML5] Unable load the raw bytes of a sound file.

Describe the bug
I've been looking for a way of getting the raw bytes of an mp3 sound file (not as a Sound object) that's in the assets directory (under assets/sounds/), but when I try to use Assets.loadBytes('assets/sounds/sound.mp3') it gives me a 404 error in html5. However, when I load the sound file directly using Assets.loadSound, I do successfully get an openfl.media.Sound object. Additionally, using Assets.loadBytes with the mp3 file on windows does work without errors.
To Reproduce
Steps to reproduce the behavior:
Example Code snippet:
This code will result in a 404 error on html5:
Assets.loadBytes('assets/sounds/sound.mp3').onComplete((mp3Bytes) ->
    {
	    trace('Loaded bytes. Is null? ${mp3Bytes == null}');
            // some processing on the bytes...
    }).onProgress((a, b) ->
    {
        trace('Progress: $a | $b');
    }).onError((err) ->
    {
        trace('ERROR: $err'); // Shows error 404 on html5
    });

However, the following works on both html5 and desktop:
Assets.loadSound('assets/sounds/sound.mp3').onComplete((soundObj) ->
{
    soundObj.play(); // works
});

Expected behavior
The onComplete callback should be called with bytes of the mp3 file
OpenFL Targets
I've only seen this problem in html5. This issue does not happen on windows as far as I've checked
Additional context

Does it work if you add type="binary" to the <assets> element in project.xml?
<assets path="assets/sounds/sound.mp3" embed="false" type="binary"/>

You may not be able to load an asset as a different type.

Yes, that seems to work, thanks!
By the way, what does the embed field do? Does it just decide if the asset is cached?

It controls whether assets are preloaded by the app on startup or if you need to ask them to be loaded on demand. By default, I believe that embed is true. When assets are embedded, you can use APIs like Assets.getBytes() or Assets.getSound() and it will return the asset immediately, without needing an onComplete callback.  If you use embed="false", you need to ask to load each assets, and wait until it has completed loading, before you can use it. Assets that are not embedded must use Assets.loadBytes() or Assets.loadSound() with onComplete callbacks.
Since you were using Assets.loadBytes() and Assets.loadSound(), I assumed that you had embed="false".

Oh okay. Thanks for the info!

authors: UncertainProd joshtynjala

repo: openfl/openfl


text:
New screenshots to generate (Additive card for Monosodium Glutamate)

New screenshots to generate (Additive card for Monosodium Glutamate

repo: openfoodfacts/openfoodfacts-androidapp


text:
fix #2438 (updating unit tests)

Update unit tests.
travis could be updated to use the target check

@raphael0202 can you have a look at this :-)

merging units

authors: deniger teolemon


text:
Scan loop issue still present

What

https://photos.app.goo.gl/miGQTx3PQmo7ZcAQ7
Sorry for the music :-)

https://user-images.githubusercontent.com/1689815/184495559-0ee5a589-3ad2-41c0-8151-db3d229e34ab.mp4

fixed

repo: openfoodfacts/smooth-app


text:
[Planning] Modularization of the codebase

Hi everyone,
To allow us to have non-MLKit versions, or the ability to deploy outside the Google Play on Android, we need to change how the codebase is currently designed.

[x] The current smooth_app folder which refers to the app, will now be a module #3101
[x] A new folder app will contain several entrypoints explaining which version we want to use (eg: MLKit + Google Play, Zxing + FDroid…)
[x] Create a MLKit module
[ ] Create a Zxing module

To prevent having a gigantic PR, this change will be done in several steps:

Add on all assets (eg: Image.assets) the name of the package
Move the MLKit implementation to a new package and create an app module which uses this package
Implement a ZXing version of the scanner
Create a module per application storage (at the beginning only for the review popup)

Since step 1 will basically require changing most of the files, we should "freeze" the codebase during this migration and refuse all PRs.
What's the best moment to do this? (on my side, I'm unavailable until this Thursday)

Hi @g123k!
We discussed this yesterday and I believe we could be rather relaxed about step 1, as the impact would be on code lines we rarely change.
Just checking: for the following code, would it be as easy as adding package: 'smooth_app'?
import 'package:flutter/widgets.dart';
import 'package:flutter_svg/svg.dart';

/// Displays a default asset as a _picture not found_ image.
class PictureNotFound extends StatelessWidget {
  const PictureNotFound();

  static const String NOT_FOUND_ASSET = 'assets/product/product_not_found.svg';

  @override
  Widget build(BuildContext context) => SvgPicture.asset(
        NOT_FOUND_ASSET,
        fit: BoxFit.cover,
        // to be added? package: 'smooth_app', // or with a static const
      );
}

If so, we have no reason to delay your PR about step 1.
If the impact is a bit larger, please reply with a sample of how you would change the code of PictureNotFound.

Our former discussion besides the in person ones were here: https://github.com/openfoodfacts/smooth-app/issues/2591

@monsieurtanuki Yes, exactly that will be the change required.
I think to ease the migration, I will create a SmoothImage (or something like that) where I define the package.
By changing the Widget, I think we should take the opportunity to let SmoothImage to handle both SvgPicture and Image Widgets, in order to hide the SVG dependency.

Can't handle svgs but we already have a wrapper @g123k 😉

@g123k That's where I would like to raise a flag:

if it's only about adding package: 'smooth_app' to dozens of asset related lines of code

it could be coded,
reviewed
and merged in one hour and with a minimal impact

if it's about adding a layer of abstraction on top of png and svg

that will impact the whole project
that will be harder to code and to review
we don't need that

As far as I understood things, we could have that new "module system" OK by the end of the week, because all steps are easy. And we don't need to make any step more difficult, do we?
Or maybe there's something that I'm missing.

Ok so let's make it simple, I will just add package everywhere.
When is the best time to "freeze" the code base?

@g123k Perfect!
If it's just about adding package: 'smooth_app' here and there, we don't have to freeze the code, do we?
Tomorrow morning would sound good.
Regarding the pending #3059 large PR, there should be no impact (or no impact I can manage), so no reason to freeze. And I may split its code in simpler PRs anyway - if possible.

Ok I implement step 1

I have to change a little bit the step 1:

Add the package attribute for all assets
Create an app package (empty for now)
Add smooth_app as a dependency

Once MLKit & ZXing will be available, we will be able to deploy to FDroid and many other stores.
In terms of GitHub Actions, what should we do? One action per store? A single action for all stores? (any suggestion @M123-dev)

My plan was to have to 3 build jobs

iOS
Android main

Where 1. automatically releases to the store, but 2 is uploading the apk as artifact which we dowload in one seperate workflow per store, so that we don't fail te release on all platforms when there is a problem with one, to reuse as much code as possible and to not have a built per platform that would be a total waste of recources.
The whole FDroid build will be done on FDroid itself no github actions involved besided maybe pinging that we wan't a new release, we have to investigate this.

https://github.com/openfoodfacts/smooth-app/issues/2771

It seems like the last point about ZXing has been solved in #3252 now :+1:  (but I may be wrong)
This means that with the next release the F-Droid process could be started?

Yes that's right @Altonss

@M123-dev Great news, thanks a lot! So now somehow should just update the build recipe available here to switch to the new app I assume? https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/openfoodfacts.github.scrachx.openfood.yml

Either this or we create a new listing cf: #2771


text:
feature/#21_6 - user product lists can now be renamed and exported as grocery lists

New file:

product_list_dialog_helper.dart: centralizing the dialogs for product lists

Impacted files:

dao_product_list.dart: added method rename
list_page.dart: now using the new ProductListDialogHelper class; minor refactoring
product_list_page.dart: added a "rename" top action; moved "delete" to top; added a "grocery" bottom action; now using the new ProductListDialogHelper class
product_query_page_helper.dart: minor presentation refactoring

The new "grocery" button lists all the products as a mere text and share that as a message:


text:
feat: Spider for resources

Use Spider to ensure no hard-coded paths to assets in our code.
The PR is in draft until the tool can manage resources starting with a number (eg: 0-Additives, 1-Additives…)
Will fix #2005

@g123k That said, if you could find something similar about translations that are not used anymore, that could be useful! (of course the fields are already created)
Again, probably not a priority.

You're right @monsieurtanuki, I will abandon this PR.


text:
Added CLI tests for openff-benchmark optimize subcommands

Description
We finally have a test suite laid out for the openff-benchmark optimize command tree.
I have prioritized getting submission, export, and QCEngine-based direct execution test coverage.
Additional management subcommands for QCFractal Server usage will have to follow from another PR.
This PR should be merged as soon as possible to unblock #62.
Status

[x] Ready to go

Credit to @jthorton and @j-wags for inspiration in usage of QCFractal's own fractal_compute_server fixture and click's CliRunner, respectively!

repo: openforcefield/openff-benchmark


text:
Add PCM validation for psi4.

Now that passing PCM keywords via the PCM__INPUT flag in the QC spec will soon be supported we need to build up some validation for the available keyword combinations. The full list of combinations can be found here. I imagine the PCM settings will be absorbed into the QCSubmit QCSpec class, this way users can submit multiple compute specs with and without PCM settings.
from qcsubmit.common_structures import QCSpec, PCMSettings
pcm = PCMSettings(solvent=water)
spec = QCSpec(implicit_solvent=pcm)

One problem is that for PCM to work we must restrict the symmetry to be C1 as this was missed on the python side in psi4, this means that adding a spec to a dataset to compute PCM properties would not work for molecules already in a qcfractal database without the restricted symmetry flag, it may be best to wait till this is fixed.

repo: openforcefield/qcsubmit


text:
Add GROMACS and LAMMPS

The last release of LAMMPS includes a test that lacks a decorator to gracefully skip when it's not installed. Might as well just add it to these tests, though.

@ntBre does this mean anything to you? https://github.com/openforcefield/status/actions/runs/10011341975/job/27817227290#step:11:2300
These failures are

only on M1 runners
not obviously related to this changeset, but passing upstream: https://github.com/openforcefield/status/actions/runs/10051121052/job/27780177248#step:10:574

Hmm, yes, that's coming from my tests for the new caching behavior. I added a context manager to temporarily disable the PortalClient's requests.Session field to ensure that the cached data was loaded from the local cache instead of being re-fetched. I see that the root cause is likely a sqlite3.OperationalError: attempt to write a readonly database, which leads me to the qcportal version since 0.55 replaced sqlite3 with apsw. We've been testing against 0.56  in the qcsubmit tests, and only on macos-12. The macos-12 images here are also pulling in 0.56, so I'm guessing something about the M1/0.54 combination is causing problems?

I have two ideas here

Just downpin to some version(s) of things that work (0.54 across the board for QCArchive things, and some comptaible QCSubmit?). This pushes the problem down the road, which might be a value add if there is a genuine issue here
Add a lower constraint to keep tests running along. (Probably something like %s/~=0.50/~=0.56/ here). I prefer this if it works, but don't know that it will

Okay, so qcportal >=0.55 doesn't work on M1 at all, but I'd like to avoid downpins. For now I think we should skip QCSubmit on M1 (only). This allows us to keep most M1 tests online without dropping QCSubmit on Intel hardware

(to shortcut my search when I come back here in the future) Matt's opened an issue about the lack of availability of ARM builds for QCFractal here

authors: j-wags mattwthompson ntBre

repo: openforcefield/status


text:
break up timesync UI into react component.

Gary, please check the coding style of the react components for TimeSync. The logics were not put in the component.

timesync.ftl:

Lines 2,28: <#-- is not a valid HTML or FTL tag. Use  for HTML comments.
Lines 12-14: Do not set global variables in FTL files. Pass your parameters to timesync.renderTimeSyncPage and pass them from there to ts_scripts.js.
Line 14: Don't repeat a computation that has already been bound to a variable:

console.log()window.tsDashMessage;

Line 25: Inline the timesync-script.ftl contents into timesync.ftl and delete timesync-script.ftl.
Line 27: Remove dangling blank line.

timesync-script.ftl:

<script></script> tags should be moved to header.ftl. However, whenever
possible it is preferred that libraries are loaded through
package.json and imported directly into your JS files rather than
installed globally with

Fixed code to addressed review comments:

<#-- is valid FTL tag.
the class components are placeholders and some of them might be converted to function components next.

timesync.ftl:
18,19, 20 It doesnt look like you are actually using these.  Remove these import.  If you chose to use one later use the npm package.  As a general concept, with React you should be able to avoid jquery and jquery based packages. I can certainly help if you like help avoiding jquery.
22 We already have lodash as a dependency in package.json. See widget-layout-editor which also imports lodash. (it also doesnt look like you are using it)
21, 23, We already have these in the public JS folder, import them directly in JS. See collection.js which imports functions from openlayers-mercator.js
Please install eslint in your IDE. We have included a .eslintrc.js JS linting file that will automatically highlight any style errors in your files.

For your next branch can you change your naming a little bit? The branch starting with fb is the feature branch.  Each change you make is going into the feature branch but is not a feature branch.  Start you branch name with yang and then a short description of what you are doing.  For this branch something like yang-initialize-react-page would be more clear.

src/main/resources/public/jsx/timesync.js

775, 779, , 883, 882, 883 do not change the variable name as you pass it.  Update these chipProps to chipSettings as well.

authors: c11 lambdatronic sirmspencer

repo: openforis/collect-earth-online


text:
reuse database API KEY generated in create_vaults playbook

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
When the forum's vault is created, an API KEY is generated and this API KEY should be reused in the exdapp's vault to allow communication between those two applications. For now the only solution is to decrypt the forum's vault, copy the key, decrypt the edxapp's vault, paste the API key and then encrypt all decrypted vaults.
Describe the solution you'd like
In the forum's vault creation we can automate this copy/past mechanism but the generic create_vaults playbook is not able do that for now.
We should introduce an event system. An event is emitted at the end of a playbook allowing to create specific tasks, a more application-centric solution.
Do you want to work on it through a Pull Request?
sure !

We should introduce an event system. An event is emitted at the end of a playbook allowing to create specific tasks, a more application-centric solution.

In ansible there is a notify/handler mechanism so this is the solution I choose to implement but after spending some hours it seems that this solution is not the good one.
The idea was to create a task, looping on apps if a directory handlers exists containing a main.yml file. If this file exists then include it in our playbook.
There are a lot of problem with this:

include_tasks, import_tasks and include can not be used because they can not import handlers but a list of tasks (yes I know it's in the name of the function but handlers are tasks).
You are not sure that your handler will be called, there are a lot of reason for that, you can fount some of them in the sporadic documentation about handlers and you will find more with your beloved search engine.
The handler execution is postpone at the end of the play so if something fail between the notification and the end of the play, the handler will not be executed. You can force to execute them by using --force-handlers option.

So I looked for another solution. A known solution is to introduce the notion of hook used in many modular system. A hook is a mounting point where you look if "modules" want to be "hook" on this point and then execute what contain the module at this point.
To implement this solution we have to create a task file responsible to look for a dedicated file and include it. We will have something like:
- include_tasks: tasks/execute_apps_hook.yml
      vars:
        hook: databases_vault_created

this task will be responsible to look for each defined application in apps if the file apps/{{ app.name }}/hooks/databases_vault_created.yml exists and if true include it using include_tasks. The tasks will be immediatly executed.
Doing this each application can have its own logic.
The mechanism is almost implemented in a branch, I will open a PR with my work.
WDYT ?

repo: openfun/arnold


text:
Add automatic LTI configuration via XML

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
Our documentation for Moodle admin configuration is very good and appreciated by IT admins. But they suggested we should implement automatic configuration.
Describe the solution you'd like
I Moodle, external LTI tools can be configured by providing a link with the configuration as XML.
The XML configuration can include a link to an icon so we should add a 32x32 icon to our static files and include it in the configuration.

Representing LTI links in an IMS Common Cartridge

authors: kernicPanel sampaccoud

repo: openfun/marsha


text:
Improve UI video teachers dashboard

Purpose
Feedbacks from the learning analytics workshop concerned the user experience that needs to be improved in the teachers dashboard
Proposal

[x] Fix following variable values: Statements interval = 1d / View count threshold = 30s / Event group interval = 1
[x] Add the title, the number of students and the start and end dates of the course in the course overview

@jmaupetit @SergioSim Maybe the three constants variables can be just regraded as project constants and not variables anymore? WDYT?

Hello @quitterie-lcs ) If we limit the user choice to a single value, I think it would be better to have them as constants)

I've added a commit with minor fix and improvements to the fixtures script. Feel free to do whatever you want with it!

authors: SergioSim jmaupetit quitterie-lcs

repo: openfun/potsie


text:
Geoip modal

Keep native store language switcher but enables stores by brands
Open modal if requested store is different from resolved by geoip and user didn't set it's preference first

Duplicate of #magento2


text:
[minor] Swapped title/contents in clause 2

In https://github.com/opengeospatial/CloudOptimizedGeoTIFF/blob/master/standard/clause_2_conformance.adoc
it mixes the title and content of 3rd and 4th entries (http-range with geotiff-keys)
It should be
*<<http-range-requirements-class>>* (http://www.opengis.net/spec/COG/1.0/req/req-class-http-range)

Defines how to use COG in the web to download only a fragment of the data. Target: A web Server (and COG web clients)

*<<geotiff-keys-requirements-class>>* http://www.opengis.net/spec/COG/1.0/req/req-class-geotiff-keys

Defines how to use GeoKeys to georeference the data. Target: GeoTIFF encoders

done in #21

repo: opengeospatial/CloudOptimizedGeoTIFF


text:
bbox crossing the antimeridian

Currently the specification says:

The bbox, if specified, must be encoded with an array containing the minimum and maximum values of each dimension: [<xmin>, <ymin>, <xmax>, <ymax>]. This follows the GeoJSON specification (RFC 7946, section 5).

"Minimum" and "maximum" are not correct for cases where the bbox crosses the dateline, at least if GeoJSON is used as the basis. See GeoJSON 5.2, the following is a rough bbox for the Fiji archipelago, spanning 5 degrees of longitude: [177.0, -20.0, -178.0, -16.0].
If GeoJSON is followed, the wording should be updated/clarified. If it should be strictly minimum/maximum, then the GeoJSON reference should be removed.
Happy to create a PR for review, but it would help to understand the intention for GeoParquet. I personally would prefer the first option and be consistent with GeoJSON, which is also what is used in OGC API Features and I think STAC.

Hi, What about using North South East West (relative to the center of the bounding box) I believe that would always work

There can be a discussion on what the correct wording should be. In effect the intended meaning of the existing spec is to follow GeoJSON, where the bbox is always west, south, east, north. And when crossing the antimeridian the numeric value of west is allowed to be larger than the numeric value of east

Call 11/7:
We should update our wording here - we use minimum and maximum, while geojson does east/west.
Issue for geoparquet is that there's non-geographic CRS's.
Consensus is to clarify that for geographic CRS's we follow GeoJSON, and update the spec. And to say 'less' on the non-geographic crs's, perhaps just something about being up to the client / crs.
@tschaub to take a pass and write a PR, we can continue review / discussion there.

authors: apps4uco cholmes cportele kylebarron

repo: opengeospatial/geoparquet


text:
Process QGIS Project File fails on QFieldCloud onprem with DEBUG=0

Hi,
Just noticed that when setting DEBUG=0 in the .env file of a QFieldCloud on-prem instance, the Process QGIS Project File job fails after creating a project in QGIS with the QFieldSync plugin.
In QGIS, everything seems to work fine, and the plugin says Finished uploading the project to QFieldCloud, you are now viewing the locally stored copy..

Running v0.29.1
Storage is minio S3 as in the standalone override
ENVIRONMENT is set to production

But in the QFieldCloud admin page, the job is failed with API_INTERNAL_SERVER_ERROR error type :

Here is the Output pre of the job :
::<<<::2f5451c6-2be9-46dd-ba00-e1365a725252 Start QGIS Application
14:24:58.853 root      INFO     Starting QGIS app version 33803 (37f9e6efeec)...
14:25:00.716 root      INFO     QGIS app started!
::>>>::2f5451c6-2be9-46dd-ba00-e1365a725252 2
::<<<::16a121b4-24fb-43e2-8b06-4743a1b9542a Download Project Directory
14:25:00.746 root      INFO     Preparing a temporary directory for project files…
14:25:01.368 root      INFO     Downloading project files…
14:25:01.754 /usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py INFO     GET http://app:8000/api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/ got HTTP 500
::>>>::16a121b4-24fb-43e2-8b06-4743a1b9542a 1
14:25:02.206 root      INFO     Stopping QGIS app…
14:25:02.681 root      INFO     Deleted QGIS app!

Here is the job's Feedback pre :
{
  "container_exit_code": 0,
  "error": "Requested \"http://app:8000/api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/\" and got \"500 Internal Server Error\":\n{\n  \"code\": \"unknown_error\",\n  \"message\": \"QFieldcloud Unknown Error\"\n}",
  "error_class": "QfcRequestException",
  "error_origin": "container",
  "error_stack": [
    "  File \"/usr/src/app/qfc_worker/utils.py\", line 672, in run_workflow\n    return_values = step.method(**arguments)\n                    ^^^^^^^^^^^^^^^^^^^^^^^^\n",
    "  File \"/usr/src/app/qfc_worker/utils.py\", line 339, in download_project\n    client.download_files(\n",
    "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 570, in download_files\n    raise err\n",
    "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 550, in download_files\n    self.download_file(\n",
    "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 621, in download_file\n    resp = self._request(\"GET\", url, stream=True)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
    "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 820, in _request\n    raise QfcRequestException(response) from err\n"
  ],
  "error_type": "API_INTERNAL_SERVER_ERROR",
  "feedback_version": "2.0",
  "outputs": {
    "start_qgis_app": {}
  },
  "steps": [
    {
      "id": "start_qgis_app",
      "name": "Start QGIS Application",
      "returns": {},
      "stage": 2
    },
    {
      "id": "download_project_directory",
      "name": "Download Project Directory",
      "returns": {},
      "stage": 1
    },
    {
      "id": "project_validity_check",
      "name": "Project Validity Check",
      "returns": {},
      "stage": 0
    },
    {
      "id": "opening_check",
      "name": "Opening Check",
      "returns": {},
      "stage": 0
    },
    {
      "id": "project_details",
      "name": "Project Details",
      "returns": {},
      "stage": 0
    },
    {
      "id": "generate_thumbnail_image",
      "name": "Generate Thumbnail Image",
      "returns": {},
      "stage": 0
    },
    {
      "id": "stop_qgis_app",
      "name": "Stop QGIS Application",
      "returns": {},
      "stage": 0
    }
  ],
  "workflow_id": "process_projectfile",
  "workflow_name": "Process Projectfile",
  "workflow_version": "2.0"
}

Following lines can be seen in the docker logs :
worker_wrapper-1               | {"request_id":"none","ts":"2024-11-13T14:25:03.754928","level":"INFO","name":"worker_wrapper.wrapper","message":"Finished execution with code 0, logs:\n::<<<::2f5451c6-2be9-46dd-ba00-e1365a725252 Start QGIS Application\n14:24:58.853 root      INFO     Starting QGIS app version 33803 (37f9e6efeec)...\n14:25:00.716 root      INFO     QGIS app started!\n::>>>::2f5451c6-2be9-46dd-ba00-e1365a725252 2\n::<<<::16a121b4-24fb-43e2-8b06-4743a1b9542a Download Project Directory\n14:25:00.746 root      INFO     Preparing a temporary directory for project files\u2026\n14:25:01.368 root      INFO     Downloading project files\u2026\n14:25:01.754 /usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py INFO     GET http://app:8000/api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/ got HTTP 500\n::>>>::16a121b4-24fb-43e2-8b06-4743a1b9542a 1\n14:25:02.206 root      INFO     Stopping QGIS app\u2026\n14:25:02.681 root      INFO     Deleted QGIS app!\n","filename":"wrapper.py","lineno":375,"thread":140452202223424,"source":"worker_wrapper"}

db-1                           | 	', "feedback" = '{"error": "Requested \"http://app:8000/api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/\" and got \"500 Internal Server Error\":\n{\n  \"code\": \"unknown_error\",\n  \"message\": \"QFieldcloud Unknown Error\"\n}", "error_class": "QfcRequestException", "error_stack": ["  File \"/usr/src/app/qfc_worker/utils.py\", line 672, in run_workflow\n    return_values = step.method(**arguments)\n                    ^^^^^^^^^^^^^^^^^^^^^^^^\n", "  File \"/usr/src/app/qfc_worker/utils.py\", line 339, in download_project\n    client.download_files(\n", "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 570, in download_files\n    raise err\n", "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 550, in download_files\n    self.download_file(\n", "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 621, in download_file\n    resp = self._request(\"GET\", url, stream=True)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "  File \"/usr/local/lib/python3.12/dist-packages/qfieldcloud_sdk/sdk.py\", line 820, in _request\n    raise QfcRequestException(response) from err\n"], "error_type": "API_INTERNAL_SERVER_ERROR", "feedback_version": "2.0", "outputs": {"start_qgis_app": {}}, "steps": [{"id": "start_qgis_app", "name": "Start QGIS Application", "returns": {}, "stage": 2}, {"id": "download_project_directory", "name": "Download Project Directory", "returns": {}, "stage": 1}, {"id": "project_validity_check", "name": "Project Validity Check", "returns": {}, "stage": 0}, {"id": "opening_check", "name": "Opening Check", "returns": {}, "stage": 0}, {"id": "project_details", "name": "Project Details", "returns": {}, "stage": 0}, {"id": "generate_thumbnail_image", "name": "Generate Thumbnail Image", "returns": {}, "stage": 0}, {"id": "stop_qgis_app", "name": "Stop QGIS Application", "returns": {}, "stage": 0}], "workflow_id": "process_projectfile", "workflow_name": "Process Projectfile", "workflow_version": "2.0", "error_origin": "container", "container_exit_code": 0}' WHERE "core_job"."id" = 'a660979e-2dc7-416e-a470-f16ff1397ad7'::uuid

app-1  | {"request_id":"none","ts":"2024-11-13T14:25:01.561966","level":"ERROR","name":"root","message":"Expected to either run behind nginx proxy, debug mode or within a test suite.","filename":"rest_utils.py","lineno":37,"thread":139829078521600,"source":"app","exc_info":"Traceback (most recent call last):\n  File \"/usr/local/lib/python3.10/site-packages/rest_framework/views.py\", line 506, in dispatch\n    response = handler(request, *args, **kwargs)\n  File \"/usr/src/app/qfieldcloud/core/views/files_views.py\", line 209, in get\n    return utils2.storage.file_response(\n  File \"/usr/src/app/qfieldcloud/core/utils2/storage.py\", line 253, in file_response\n    raise Exception(\nException: Expected to either run behind nginx proxy, debug mode or within a test suite."}

app-1  | {"status_code":500,"request":"<WSGIRequest: GET '/api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/'>","request_id":"none","ts":"2024-11-13T14:25:01.746852","level":"ERROR","name":"django.request","message":"Internal Server Error: /api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/","filename":"log.py","lineno":241,"thread":139829078521600,"source":"app"}

Seems that this exception is raised, which would mean that the execution does not pass the 2 ifs just above :thinking: ?

Thanks @gounux for the detialed report.
The exception is actually quite accurate what should happen:
Expected to either run behind nginx proxy, debug mode or within a test suite.
Your request is going through app directly, as seen in the provided log file here:
GET http://app:8000/api/v1/files/66a35559-5a3d-4b33-9d7a-ba8a46a3da1e/_cloud.qgs/ got HTTP 500
::>>>::16a121b4-24fb-43e2-8b06-4743a1b9542a 1

Change that either to nginx or even better, to the domain name of your server.

authors: gounux suricactus

repo: opengisch/QFieldCloud


text:
PeerJ EC4

Another concern is about novelty of JOSS, literature review of related efforts, and understanding how JOSS works fit into the broader infrastructure. See for example below about Calgo. Further, how does it fit into the world of education (are submissions uses by teachers or students) or software engineering?

Note about Calgo:

Regarding the note “Calgo”, please see http://calgo.acm.org/ and http://toms.acm.org/algorithms-policy.cfm. Some discussion of this long-running algorithm venue seems necessary.

Other journals mentioned in #10 and #17

Calgo is interesting—it does review algorithms/software, with a focus on

This software is refereed for originality, accuracy, robustness, completeness, portability, and lasting value

It does seem limited to software associated with papers published in Transactions on Mathematical Software, so this connection to a paper (along with the domain-specific nature) are some differences from JOSS. It is also fairly small, with only 986 published entries from 1960-today.

Geoscientific Model Development (GMD, https://www.geoscientific-model-development.net/) is also worth mentioning. While the "model description papers" do focus on software, this seems more analogous to JORS since these are full-length papers. They also consider papers describing methods for assessing models, and papers for describing model experiments and evaluations.
One other similarity with GMD is that papers are first available in a discussion forum, where anyone can add comments alongside those from reviewers.

We could also discuss some instrumentation journals (mentioned in #10), like Geoscientific Instrumentation, Methods and Data Systems (https://www.geoscientific-instrumentation-methods-and-data-systems.net/index.html), or Elsevier's new Hardware X. I do see these as somewhat similar in spirit to JOSS etc. in publishing non-article scholarly products.

If we didn't, we should add a link to Neil's https://www.software.ac.uk/which-journals-should-i-publish-my-software and explain where we fit.  If there are journals we've found that aren't in that list, we should suggest that Neil add them.

authors: danielskatz kyleniemeyer

repo: openjournals/paper-JOSS-oneyear


text:
Singular value in Period type is output in plural format

Examples:

1 week -> 1 weeks
1 month -> 1 months

To reproduce, type into any Period type field.

Fixed here - https://github.com/openlawteam/openlaw-core/pull/176

fixed in #176

authors: jtrein outkaj

repo: openlawteam/openlaw-core


text:
ol.control.OverviewMap missing options from OL2

How can I lock zoom to 1 level in ol.control.OverviewMap?
There are missing options from OL2:
numZoomLevels: 1
minRatio: 0, maxRatio

It is not currently possible to do that.  A PR would be welcome.  I'd be happy to test it if you're willing to work on this.

I think it should use ol.View rather than one-off options like numZoomLevels etc as it will give it much more control (restricting rotation, resolution control, different projections, different center, etc).

authors: KlemenSpruk adube thinkpadder1