RealSense D435i Getting started Windows

Hi there, apologies for the simplicity of the question.
I am quite new to all of this and not clear on what the difference is between the viewer and the SDK?
I would like to start with the examples, but not sure what I need to get set up: I have the SDK WIN 10, the viewer and running visual studio.
When I attempted the Hello Real Sense example

it says to use vcpkg for the #include <librealsense2/rs.hpp> // Include RealSense Cross Platform API

is this what should be used?

Hi @karlita101  The RealSense SDK is the development platform that RealSense applications can be created in.  The RealSense Viewer is an application created with the RealSense SDK that can be used as a user-friendly tool to access, visualize, alter and export camera data without requiring any programming knowledge.
If you are using Windows and have installed the full RealSense SDK from the Releases web-page using the 793 mb Windows installer file (the easiest way to install the SDK on Windows) then you can immediately access a set of pre-built launchable .exe versions of SDK examples.  The installer file for Windows 10 is in the Assets file-list at the bottom of the information listing for each SDK version number.
https://github.com/IntelRealSense/librealsense/releases/
If you installed the SDK with the installer file and had launch icons for the RealSense Viewer and the Depth Quality Tool placed on your Windows desktop by the installer then you can right-click on one of those launch icons and select Open file location from the menu to open the folder window where the executable sample programs are located.
The full address on Windows of the Tools folder location is:
C: > Program Files (x86) > Intel RealSense SDK 2.0 > Tools
If you would like to access the examples through Visual Studio, Intel have a guide for this process in the link below:
https://www.intel.co.uk/content/www/uk/en/support/articles/000030463/emerging-technologies/intel-realsense-technology.html

Hi @karlita101 The RealSense SDK is the development platform that RealSense applications can be created in. The RealSense Viewer is an application created with the RealSense SDK that can be used as a user-friendly tool to access, visualize, alter and export camera data without requiring any programming knowledge.
If you are using Windows and have installed the full RealSense SDK from the Releases web-page using the Windows installer file (the easiest way to install the SDK on Windows) then you can immediately access a set of pre-built launchable .exe versions of SDK examples. The installer file for Windows 10 is in the Assets file-list at the bottom of the information listing for each SDK version number.
https://github.com/IntelRealSense/librealsense/releases/

If you installed the SDK with the installer file and had launch icons for the RealSense Viewer and the Depth Quality Tool placed on your Windows desktop by the installer then you can right-click on one of those launch icons and select Open file location from the menu to open the folder window where the executable sample programs are located.
The full address on Windows of the Tools folder location is:
C: > Program Files (x86) > Intel RealSense SDK 2.0 > Tools
If you would like to access the source-code of the examples through Visual Studio, Intel have a guide for this process in the link below:
https://www.intel.co.uk/content/www/uk/en/support/articles/000030463/emerging-technologies/intel-realsense-technology.html

Perfect, thanks!
**Question1: ** is that the same as described here:
https://dev.intelrealsense.com/docs/compiling-librealsense-for-windows-guide
Question 2: Would it work for VS 2019?
*Question 3 Is there a more in-depth (step by step) user manual/guide that I can refer to, with what it takes to set up the camera.
Thank you

Compiling on Windows is a longer way of achieving the same goal as using the installer file.  for example, selecting the BUILD_EXAMPLES and BUILD_GRAPHICAL_EXAMPLES tick-boxes in the CMake interface builds the sample programs and tools.  BUILD_GRAPHICAL_EXAMPLES builds programs that make use of OpenGL graphics, such as the Viewer and Depth Quality Tool.

In regard to the section of the instructions that discusses enabling metadata, you can now do this from within the RealSense Viewer instead.

VS2019 has been used to compile librealsense successfully, yes.  Here is an example report of success:

https://github.com/IntelRealSense/librealsense/issues/6219

Intel have an excellent camera tuning guide as the first link on their list of white paper documents that provide expert guidance on a wide range of RealSense subjects.

https://dev.intelrealsense.com/docs/whitepapers

Hi Marty,
What is the difference then between the method you noted above
and this one .
Why is it that it isn't registered in the first place? I can the librealsense2 under the SDK folder

The second link represents the source code of librealsense in a GitHub repository.
The first link explains that you can clone a repository (make a copy of it). You can then build the code in that copied repository into binaries.
Regarding the question about registering, can you explain more about your question please?

For the Hello Real Sense example: https://dev.intelrealsense.com/docs/rs-hello-realsense

We include librealsense2 however when I try to do this one Visual Studio it does not work ( even though I do have the folder present).

I would personally recommend using the librealsense GitHub version of the examples, because then you have the source code at the top of the page of each example.  The tutorials pick out sections from the code to highlight instead of going through the script line by line, so you can't make a working script by pasting the lines from the tutorial together.  You should refer to the .cpp file at the top of the page (e.g rs-hello-realsense.cpp).
https://github.com/IntelRealSense/librealsense/tree/master/examples
I am off-shift now.  If you leave a comment below, I will be happy to reply when I return in 8 hours from the time of writing this.

Hi @karlita101   Do you still require assistance with this case, please?   Thanks!

No, it worked out, thank you !

Great news - thanks for the update!


what a bug

it does not work anyway

Please upgrade to the latest Alipay app, and ensure your network is ok. 😃


[Storage][File]swagger generation based on storage-dataplane-preview:db33535

Hack to not show unrelated commits in a PR.


Register pytest marker for 'flaky' tests

[ ] Closes #xxxx
[x] Tests added / passed
[x] Passes black dask / flake8 dask

PR https://github.com/dask/dask/pull/7319 added a new pytest flaky mark for tests. Pytest expects marks should be registered. If they're not, it produces an error and you can't run the test suite (this is true from about pytest version 4.6.0 onwards).
This was happening to me on my local machine, so I've added a line to setup.cfg to register the pytest flaky mark. Now the test suite runs again for me.

Just an additional note that pytest-rerunfailures is included in the pip requirements for tests.
I think it is still reasonable to add a note about this specific message in the docs though if you like @GenevieveBuckley. I ran into it as well after the flaky markers were added and it took me a minute to figure out.

Ah, I didn't recreate/update my environment. I didn't realise pytest-rerunfailures automatically registered a flaky mark.

I think it is still reasonable to add a note about this specific message in the docs though if you like @GenevieveBuckley. I ran into it as well after the flaky markers were added and it took me a minute to figure out.

I'd prefer not to take this approach. It seems like adding unnecessary complexity to the docs for what is a short-term problem, and something you might not come across at the right time anyway.
I'd either (1) explicitly register the flaky mark, or (2) just wait it out, since the tests work if you recreate a new development environment. I don't have a preference for either (1) or (2) given what you've just explained to me. It sounds like everyone else in this thread might prefer (2), so maybe that's our consensus.

I have a slight preference to not do anything

I'm going to close this since we are in agreement on "do nothing"


⚠ ClamAV has degraded performance

In 8cc265a, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: ClamAV performance has improved in 8587d12 after 5 minutes.


MiniCart 3.0.5 still not passing weight over to PayPal for shipping calcs

The new cart is very nice.  I've  been trying to pass over weight for the items to use the PayPal shipping calculator.  It works fine without minicart, and it also works fine with minicart.js 2.5.0.   I've tried digging into the code, but without being intimately knowledgable about PayPal and the original code, it's difficult to get to the bottom of it.   I was able to pass over weight_cart by incrementing the value of the hidden field, but the calculated shipping still isn't correct.  It would be great if this could be fixed.  I want to use the new cart.

I have this same issue. Shipping costs by weight are not being passed when I implement minicart-js. It's otherwise working fine.
I've been digging through all source files and trying different methods but couldn't figure out how to make it work. Any ideas will be greatly appreciated.

Replace:
<input type="hidden" name="shipping_<%= idx %>" value="<%= items[i].get("shipping") %>" />            <input type="hidden" name="shipping2_<%= idx %>" value="<%= items[i].get("shipping2") %>" />

with
<% if (items[i].get("shipping")) { %><input type="hidden" name="shipping_<%= idx %>" value="<%= items[i].get("shipping") %>" /><% } %>            <% if (items[i].get("shipping2")) { %><input type="hidden" name="shipping2_<%= idx %>" value="<%= items[i].get("shipping2") %>" /><% } %>        <% if (items[i].get("weight")) { %><input type="hidden" name="weight_<%= idx %>" value="<%= items[i].get("weight") %>" /><% } %>

I'm getting a value of "undefined" passed to PayPal for shipping values when none are set explicitly by the item (shipping is being handled on a per order basis at PayPal.com). Hoping these conditional statements are going to solve that as well. @Sarke - thanks for the note!


What does save/load do?

Type '/save','/load' to save network state into a binary file.

After I run save and load it back into a new session it seems to have forgotten my previous prompts, what exactly do these commands do and what are they used for?

Good point!
Uhh, right now it does nothing... :)
At the moment in v0.2.4, you can save_log and load_log which allows you to have a memory of previous conversations.
The point of the /save and /load was to be able to save the snapshot of the whole state of the network to disk in a binary file and then load it. That saves be an exact copy of the state but the file will be big, 1Gb or more.
Currently saving seems to work, it does make a binary file to disk, but loading seems buggy. I don't really understand what's wrong there at the moment...
I'll bump the binary Release to v0.2.5 version once I get it working.
Maybe I should have put the progress into a different branch to avoid confusions...
Anyway, use save_log and load_log for save/resume for now, its almost the same thing and uses much less space.

Got save/load working! I think.

Thanks again for your fast work!

Yeah, should be useful. You'll still have to load the 1+Gb. I'm not sure if there is a way to optimize that.

Even if it can't be optimized, surely it is more efficient than reloading the model from startup.

Yep. For now the program only makes a saves folder and saves the state there. But I agree, naming the saves would be useful.

For now the workaround is to move the save file elsewhere after saving and move it back before loading.
I'll leave this issue open until naming saves or specifying paths is implemented unless you want to create a new issue specifically for that to keep track of it there.

/save NAME and /load NAME will now save/load the state in saves/NAME.bin
Because it's really easy to fill your hard drive with those multi-Gb files, I also added a --no-saves toggle so one can turn the whole thing off.

That is good but there should really be a CLI parameter --save-dir for the save folder location if we can't specify paths for individual saves.

This is good. Let me know if it works or not. :) I just pushed the update as soon as it seemed to work.

Unfortunately it seems to be bugged. Saving seems to work fine but loading seems to have something odd about it.
./chat -m ggml-gpt4all-j-v1.3-groovy.bin -s 1
> What is a dog?
...
> /save dog

Then kill it and start it again loading the model and querying it with:
> /load dog
> Provide more information.
I apologize for the confusion earlier. Can you please clarify what you would like me to provide additional information on?

But if I copy the dog.bin and dog.ctx saves to model_state.bin and model_state.ctx and run it:
> /load
> Provide more information.
I apologize for the confusion earlier. Dogs are domesticated animals that belong to the family Canidae. They have been around since ancient times and were used as hunting dogs in many cultures. They are known for their loyalty, affection, and ability to provide companionship.

I have tested it multiple times and it seems to just not have any memory when loading using the named save. This would be easier to debug if we could produce deterministic results (#14).

Another thing to note is that /save <NAME> and /load <NAME> alters the state of params:
https://github.com/kuvaus/LlamaGPTJ-chat/blob/7df9232a9824f3940eebd0aec69ed9ba99dcd968/src/chat.cpp#L189
https://github.com/kuvaus/LlamaGPTJ-chat/blob/7df9232a9824f3940eebd0aec69ed9ba99dcd968/src/chat.cpp#L208
Therefore calling /load after a /save <NAME>  will use <NAME> instead of whatever --state is set to:
> /save test
Model data saved to: saves/test.bin size: 0.94 Gb
> /load
Model data loaded from: saves/test.bin size: 0.94 Gb
> /save
Model data saved to: saves/test.bin size: 0.94 Gb

Is this the desired behavior?

Another thing I have noticed that loading model state is fairly quick but the it makes the next query(s) are much slower - taking around 5x longer. Why does this happen? Is this expected?

Lots of good comments! Thank you! :)

That is good but there should really be a CLI parameter --save-dir for the save folder location if we can't specify paths for individual saves.

I just have to make sure that it does not cause any security issues first. There needs to be some checks that you can't accidentally overwrite any important binaries...

Another thing to note is that /save <NAME> and /load <NAME> alters the state of params:
Is this the desired behavior?

It was until you pointed it out :) Fixed now so that --state is the default if no  is used.

I have tested it multiple times and it seems to just not have any memory when loading using the named save. This would be easier to debug if we could produce deterministic results (#14).

I hope this works now with the name changes and --temp.

It turns out calling /load causes the memory to permanently increase by around a GB and this made it just exceed the RAM of the machine I was testing this on causing a lot of swapping to happen, I suspect this is the cause of the slow running after loading.

Memory speed is really the bottleneck with these models. When it goes to swap, it becomes atrociously slow. On mac (and I assume on linux too) you could perhaps use sudo purge to clear your memory before starting the program for the first time.

Is it possible to combine the loaded state with the internal memory so we don't have increased memory requirements after loading? It's not a big deal either way - I was cutting it real close with the RAM as is.

This is a really tough question. I honestly don't know! I only have some thoughts but raw memory management is something I don't know much about.

you have the 4Gb model in memory and then you have to also stream the 1Gb state from disk. I do delete the stream buffers at the end of the loading function but I'm not sure what's going on.
the backend handles the raw pointers and the memory for the model. Maybe there's a way to change those without altering the backend...

But I get what you're saying. Ideally you'd want /load to just replace the state of the model with the loaded file and free all the other memory.
Now, someone smarter than me can say "oh its easy, you just do this (solution)". So if someone figures it out, I'm super happy to add that feature. :)
I mean its probably likely that I coul just be doing something very inefficient here.

with v0.2.7:
./chat -m ggml-gpt4all-j-v1.3-groovy.bin --temp 0.001
> What is a dog?
 A dog is a domesticated animal that belongs to the family Canidae. They are known for their loyalty, affection, and ability to provide companionship. Dogs have been around since ancient times when they were used as hunting dogs or guard animals. Today, there are many different breeds of dogs with unique characteristics such as size, temperament, and coat color.
> /save dog
Model data saved to: saves/dog.bin size: 0.94 Gb
> quit

Now, with loading:
> /load dog
Model data loaded from: saves/dog.bin size: 0.94 Gb
> Provide more information.
 I would like you to provide me with more details about what you are looking for. Can you please specify your request?

But if you say this instead:
> /load dog
Model data loaded from: saves/dog.bin size: 0.94 Gb
> tell me more
 A dog is a domesticated animal that belongs to the family Canidae. They are known for their loyalty, affection, and ability to provide companionship. Dogs have been around since ancient times when they were used as hunting dogs or guard animals. Today, there are many different breeds of dogs with unique characteristics such as size, temperament, and coat color.

Dogs come in a variety of shapes, sizes, and colors. Some common breeds include the Labrador Retriever, Golden Retriever, Beagle, Boxer, Bulldog, Poodle, and Dachshund. Each breed has its own unique traits such as energy levels, shedding habits, and grooming needs.

Dogs are known for their intelligence and ability to learn new things quickly. They have been trained in a variety of skills including obedience, agility, tracking, and protection. Some dogs even have specialized jobs like police dogs or therapy animals.

Overall, dogs are an important part of our lives

With low temperature you should hopefully get the same results.

With low temperature you should hopefully get the same results.

Yes, and no, even using that temperature I am getting slightly different results, for example my first query:

A dog is a domesticated animal that belongs to the family Canidae. They are known for their loyalty, affection, and ability to provide companionship. Dogs have been around since ancient times when they were used as hunting dogs or guard animals. Today, there are many different breeds of dogs with unique characteristics such as size, temperament, and physical features.

Perhaps --top_k 1 would be more reliable for determinism?
Then after saving and loading running your query tell me more gives a similar result but Tell me more. (capitalization and full stop) gives:
 I would love to know more about you! What's your name? Where are you from originally? Do you have any hobbies or interests that you enjoy doing in your free time?

Now if I give it the prompt Tell me more. directly after the prompt What is a dog? in the same session I get a relevant result about dogs (compared to the one above). So save/load seems to not load the exact state back but it is clearly loading something back.

Very interesting!
I didn't even realize about --top_k 1. Thank you! It's absolutely better to use that.
And yet I still got:

... such as size, temperament, and coat color.

even with --temp 0.001 or --top_k 1 or --top_k 1 --temp 0.001.
I get the same result with all three cases but it does indeed differ from yours. Maybe there's some machine specific things going on as well. (How floating points are calculated on the processor etc.) I'm running this on a mac with AVX1 only.
Also got with  --top_k 1
> /load dog
Model data loaded from: saves/dog.bin size: 0.94 Gb
> Tell me more.
 I would love to know more about you! What's your name? Where are you from originally? Do you have any pets?

vs:
> What is a dog?
 A dog is a domesticated animal that belongs to the family Canidae. They are known for their loyalty, affection, and ability to provide companionship. Dogs have been around since ancient times when they were used as hunting dogs or guard animals. Today, there are many different breeds of dogs with unique characteristics such as size, temperament, and coat color.
> Tell me more.
 I would love to know more about you! What's your name? Where are you from originally? Do you have any pets?

Well... I guess there could be a bug in loading, in the backend, or the models just are inherently little bit unpredictable. But the fact that "Tell me more." is so different from "tell me more" is kinda unsettling.

So save/load seems to not load the exact state back but it is clearly loading something back.

You're right. Something is off...

I get the same result with all three cases but it does indeed differ from yours. Maybe there's some machine specific things going on as well. (How floating points are calculated on the processor etc.) I'm running this on a mac with AVX1 only.

Yeah, it must be slight calculation difference. For reference I have tested on:
Linux 5.15 x86_64 (Ubuntu) AMD (Supports AVX2)
Linux 5.10 x86_64 (Debian) Intel (Supports AVX2)
And get the physical features variation.

Great that you tested on multiple computers!
Its good that you found this bug! :) I'll look into this more at some point. But at the moment I don't have any ideas on how to make loading more accurate.
Meanwhile v0.2.8:
Added --save_dir and --state is now --save_name.
There's now a sanity check that /save and /load can only overwrite/load binaries of same size as the model state is. For example GPTJ is 941686804 bytes.
So you can overwrite a previous save or an empty file, but not an existing binary of different size. That should be enough to prevent accidents.


[Fix #8869] Fix a false positive for Style/RedundantBegin

Fixes #8869.
This PR fixes a false positive for Style/RedundantBegin when using begin for or assignment and method call.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Looks good!


Feature/enable raml 1.0 support

Adding Experimental RAML 1.0 support for RAML->Paths.
RAML 0.8 paths should not be changed/affected by this commit
Kindly note that RAML 1.0 support should be treated as Beta

Following review by @stojsavljevic the GenerationConfig was not wired correctly from the plugin into the parser. Latest commit fixes that

Great to hear that 1.0 support is finally there.
Awesome. Sorry for not contributing more on this. Keep on going. :)


chore(release): 1.116.0

See CHANGELOG

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: 1c50b4372e97d7023de83079344cac964b97f76c
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: ee786f43d8ae5049f0a0a07e289bf4257e981d82
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Question: Will opendal clean the aborted data when streaming write?

May implement this by config lifecycle

opendal clean the aborted data when streaming write

OpenDAL will clean the data while Writer::abort has been called.
But it's better to configure a lifecycle to make sure the data has been cleanup.


Minor tweaks in the Bazel for iOS developers docs

Hello XCHammer maintainers team. I've been learning about Bazel this week and found your document super informative.
While reading through it, I found some very minor things that could be tweaked, so I thought I'd open a PR for that.
My intent here is to help make a useful document even more accessible, I hope I'm not coming across as a nitpicky contributor.
I made every change in a dedicated commit, so if there's something you'd rather not integrate, it can be easily dropped.
Thanks for the work you put into crafting this document, XCHammer, and your contributions to the community.

Hey @mokagio - thank you so much for sending over this PR - this is a great improvement! I appreciate that you've taken the time and improved it to this level. Also, I'm glad that you've found this documentation useful.
My hope is that we can make Bazel more accessible and useable to the broader iOS community and I'm glad you've found all of this this useful. 👍


Enabled Datadog deployments of ECS

 Add ability to send a deployment notification to datadog

 Add ability to send a deployment notification to datadog


This should be os.CreateTemp instead of CreateTemp (not admin editable so should be for security)

https://github.com/FiskFan1999/wvlist/blob/2d270faf84bcb783322acdaa167405d0bbcc3c5c/smtpStuff.go#L135

Refer to #18


Allow for the use of URLs in place of DOIs

Feature Request
I am screening results from a couple of sources that do not have DOIs but offer links. It would be great to be able to use them like one can use DOIs to quickly access the source.
Ideally offer an alternative data field (e.g., URL) that replaces the doi, and then shows a direct link during the screening phase, rather than linking to the resolver.
Alternatively, the doi field could also support both types of link, if values starting with "10." - which encompass all valid dois and no valid URL - are prefaced with doi.org.

This is wonderful! I added the URL to the dataformat documentation in PR #1311 - it seems to be already adequately documented in the screening window, I just never thought to look there (given how intuitive the screening window is).


Google code 429 error & Connection timeout

This is an amazing data viz repo. Well done @joweich !
Summary: After 2 successful runs I got a Google code 429 error & then, after making changes to the TrendReq () parameters I kept getting Connection timeout errors.
The issue I have is, after running this script twice successfully (with an output image generated both times) I then encountered a Google "code 429" error.
python yearinsearchtrends.py
Traceback (most recent call last):
File "yearinsearchtrends.py", line 141, in
import yearinsearchtrends as yist
File "C:\Users\Philip\Documents\Python\Projects\4. Misc Data Analysis\Google search year trends (joweich)\yearinsearchtrends.py", line 145, in
keywords, "2022-01-01 2023-01-01"
File "C:\Users\Philip\Documents\Python\Projects\4. Misc Data Analysis\Google search year trends (joweich)\yearinsearchtrends.py", line 44, in get_interest_over_time
df_chunk = pytrends.interest_over_time()
File "C:\Users\Philip\Miniconda3\lib\site-packages\pytrends\request.py", line 230, in interest_over_time
params=over_time_payload,
File "C:\Users\Philip\Miniconda3\lib\site-packages\pytrends\request.py", line 160, in _get_data
response=response)
pytrends.exceptions.ResponseError: The request failed: Google returned a response with code 429.
After reading up a bit on this error here I amended this line:
pytrends = TrendReq(tz=360)
to this...
pytrends = TrendReq(hl='en-US', tz=360, timeout=(12.03,25), proxies=['https://<IP_ADDRESS>:80',], retries=10, backoff_factor=0.5, requests_args={'verify':False})
But got the error below as a result
`Traceback (most recent call last):
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\connection.py", line 175, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\util\connection.py", line 95, in create_connection
raise err
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\util\connection.py", line 85, in create_connection
sock.connect(sa)
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\connectionpool.py", line 700, in urlopen
self._prepare_proxy(conn)
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\connectionpool.py", line 994, in _prepare_proxy
conn.connect()
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\connection.py", line 358, in connect
conn = self._new_conn()
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\connection.py", line 182, in _new_conn
% (self.host, self.timeout),
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x0000011D5CC7CC48>, 'Connection to <IP_ADDRESS> timed out. (connect timeout=12.03)')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Philip\Miniconda3\lib\site-packages\requests\adapters.py", line 450, in send
timeout=timeout
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\connectionpool.py", line 786, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "C:\Users\Philip\Miniconda3\lib\site-packages\urllib3\util\retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='trends.google.com', port=443): Max retries exceeded with url: /?geo=US (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x0000011D5CC7CC48>, 'Connection to <IP_ADDRESS> timed out. (connect timeout=12.03)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "yearinsearchtrends.py", line 144, in
import yearinsearchtrends as yist
File "C:\Users\Philip\Documents\Python\Projects\4. Misc Data Analysis\Google search year trends (joweich)\yearinsearchtrends.py", line 148, in
keywords, "2022-01-01 2023-01-01"
File "C:\Users\Philip\Documents\Python\Projects\4. Misc Data Analysis\Google search year trends (joweich)\yearinsearchtrends.py", line 43, in get_interest_over_time
pytrends = TrendReq(hl='en-US', tz=360, timeout=(12.03,25), proxies=['https://<IP_ADDRESS>:880',], retries=10, backoff_factor=0.5, requests_args={'verify':False})
File "C:\Users\Philip\Miniconda3\lib\site-packages\pytrends\request.py", line 55, in init
self.cookies = self.GetGoogleCookie()
File "C:\Users\Philip\Miniconda3\lib\site-packages\pytrends\request.py", line 90, in GetGoogleCookie
**self.requests_args
File "C:\Users\Philip\Miniconda3\lib\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Philip\Miniconda3\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Philip\Miniconda3\lib\site-packages\requests\sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Philip\Miniconda3\lib\site-packages\requests\sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "C:\Users\Philip\Miniconda3\lib\site-packages\requests\adapters.py", line 507, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='trends.google.com', port=443): Max retries exceeded with url: /?geo=US (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x0000011D5CC7CC48>, 'Connection to <IP_ADDRESS> timed out. (connect timeout=12.03)'))`

Hi @philbywalsh, this is not an error of this module.
It's rather a self-protection mechanism by the respective endpoint to prevent abuse. Keep in mind that neither this project nor pytrends are officially supported tools and pytrends itself is only a pseudo-api.
Waiting for some time will usually unblock your session.


How can I show a custom spinner while loading a new chunk of items to display through AJAX?

Hello,
is there a way to show a loading spinner using this component while loading data through AJAX? Also, where I should I place the code which fires the actual AJAX call while the user is scrolling and the scroll has reached a threshold instructing the component to load more items?
Thank you!

Where is author?!


Slackware 14.2 build issue

OS: Slackware64-14.2
libsixel: 1.8.6
When trying to build the new 1.8.6 release in Slackware 14.2 the build fails, this did not occur with 1.8.5.
make  all-recursive
make[1]: Entering directory '/tmp/SBo/libsixel-1.8.6'
Making all in include
make[2]: Entering directory '/tmp/SBo/libsixel-1.8.6/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/SBo/libsixel-1.8.6/include'
Making all in src
make[2]: Entering directory '/tmp/SBo/libsixel-1.8.6/src'
Makefile:598: .deps/libsixel_la-allocator.Plo: No such file or directory
Makefile:599: .deps/libsixel_la-chunk.Plo: No such file or directory
Makefile:600: .deps/libsixel_la-decoder.Plo: No such file or directory
Makefile:601: .deps/libsixel_la-dither.Plo: No such file or directory
Makefile:602: .deps/libsixel_la-encoder.Plo: No such file or directory
Makefile:603: .deps/libsixel_la-frame.Plo: No such file or directory
Makefile:604: .deps/libsixel_la-fromgif.Plo: No such file or directory
Makefile:605: .deps/libsixel_la-frompnm.Plo: No such file or directory
Makefile:606: .deps/libsixel_la-fromsixel.Plo: No such file or directory
Makefile:607: .deps/libsixel_la-loader.Plo: No such file or directory
Makefile:608: .deps/libsixel_la-malloc_stub.Plo: No such file or directory
Makefile:609: .deps/libsixel_la-output.Plo: No such file or directory
Makefile:610: .deps/libsixel_la-pixelformat.Plo: No such file or directory
Makefile:611: .deps/libsixel_la-quant.Plo: No such file or directory
Makefile:612: .deps/libsixel_la-scale.Plo: No such file or directory
Makefile:613: .deps/libsixel_la-status.Plo: No such file or directory
Makefile:614: .deps/libsixel_la-stb_image_write.Plo: No such file or directory
Makefile:615: .deps/libsixel_la-tosixel.Plo: No such file or directory
Makefile:616: .deps/libsixel_la-tty.Plo: No such file or directory
Makefile:617: .deps/libsixel_la-writer.Plo: No such file or directory
Makefile:618: .deps/tests-tests.Po: No such file or directory
make[2]: *** No rule to make target '.deps/tests-tests.Po'.  Stop.
make[2]: Leaving directory '/tmp/SBo/libsixel-1.8.6/src'
Makefile:492: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/SBo/libsixel-1.8.6'
Makefile:399: recipe for target 'all' failed
make: *** [all] Error 2

Full build log - libsixel.log
This might be the issue?
$ find libsixel-1.8.6/ -iname '*deps*'
libsixel-1.8.6/src/$(srcdir)/.deps
libsixel-1.8.6/converters/$(srcdir)/.deps

where $(srcdir) is not expanding.

Git bisect results.
1bad200093176ae5c56651e7e6c7d56a77e745a4 is the first bad commit
commit 1bad200093176ae5c56651e7e6c7d56a77e745a4
Author: Hayaki Saito<EMAIL_ADDRESS>Date:   Sat Jan 11 07:21:58 2020 +0900

    Additional fixes for VPATH build(#56)

:100644 100644 2ab4289251cbc7b9511521ab05a191b8e504fbb3 62f1afdad49a18bb644fe48f9804c90288526d8b M	Makefile.am
:100644 100644 a49e912161cbd9c59d841dbb873a1764b86dbb44 ff563b22c19270ff7cc14c161eca38e825caf3af M	Makefile.in
:100644<PHONE_NUMBER>de0ac63a72a81e158c6998ceb6ae245a0687 895cc8991fee15753baf7fe6b420e1d87ae4c45c M	configure.ac
:040000 040000 a5f7fe4db51cceb735348d4330acd1441e8782cb<PHONE_NUMBER>0ca9bb9f5e41a19a80b9ec481b326e M	converters
:040000 040000 a5df756bd9dce1534f62f064d10abf673a07b1bb 96c231499849143578f72896e806908a35ed5124 M	python
:040000 040000 f17ebd094b5e65fb61405626367117d722d758dc f550c3ab57daa37d8724c5ec804ab89dbd094755 M	src

1bad200093176ae5c56651e7e6c7d56a77e745a4

I can't reproduce it.
$ cat Dockerfile
FROM vbatts/slackware:14.2

RUN slackpkg update
RUN slackpkg install -y git
RUN slackpkg install -y binutils
RUN slackpkg install -y gcc-5.5
RUN slackpkg install -y glibc
RUN slackpkg install -y cyrus-sasl
RUN slackpkg install -y curl
RUN slackpkg install -y libmpc
RUN slackpkg install -y kernel-headers
RUN slackpkg install -y make
RUN slackpkg install -y guile
RUN slackpkg install -y gc
RUN slackpkg install -y libffi
RUN slackpkg install -y openldap
RUN slackpkg install -y zlib
RUN slackpkg install -y libssh2
RUN slackpkg install -y flex
RUN git clone https://github.com/saitoha/libsixel
RUN libsixel/configure
RUN make
RUN converters/img2sixel --version

$ docker build . | tail -30
img2sixel 1.8.6

configured with:
  libcurl: yes
  libpng: no
  libjpeg: no
  gdk-pixbuf2: no
  GD: no

Copyright (C) 2014-2018 Hayaki Saito<EMAIL_ADDRESS>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Removing intermediate container 4006cb2d7b1c
 ---> 092cdfef853d
Successfully built 092cdfef853d

Can you reproduce it in your docker?

Try autoreconf -fi before configure. The problem seems to be in the autoreconf in 14.2 and is not present in Slackware current.
git clone https://github.com/saitoha/libsixel/
cd libsixel
autoreconf -fi
./configure
make

Finally reproduced with:
$ slackpkg install autoconf automake libtool perl m4 && autoreconf -if && ./configure && make

@saitoha Any progress on this issue?


[Feature] Don't search for MainActivity if set to io.flutter.embedding.android.FlutterActivity

In https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects (1a) it is explained:

Since the body of the MainActivity is now empty, you can also optionally delete the MainActivity.java/kt file if you'd like. If you do, you need to change your AndroidManifest.xml's reference to .MainActivity to io.flutter.embedding.android.FlutterActivity.

This means when setting the MainActivity name to io.flutter.embedding.android.FlutterActivity, there does not have to be a MainActivity file.
Current behavior:
Same error as in #77
Expected behavior:
Ignore MainActivity

48981828e831768c4ad89a35475e8f9f24e0aca5 now ignores MainActivity.

48981828e831768c4ad89a35475e8f9f24e0aca5 now ignores MainActivity.


Add packages, disable setup.sh on start

Add man package (especially for git help
Add bash_completion package
Disable calling setup.sh from start
Add (temporary) commands to setup.sh for quickly assembling all notebook files from their various sources for testing

I think we want to get those things merged in here, rather than having repos in 3 different places

Totally agree, was just temporary to make testing easier. Actually not relevant anymore; I'll remove it.


rotate the camera without right click

It would be more intuitive if the camera can rotate by mouse moving immediately since there is no text description. When I approached this demo, I had some difficulties figuring out how to rotate the camera. MouseButton::Right doesn't seem to work for me as I use BetterTouchTool's two-finger tap as a right click and disable Mac Trackpad's secondary click in Mac preferences. May need to open another issue if anyone else reports.

My reason for adding this initially was because the no-right-click behaviour was very annoying when you hit the borders of the window, or switched windows. I'm working on #136 and that should hopefully let us fix this properly.

This now works as expected - the camera will rotate, and you can hit Esc to release the input lock


feat: implement context handler to store HTTP request and tracing information

Implement support for setting current context to capture Http request and tracing information of the current context.
It provides per-thread context handling and supports enter/exit scope to avoid re-setting the context multiple time in event of re-entering the scope.
The context supports setting trace and span ids directly and parsing the ids from X-CLOUD-TRACE and traceparent Http header values.
Fixes #750

Note that PR also includes pulled env-tests-logging submodule.


Initial skeleton for C++ example/exercise code

The code I've used for the first example/exercise is the one used by @lkr-ind for Chapter 2 of the course. I had to reorganise things a bit to make it fit into a CMake project, but the code itself should be the same.
I've also added a top-level CMakeLists.txt file to the project. One reason is that it's useful for CI purposes, but a top-level CMakeLists.txt file is also needed for IDEs like Visual Studio Code to correctly load the project for things like intellisense etc. Rather pleasingly, if you do this then the test suite is also nicely integrated with the IDE:

The common CMake code currently lives in its own file under the cmake/ folder, but if students want to make their own project they would have to copy and paste its contents into their own CMakeLists.txt
I've also enabled CI for the repo so that we can check that all the example code compiles on Windows, Linux and macOS and that the files are properly formatted etc. Currently I'm not running the tests, as I wasn't sure whether we'd want some failing tests in the repository as an exercise. In that case we could mark the tests as expected to fail (assuming you can do this with GoogleTest), but that might confuse students.
I've stuck some text in a readme, but some/all of it could also just go directly into the course material, depending on how we want to organise things.

Close https://github.com/ImperialCollegeLondon/unit_testing_Cpp/issues/7

Is it possible to have two sets of testsuites with cmake? A hidden one for us, which checks all the code compiles, and the tests pass/xfail, and one for exercises which includes purposely failing tests, etcetera?

Thanks for feedback @lkr-ind. I've opened a new issue to add the rest of the code: #2


Make quickcheck and assert_approx_eq dev dependencies

Saves any dependants a little compile time, as those crates are only used for testing as far as I can see.

Thanks for the PR. Does this change still allow other crates to use the property_testing module for their own tests?

It does not. I though the property_testing module was there for property testing utilities. Would it make sense to make that a feature? I would also not mind to close the PR :wink:, it saves only very little of compile time anyways...

I think I've seen someone using this library specifically for the testing utils, but can't remember where. In any case, it seems like a potentially useful thing to expose, so making it available behind a feature flag sounds ideal.

Allright I hid the module behind a feature flag. I made it opt-in, as my guess was that most consumers won't use property testing. Please change if you think it is appropriate.
Thanks for the library by the way... its very useful.

Looks good, thanks.
Glad to hear someone is using it!


Run rcr-train on my own data

Hi
I have a question in regards to rcr-train, can I run this code for my own data I mean for different images and feature points?
Also, how do you calculate the mean? Is it the mean for the feature points of the images of the training set?
Regards

Yes, surely you can run it on your own images. I ran it on various images from ibug (LFPW, HELEN, etc.). You can run it on any feature points, you may need to adapt the rcr-train app slightly if not using ibug points.

Is it the mean for the feature points of the images of the training set?

Yes, that will do fine. It doesn't matter too much.

Hi
Thanks for replying, I need to know how do you store the mean (the form of the mean file), please?

I think it's a text file with all x and then all y coords or [x, y, x, y, ...]. Isn't it in the repo? I think you can easily find out.

Hi
No it is not in the repo, anyway I run the code on my own data but I got this error could you help me please:
Loaded a list of 51 landmarks to train the model.
Assertion failed: num_landmarks == model_landmarks_list.size(), file c:\phd\code
s\superviseddescent\superviseddescent-master\include\rcr\helpers.hpp, line 70

I don't know that off the top of my head - You'll just have to debug and read the code. It should be really simple.

Hi
the problem is in
model_landmarks_list	{ size=68 }	std::vector<std::basic_string<char,std::char_traits,std::allocator >,std::allocator<std::basic_string<char,std::char_traits,std::allocator > > >
It is 68 while my landmarks are just 51. I do not why it is 68

ok I solve it by change that
vector ibug_landmark_ids; // full 68 point list
for (int ibug_id = 1; ibug_id <= 51; ++ibug_id) {
ibug_landmark_ids.emplace_back(std::to_string(ibug_id));
}

Hi
I have some questions about the speed and the training and testing data. For the speed, yesterday I run the rcr-train for 5 images with 51 feature points, it took about more than six hours, is it normal?
For the dataset, when you train 3000 images, how many images did you use for the testing dataset?
Regards

I think I've trained it with 68 landmarks and 3000 images and it took a few hours or so. Probably you're not doing a release build with optimisation flags?
If that doesn't help you can try training with less landmarks (e.g. 20) just to see whether it's much faster then (it should take under an hour then).

Another question
How many images' feature points did you use to calculate the mean, please?

68?

Many thanks for replying.
I mean how many images have you used to calculate the mean (are they 3000 images as well? )?
How many images have you used for the testing dataset?
Regards

I think I used a few hundred to compute the mean, as mentioned above it doesn't matter much.
I used all the test images from all IBUG sets... I think HELEN and LFPW or something - maybe around 500? You can check their data if you want to use it.

Many thanks

Hi
When I try to use my own track model with 4dface project. It gives bad results, although it works very good with rcr-track project. Is that related to the ibug2did.txt and model_contours.json?

I really don't know from your problem description. Your idea might be right, if you changed the landmarking scheme, yes. You'll have to investigate. Sorry I can't be of much more help.


Cannot start Fast R-CNN demo (missing prototxt?)

I'm trying to run the Fast R-CNN example, but before doing a training and testing I would like to try the demonstration (last section of the README file). However, the main issue is that the fetch_fast_rcnn_models.sh script downloads only the caffemodel files without the corresponding prototxt file (and therefore the mxnet/tools/caffe_converter can't be used).
I searched in the rbgirshick repository and I found some prototxts but I'm not sure which are the ones corresponding to the caffemodels previously downloaded.
In particular the best promising one seemed https://github.com/rbgirshick/fast-rcnn/blob/master/models/VGG_CNN_M_1024/test.prototxt which I think can correspond to the vgg_cnn_m_1024_fast_rcnn_iter_40000.caffemodel downloaded by the script.
Giving this input to the converter, however, results in a failure with message google.protobuf.text_format.ParseError: 392:3 : Message type "caffe.LayerParameter" has no field named "roi_pooling_param".
Am I using the right prototxt or is it a problem related only to the converter? (If i remember correctly, the ROI Pooling operator was implemented in MXNet recently, so there should be an MXNet representation now).

@iluvatar593
I did notice that even if you wanted to download the vgg16/vgg19 models to convert using the run.py, it will complain that there is no module named caffe_pb2. So, that's missing from the caffe_parse folder. But even after I downloaded the missing file (of course I don't know if its the right one), I've got an error of NetParameter object has no attribute 'layer'.

Hi all,
the rcnn example exists in mxnet is outdated. please refer to authors repository here:
https://github.com/precedenceguo/mx-rcnn
I follow his manual and play demo successfully!
BTW, use tools/caffe_convert.py to convert caffe model to mxnet params.
BR,
Haria

@lasandcris
That's probably because you need some extra packages. Assuming you're using linux, try:
sudo pip install protobuf and
sudo apt-get install protobuf-compiler protobuf-c-compiler
and then make
Actually, like @haria said, it seems that the converter to be used is the one in the repo [s]he linked. I gave it a try but it seems it requires also to install the fast-rcnn fork of caffe. I'll keep performing tests, but it seems that the prototxt files are still needed for the conversion, and is not clear which ones to use.

@iluvatar593
protobuf is installed,  caffe_pb2 is independent from it.

Hi @iluvatar593 @lasandcris
When I try demo, I clone https://github.com/rbgirshick/fast-rcnn to fast-rcnn folder and update fast_rcnn_path in caffe_convert.py.
BR,
Haria


Make tests easier to run

This change is

@unbrice
Previously, iksaif (Corentin Chary) wrote…
> #### Make tests easier to run

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Coverage remained the same at 93.308% when pulling b62ecaf17470423ceda8416de6eb13312f081159 on iksaif:master into 4b4b353584edf9b3f50369874fdff8eb665d5f00 on criteo:master.

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, 5 unresolved discussions, some commit checks failed.

README.md, line 23 [r1] (raw file):

Or `nose2`

    pip install nose2

If we are to use a framework, did you consider py.test? It has all the hype and according to a quick Google search is what one should be using these days.
With py.test we could then do as such so that the full instructions read python setup.py test (no pip install required if you fix the typo in tests_require=) and we can switch frameworks at will.

biggraphite/test_utils.py, line 38 [r1] (raw file):

HAS_CASSANDRA_HOME = os.getenv("CASSANDRA_HOME")

Nit: if it this is called HAS_ it should be a boolean.

biggraphite/test_utils.py, line 41 [r1] (raw file):

if HAS_CASSANDRA_HOME:
    from testing import cassandra as testing_cassandra

Since this is in deps, it will be installed, so why not import it unconditionally?

biggraphite/test_utils.py, line 71 [r1] (raw file):

            for package_path in sys.path:
                if package_path.endswith("site-packages"):
                    for path in list(to_add):

no need for list()

biggraphite/test_utils.py, line 72 [r1] (raw file):

                if package_path.endswith("site-packages"):
                    for path in list(to_add):
                        venv_path = package_path + path

My understanding is that when this line is interpreted the venv is package_path.
I did some research and it seems that actually a better way to find the currently active venv (what the loop was trying to do before) is:
venv_root = None
if hasattr(sys, "real_prefix") and sys.prefix != sys.real_prefix:
  venv_root = sys.prefix

Or maybe I just didn't understand what this aims at achieving.

Comments from Reviewable

Review status: all files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

biggraphite/test_utils.py, line 74 [r1] (raw file):

                        venv_path = package_path + path
                        if os.path.isdir(venv_path):
                            # Replace the path in the list.

This comment is not most helpful. I think it should be "Remove system-wide install from sys.path", if I got it right. But then I don't see why you do that.

Comments from Reviewable

Review status: all files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

README.md, line 23 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> If we are to use a framework, did you consider py.test? It has [all the hype](
> http://mathieu.agopian.info/presentations/2015_06_djangocon_europe/) and according to a quick Google search is what one should be using these days.
>
> With py.test we could then do [as such](https://pytest.org/latest/goodpractices.html#integrating-with-setuptools-python-setup-py-test-pytest-runner) so that the full instructions read ```python setup.py test``` (no pip install required if you fix the typo in test**s**_require=) and we can switch frameworks at will.

It wasn't really about using nose2 as a framework but more as a test runner.  I'll just leave the instructions for tox.

biggraphite/test_utils.py, line 71 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> no need for list()

Even when changing it inside the loop ?

biggraphite/test_utils.py, line 72 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> My understanding is that when this line is interpreted the venv is package_path.
> I did some research and it seems that actually a better way to find the currently active venv (what the loop was trying to do before) is:
> ```python
> venv_root = None
> if hasattr(sys, "real_prefix") and sys.prefix != sys.real_prefix:
>   venv_root = sys.prefix
> ```
> Or maybe I just didn't understand what this aims at achieving.

I just changed the existing code to handle /opt/graphite/webapp/ on top of /opt/graphite/lib. I assumed that the previous code worked.

biggraphite/test_utils.py, line 74 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> This comment is not most helpful. I think it should be "Remove system-wide install from sys.path", if I got it right. But then I don't see why you do that.

It's doing exactly the same thing it used to do (except that to_add is a list and not a single variable)

Comments from Reviewable

Review status: all files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

README.md, line 23 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> It wasn't really about using nose2 as a framework but more as a test runner.  I'll just leave the instructions for tox.

Sounds good to me.

biggraphite/test_utils.py, line 71 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> Even when changing it inside the loop ?

Oh, right... Now I think I understand the code. What you're doing with to_add is way too clever for my little brain though. I  suggest you split it in three steps: 1/ find the venv root 2/ fix to_add, adding venv_root if it contains them 3/ change sys.path and three comments describing each of the three steps.

biggraphite/test_utils.py, line 72 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> I just changed the existing code to handle /opt/graphite/webapp/ on top of /opt/graphite/lib. I assumed that the previous code worked.

It did work but venv_path is not the path to the venv, rather the path to a "to_add" element. I think using the snippet I suggested would work better as the phase 1 I described above.

biggraphite/test_utils.py, line 74 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> It's doing exactly the same thing it used to do (except that to_add is a list and not a single variable)

I understand now. Thanks.

Comments from Reviewable

Review status: 0 of 2 files reviewed at latest revision, 5 unresolved discussions.

biggraphite/test_utils.py, line 41 [r1] (raw file):

ince this is in deps, it will be installed, so why not import it unconditionally?

Basically because the failure case is different if we want cassandra or if we don't really care (exception in one case, silent in the other)

biggraphite/test_utils.py, line 71 [r1] (raw file):

ink I understand the code. What you're doing with to_add is way too clever for my little brain though. I suggest you split it in three steps: 1/ find the venv root 2/ fix to_add, adding venv_root if it contains them 3/ change sys.path and three comments describing each of the three steps.

That's not what the current code is doing, the current code iterates on anything in sys.path and look for something that contains 'site-packages'. I don't really want to change that since I'm not sure why it was written this way in the first place.
Again, I don't want to change the logic of all this, I just want to add another path. If we want to change the actual logic we can do it in a separate change.

biggraphite/test_utils.py, line 72 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> It did work but venv_path is not the path to the venv, rather the path to a "to_add" element. I think using the snippet I suggested would work better as the phase 1 I described above.

renamed venv_path to venv_module_path. This used to be 'graphite_path' (while it was really carbon_path)

Comments from Reviewable

Coverage remained the same at 93.308% when pulling 55120c377849e7440cc028138c13d4e49cf83ed0 on iksaif:master into 4b4b353584edf9b3f50369874fdff8eb665d5f00 on criteo:master.

Coverage remained the same at 93.308% when pulling 55120c377849e7440cc028138c13d4e49cf83ed0 on iksaif:master into 4b4b353584edf9b3f50369874fdff8eb665d5f00 on criteo:master.

Previously, coveralls wrote…
>
> [![Coverage Status](https://coveralls.io/builds/6396487/badge)](https://coveralls.io/builds/6396487)
>
> Coverage remained the same at 93.308% when pulling **55120c377849e7440cc028138c13d4e49cf83ed0 on iksaif:master** into **4b4b353584edf9b3f50369874fdff8eb665d5f00 on criteo:master**.
>

Review status: 0 of 2 files reviewed at latest revision, 5 unresolved discussions.

README.md, line 23 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> Sounds good to me.

LGTM

biggraphite/test_utils.py, line 38 [r1] (raw file):
Previously, unbrice (Brice Arnould) wrote…
> Nit: if it this is called HAS_ it should be a boolean.

LGTM

biggraphite/test_utils.py, line 41 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> > ince this is in deps, it will be installed, so why not import it unconditionally?
>
> Basically because the failure case is different if we want cassandra or if we don't really care (exception in one case, silent in the other)

OK

biggraphite/test_utils.py, line 71 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> > ink I understand the code. What you're doing with to_add is way too clever for my little brain though. I suggest you split it in three steps: 1/ find the venv root 2/ fix to_add, adding venv_root if it contains them 3/ change sys.path and three comments describing each of the three steps.
>
> That's not what the current code is doing, the current code iterates on anything in sys.path and look for something that contains 'site-packages'. I don't really want to change that since I'm not sure why it was written this way in the first place.
>
> Again, I don't want to change the logic of all this, I just want to add another path. If we want to change the actual logic we can do it in a separate change.

OK

biggraphite/test_utils.py, line 72 [r1] (raw file):
Previously, iksaif (Corentin Chary) wrote…
> renamed venv_path to venv_module_path. This used to be 'graphite_path' (while it was really carbon_path)

OK

Comments from Reviewable


Issue about display of file extension

Describe the bug
If the file is in the system disk (local disk C:), the file extension could be displayed, while if it is in other disk, the file extension disappears.
Screenshots
In local disk C:, the file extension could be displayed.

While in disk D:, the file extension disappears.

Desktop (please complete the following information):

OS Version: Windows 10
App version: <IP_ADDRESS>

Thank you for reporting this issue, we will take some time to investigate the cause and how to fix it in one of the next updates.

@Matt98 @yaichenbaum FYI: the improvements made to item loading should make the extensions be displayed more consistently. Marking this as fixed. Please re-open if this regresses or is still problematic after the next Store release.

v0.7.1 is in the process of rolling out.


Kodi Matrix git on Ubuntu 18.04 sqlite3.OperationalError: near "ON": syntax error

Bug report
Your Environment

Netflix add-on version: 1.8 git master 889b5dc
Operating system version/name: Ubuntu 18.04
Device model:

Used Operating system:

[ ] Android
[ ] iOS
[X ] Linux
[ ] OSX
[ ] Raspberry-Pi
[ ] Windows

Describe the bug

After addon commit b5d5de2, the addon throws following error : sqlite3.OperationalError: near "ON": syntax error when opening addon from Kodi. After some investigation, the above mention commit requires that when running Kodi Matrix, SQLite has to be on version 3.24.0 or higher. The highest version level available on Ubuntu 18.04 is 3.22.0.
Expected behavior

Addon should open.
Actual behavior

Addon returns error on open.
Steps to reproduce the behavior

Open addon on Kodi Matrix running Ubuntu 18.04

Possible fix

The current version check for the SQL upsert which requires SQLite 3.24 is done by checking for Python 2 (Kodi 18 vs 19?). To fix on my system I modified the version check to check the SQLite version. I'm sure there is a much better way to do.
diff --git a/resources/lib/database/db_base_sqlite.py b/resources/lib/database/db_base_sqlite.py
index 979c75f..c609e66 100644
--- a/resources/lib/database/db_base_sqlite.py
+++ b/resources/lib/database/db_base_sqlite.py
@@ -245,7 +245,7 @@ class SQLiteDatabase(db_base.BaseDatabase):
table_columns = table[1]
# Doing many sqlite operations at the same makes the performance much worse (especially on Kodi 18)
# The use of 'executemany' and 'transaction' can improve performance up to about 75% !!

   if G.PY_IS_VER2:

   if tuple(sql.sqlite_version.split("."))[0:2] < ('3', '24'):
       query = 'INSERT OR REPLACE INTO {} ({}, {}) VALUES (?, ?)'.format(table_name,
                                                                         table_columns[0],
                                                                         table_columns[1])

Debug log

The debug log can be found from this link:
https://paste.kodi.tv/anupubiseq.kodi
Additional context or screenshots (if appropriate)
Installation

[ ] I'm using other Netflix Repo
[x ] I'm using a different source
Git master branch

Other information

Screenshots

Thanks for your good explaination
i will consider your change


Select lists don't change value visualy

Hi!! I love your work!! I'm using your Material Design theme, and have an issue with the select list. If execute a query that fill many items before or after the load page, the select lists don't chage your value visualy. Can you do help me? I'm on APEX 5.0

After you are done filling the items, you can execute this line to refresh the visuals:
materialAPEX.select.init();

Let me know if that works.

Works in my dev environment. Maybe it was caused by a 5.1 compatibility issue. Closing this for now.


Minor python2/3 print-statement/function compatibility fix

minor but breaking syntax issues RE: python2 compatibility. Calling print('hi') will raise a TypeError pre-python 2.7.14

@rtruxal : Thanks for your contribution to the Azure documentation! The author, @georgewallace, has been notified to review your proposed change.

@rtruxal Thank you for the contribution to the docs.  I reviewed your additional, and while the future statement is correct, I can not reproduce any syntax issues while running python runbooks in Azure Automation. The Example code works and I tested additional print statements. Can you confirm that this example does not work for you?

huh! Whoah...no. no I can't. I feel like a crazy person; am I just now learning that python2 has always allowed print('foo')?
I have been typing from __future__ import print_function for 3 years?!

well! I learned something from all this!
Statements like return or python2's print don't behave like typical objects at the REPL & take execution-precedence.
Just like you cannot call type(return) without raising a syntax error, you also cannot call type(print) in python 2.
Another feature is not needing to explicitly expand any tuples which come after them:
return (foo, bar) == return foo, bar
just like
print (oof, rab) == print oof, rab

@rtruxal Thats fantastic, you have taught me some things I didn't realize as well.  Please continue to review the docs and provide feedback where you see, we are working to make a better experience for all.


Bug fix: Make sure all current routes all have valid CIDR block

Because S3 endpoint routes do not use destination CIDR block. Those routes should be ignored by Asiaq.
@kelibezhani This will fix the error you saw.

👍

👍

+1


bug: Uncaught SyntaxError: The requested module '//node_modules/eventemitter3/index.js?v=59e72198' does not provide an export named 'default'

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
^1.3.8
Current Behavior
Perhaps I should cross-post this to the WalletConnect repo, but posting here in case there is a known issue with my setup or fix I haven't considered. I am following the WalletConnect migration guide found here to upgrade from v1 to v2. To use @walletconnect/modal, I must install @wagmi/core as well. The following is the code I am using (again, per the WalletConnect docs):
import { EthereumClient, w3mConnectors, w3mProvider } from '@web3modal/ethereum'
import { Web3Modal } from '@web3modal/html'
import { configureChains, createConfig } from '@wagmi/core'
import { createPublicClient, http } from 'viem'
import { mainnet, goerli } from '@wagmi/core/chains'

const chains = [mainnet, goerli]
const projectId = import.meta.env.WALLET_CONNECT_PROJECT_ID || '8e6877b49198d7a9f9561b8712805726'

const { publicClient } = configureChains(chains, [w3mProvider({ projectId })])
// const wagmiConfig = createConfig({
//   autoConnect: true,
//   connectors: w3mConnectors({ projectId, chains }),
//   publicClient
// })
// const ethereumClient = new EthereumClient(wagmiConfig, chains)
// const web3modal = new Web3Modal({ projectId }, ethereumClient)

The line of code that is not commented out throws the error mentioned in the subject line of this post. (const { publicClient } = configureChains(chains, [w3mProvider({ projectId })])).
The issue appears only after resolving a previous issue (seemingly having to do with Big integer literals are not being available/compatible with my setup), which required me to add the following to my vite config:
optimizeDeps: {
    exclude: ['@wagmi/core', 'viem']
  }

Any feedback would be much appreciated. 🙏
Machine: Mac M1
Processor: x86 via Rosetta
OS: MacOS Ventura 13.4
Browser: Chrome Version 114.0.5735.198
Front-End: Vue
Build Tool: Vite
Expected Behavior
No response
Steps To Reproduce
No response
Link to Minimal Reproducible Example (StackBlitz, CodeSandbox, GitHub repo etc.)
No response
Anything else?
No response

Thanks for reporting. This issue is temporarily closed due to lack of information. Please provide a minimal reproducible example and reopen this issue.


Scope and time scheduling of the meeting (issue #330 related)

The goal is to schedule a meeting covering introduction to dynpy enviroment.

Meeting has been scheduled in advance

Done

Done


JavascriptReferenceType: Implement Serializable

Implement classes newly added as Serializable to be able to store in cache or to be serialized.
Fix https://issues.apache.org/jira/projects/WICKET/issues/WICKET-7076?filter=allissues

IClusterable was introduced so that cache providers, like Terracotta, could decide what is Wicket specific and what is generic-Serializable.
For consistency with the other Wicket classes I'd prefer to use IClusterable here too.

Hi,
Yes it makes sense
Youre al right
Envoyé depuis mon appareil Galaxy
-------- Message d'origine --------
De : Martin Grigorov @.>
Date : 27/09/2023 12:50 (GMT+04:00)
À : apache/wicket @.>
Cc : leccyril @.>, Author @.>
Objet : Re: [apache/wicket] JavascriptReferenceType: Implement Serializable (PR #664)
IClusterable was introduced so that cache providers, like Terracottahttps://www.terracotta.org/, could decide what is Wicket specific and what is generic-Serializable.
For consistency with the other Wicket classes I'd prefer to use IClusterable here too.
—
Reply to this email directly, view it on GitHubhttps://github.com/apache/wicket/pull/664#issuecomment-1736979034, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAYVWJQX4M25VPNXL5CO3ILX4PSFFANCNFSM6AAAAAA5IWAM2I.
You are receiving this because you authored the thread.Message ID: @.***>

you want i change or you will do it ?
thanks !

Please make the change @leccyril.

done

Thank you, @leccyril !


Slider Syncing

Thanks for this module.
btw, I am gonna make syncing slider. like this page.
https://www.fashionnova.com/products/perfectly-classic-jeans-black?nosto=frontpage-nosto-1
$('.slider-for').slick({
  slidesToShow: 2,
...
});

if I set like this, only one image shows.
how can I show two images like above link?
Thanks in advance

Create two sliders and use asNavFor setting. Check Slider Syncing section http://kenwheeler.github.io/slick/


read from file should go into first row if empty

Date - 12/3/19
Steps:

Create a text file that has:
foo=bar
foo2=bar2
foo3
Go to Create Secret
Click on Read from a file
Select the text file

Results:  A new row is created.  The info should start in the first row instead of creating a new one if the first row is empty.

Date - 12/5
Verified fixed


feat(#431): Add more logs

Add several log entries, change logging text and rename some methods.
Related to #431.

feat(#431): add more logs
feat(#431): fix integration tests
feat(#431): add two more puzzles
feat(#431): fix all qulice suggestions

PR-Codex overview
Focus of this PR:
This PR focuses on improving the bytecode and xmir footprint by disassembling and assembling files, measuring the time taken, and logging the details.
Detailed summary:

The ImprovementBytecodeFootprint class now takes two parameters in its constructor: from (the folder to read .xmir files from) and classes (the folder to save the bytecode classes).
The apply method in ImprovementBytecodeFootprint now logs the assembling process, including the source and target files.
The recompile method in ImprovementBytecodeFootprint is renamed to assemble, and it now logs the assembling process, including the source and target files.
The transform method in ImprovementXmirFootprint now logs the disassembling process, including the source and target files.
A new log entry is added to transform method in ImprovementXmirFootprint to measure the disassembling time and print it to logs.
Various test files are updated to reflect the changes in log messages.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 5min)


online docker image + docker-compose

Hi
Your projet sounds nice and I will give it a try.
Why not publishing the docker image into docker hub and proposing a docker-compose file...sounds to me easier than the steps you propose...but will give a try anyway ;)

Thank you for your feedback.
Recently I was focusing on providing binaries for Linux, Mac and Windows for a more common usecase than docker. See installation section in the docs.
The status of docker is older and with the tar.gz version of the new bundling, the docker steps could be simplified further.
If there is a need for docker, I could provide images to docker hub, true.
So do not hesitate to try the gallery and I appriciate your feedback and your needs

Maybe the multi-stage build would help to simplify the steps and resulting image size using new bundle tar.gz files...
@darrepac what kind of services would you like to include into the docker compose stack?

Hi
I miss the documentation link (only read the github readme). Will definitely take a look next week.
Distributing a binary seems quite odd nowadays: everyone is proposing (because people ask) docker image… easier, safer, I can see only advantages particularly to test a new stuff.
Then, having a docker compose stack with all the services needed and the volume creation etc is also going for the easy route for new user
My 2 cents

Thank you for your feedback.
I think the format of docker or binary is a question of use case and flavor. I prefer more the docker way on my Linux, too. However my friends are desktop end users on Windows or Mac. So a decision is difficult and mostly subjective at the current state.
Let's discuss this topic when you are convinced by HomeGallery and you prefer a docker way.
I am also happy about a PR or can give some support to create one.

Sure!
Not a bad idea to do the test first on windows as a binary is easier to deploy here

Le 29 mai 2021 à 10:34, Sebastian @.***> a écrit :

Thank you for your feedback.
I think the format of docker or binary is a question of use case and flavor. I prefer more the docker way on my Linux, too. However my friends are desktop end users on Windows or Mac. So a decision is difficult and mostly subjective at the current state.
Let's discuss this topic when you are convinced by HomeGallery and you prefer a docker way.
I am also happy about a PR or can give some support to create one.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi!
I'm also discovering your project, and I found it very interesting and useful. I also prefer using Docker for my selfhosted apps. The current way to run it in interactive mode served me for testing, but in order to use it for "production" the image should be able to run in non-interactive mode, maybe passing an argument to the gallery.js to start the server (same action as using the menu). That would be good enough. Running in non-interactive would allow to prepare a compose file, even without the need to publish an image
Thanks for sharing this with the community!

Welcome @igomezl! Glad you found and like HomeGallery.
Meanwhile I pushed new changes to the master including updated non-interactive mode and improved Dockerfile. Please have a look to the updated CHANGELOG.md.
I was also playing with public docker images, please do not hesitate to test the image from the hub xemle/home-gallery. I am still struggling to support both amd64 and arm64 architecture and could need some help here. I was following Building Multi-Architecture Docker Images With Buildx. My docker buildx command failed on arm64 image on a amd64 host.
For non-interative mode you can access them via run command. See details calling the docker image with -h argument. E.g. docker run ... xemle/home-gallery run server or docker run ... xemle/home-gallery run import.
My next week will be busy. So do not expect further changes soon. If you find time to test the new features I appreciate your feedback.

Hi!
I'm also discovering your project, and I found it very interesting and useful. I also prefer using Docker for my selfhosted apps. The current way to run it in interactive mode served me for testing, but in order to use it for "production" the image should be able to run in non-interactive mode, maybe passing an argument to the gallery.js to start the server (same action as using the menu). That would be good enough. Running in non-interactive would allow to prepare a compose file, even without the need to publish an image
Thanks for sharing this with the community!

If you are able to prepare a compose file, I would be happy using it :)

Hi @darrepac
here is a sample docker-compose.yml file:
verson: "3.9"
services:
  api:
    build: packages/api-server
    environment:
      - BACKEND=node
    ports:
      - "3000"
  gallery:
    build: .
    # Or use public image
    #image: xemle/home-gallery
    environment:
      - GALLERY_API_SERVER=http://api:3000
    volumes:
      - ./data:/data
      - ${HOME}/Pictures:/data/Pictures
    expose:
      - "3000"
    entrypoint: ['node', '/app/gallery.js', 'run', 'server']

You need to run
# Build docker images from sources
docker-compose build
# Starts the webserver by default
docker-compose up -d

If you need to update the gallery, run docker-compose exec gallery /app/gallery.js run import --update to process new images

Sounds interesting. I will give a try in the next days.
I am not an expert but why do you prefer that we build the image locally instead of using the online image? online is updated less often?

verson: "3.9" => version: "3.9" ;)

Thanks. Corrected.
Please do not hesitate to give further feedback.
Regarding the docker image for the api-server: I do not have hard facts not to push this image yet - it is just a gut feeling.
The traffic to HomeGallery is yet also limited. So I try to do the most important things with my limited time. And I think, that the keyboard bindings for the desktop is more important than the api server docker image.
The tricky part with the api server is also that it is part of the mono repo attatched to its global version on the one hand. One the other hand it could be a dedicated service with its own versioning. I could not solve it yet when to build the api server release version and when not. The latest tag is easy, but the version tag question is not solved yet.
You are free to provide some ideas or PR regarding it.

I was not able to build, see below:
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>The package has been renamed to `open`
npm WARN deprecated<EMAIL_ADDRESS>Support has ended for 9.x series. Upgrade to @latest
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated<EMAIL_ADDRESS>Switch to 'npm install joi'
npm WARN deprecated<EMAIL_ADDRESS>Moved to 'npm install @sideway/address'
npm WARN deprecated<EMAIL_ADDRESS>Moved to 'npm install @sideway/formula'
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated and is no longer supported or maintained
npm WARN deprecated<EMAIL_ADDRESS>Moved to 'npm install @sideway/pinpoint'
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated and is no longer supported or maintained
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-06-13T07_25_10_590Z-debug.log
The command '/bin/sh -c cp package.json package.json.orig &&   grep -v -e api-server -e styleguide package.json.orig > package.json &&   npm install &&   find node_modules/@ffprobe-installer -name ffprobe -exec chmod ugo+x {} \;' returned a non-zero code: 1
ERROR: Service 'gallery' failed to build

Thank you for your time and your feedback.
Software development is very complex. To have public docker images is only a little step towards a final product. Docker is meant to be reproducible on other systems, so it is strange why it is not building on your side. It is also frustrating for me if something is not working as expected - especially on customer side as yours where I could not quickly check and fix things. So sorry for the inconvenience. Further, I am curious what are the difference on your machine and on mine and GitHub's (See logs from the action in the build step).
Would your mind to provide some context? Where you try to build the images and the version of docker and docker compose? It would be helpful to harden the system requirements. For the docker part I would like to have it reproducible locally for others as well.
You can provide infos through
uname -r -v
docker version
docker-compose version
git rev-parse HEAD

My output is:
$ uname -r -v
4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19)
$ docker version
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.11.6
 Git commit:        4c52b90
 Built:             Sun, 21 Feb 2021 18:18:35 +0100
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.6
  Git commit:       4c52b90
  Built:            Sun Feb 21 17:18:35 2021
  OS/Arch:          linux/amd64
  Experimental:     false
$ docker-compose version
docker-compose version 1.7.1, build 0a9ab35
docker-py version: 1.8.1
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
$ git rev-parse HEAD
205a53b68f7438d76e8b14dfa5f4de8e36375b2a

No problem:
$uname -r -v
4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19)
$ docker version
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:46:45 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:44:56 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
$ docker-compose version
docker-compose version 1.28.4, build cabd5cfb
docker-py version: 4.4.3
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
$ git rev-parse HEAD
43026294408e57251393dfd9f6a0023b4eb1a70e

Thank you. Yet I have no clue why your build should not work.
Does docker build -t home-gallery --no-cache . works? I assume that it produces the same error.

It took hours but
Successfully built 9c003f68e9d3
Successfully tagged home-gallery:latest

Wow! Congratulation!
Do you know the reason for the previous failure?

Wow! Congratulation!
Do you know the reason for the previous failure?

no idea

Mm. OK.
So you are know happy having a docker compose with a local api-server (while you are recommending public images for home-gallery and api-server)?

Sorry for not being so reactive these days...
After docker-compose launch, I have the following in the log:
Init configuration from /app/gallery.config-example.yml

Loaded gallery configuration from gallery.config.yml

Starting server

Execute: DEBUG=server* /usr/local/bin/node /app/gallery.js server --storage /data/storage --database /data/config/database.db --events /data/config/events.db

Open Home Gallery on http://localhost:3000

Database file /data/config/database.db does not exists. Waiting for the database file...

My docker-compose.yml file is:
version: "3.9"
services:
  api:
    build: packages/api-server
    environment:
      - BACKEND=node
    ports:
      - "3000"
  gallery:
    build: .
    # Or use public image
    #image: xemle/home-gallery
    environment:
      - GALLERY_API_SERVER=http://api:3000
    volumes:
      - ./data:/data
      - /home/pascal/Home-Gallery/test-photos:/data/Pictures
    expose:
      - "8080"
    entrypoint: ['node', '/app/gallery.js', 'run', 'server']

So I am suprised that while I expose the 8080 port, it seems to run at 3000.
And I don't understand this: Database file /data/config/database.db does not exists. Waiting for the database file...
I need to provide a database file??

HomeGallery requires some folders:

The configuration folder for the general configuration, the file indices and the database
The storage directory for the extracted previews and meta data
One or more media source directories

By default they are defined as following and the structure leans against the common Linux folders

ConfigDir: ~/.config/home-gallery
StorageDir: ~/.cache/home-gallery/storage
One Source ~/Pictures

These default values are chosen for the desktop binaries to get started right away in most cases. And all these values can be configured in the gallery.config.yml. It can also overwritten by environment variables.
For Docker all user data (eg. config and previews) should be located at /data and needs to be mounted from the host to the container. The config and storage directory are defined more explicitly

ConfigDir: /data/config - indirectly through /data volume
StorageDir: /data/storage - indirectly through /data volume
One Source /data/Pictures - mounted as additional volume

Your host directory structure should be
.data/
  config/
  storage/

The docker environment variables from Dockerfile overwrites the default values as default docker locations:
VOLUME [ "/data" ]

WORKDIR /data

ENV HOME=/data
ENV GALLERY_BASE_DIR=/data
ENV GALLERY_CONFIG_DIR=/data/config
ENV GALLERY_CACHE_DIR=/data
ENV GALLERY_CONFIG=/data/config/gallery.config.yml

If you try to use the binary and the docker variant on the same time, all directory needs to match to one definition. Either docker matches the desktop directories or vise versa.
For the docker follows the desktop folders you need to change the docker-compose.yml
services:
  gallery:
    ...
    environment:
      - GALLERY_API_SERVER=http://api:3000
      - GALLERY_BASE_DIR=/data
      - GALLERY_CONFIG_DIR=/data/.config/home-gallery
      - GALLERY_CACHE_DIR=/data/.cache/home-gallery
      - GALLERY_CONFIG=/data/.config/home-gallery/gallery.config.yml
    ...

Another possibility would be to mount ~/.config/home-gallery from your host to /data/config and ~/.cache/home-gallery/storage from your host to /data/storage in the container.
Your "error message" that the database could not be found might be caused by missing configuration for the migration from the binary to the docker variant.
Further the logging of port 3000 comes from your running container. Here the server does not know (or does not need to know) that you like to have port 8080 on your host. Your desired port is usually mapped via docker-compose.yml so that your host offers port 8080 and forwards the requests to default port 3000 in the container. See their port documentation. Than your docker-compose.yml should contain
services:
  gallery:
    ...
    ports:
      - "8080:3000"
    ...

An expose would not make sense here since it is more for service to service communication within your docker compose. See the expose statement for the api server.
Hope that clarifies and will solves your issues.

I am sorry but I thought it was clear but I still have the same error
Database file /data/config/database.db does not exists. Waiting for the database file...
Here is my docker-compose yml file:
version: "3.9"
services:
  api:
    build: packages/api-server
    environment:
      - BACKEND=node
    ports:
      - "3000"
  gallery:
    build: .
    # Or use public image
    #image: xemle/home-gallery
    environment:
      - GALLERY_API_SERVER=http://api:3000
    volumes:
      - /srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data:/data
      - /home/pascal/Home-Gallery/test-photos:/data/Pictures
    ports:
      - "8080:3000"
    entrypoint: ['node', '/app/gallery.js', 'run', 'server']

And the structure seems correct:
$ ls -R /srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data
/srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data:
Pictures  config  gallery.config.yml  storage

/srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data/Pictures:

/srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data/config:

/srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data/storage:

Note that I have just created data/config and data/storage : Pictures folder and gallery.config.yml have been created by the docker deployment

From your provided output your Pictures folder looks empty. Is that true.
If you have no database yet, you need to process/import the files which creates one, yes. In my comment I wrote you can access the CLI eg via docker-compose exec gallery /app/gallery.js -h and you can trigger the import via docker-compose exec gallery /app/gallery.js run import.
Hope that helps.
I apologize if the documentation on a feature that is not yet public does not yet exist. Could you follow in general the steps and comments of the installation tutorial to get an idea what you need to do? Any suggestions or PR for the documentation repository is welcome, too ;-)

Maybe we should clarify in which step you stuck. To see images in the browser you need

Install the gallery via docker, docker-compose or prebuilt platform binary
Init gallery.config.yml and configure the media sources (via CLI)
Start the server (done automatically on docker-compose)
Import sources via CLI (in parallel with running server)

While docker and prebuild binary start the CLI right away, docker-compose exec gallery /app/gallery.js starts it in docker-compose environment as mentioned before. The <cli> -h parameter shows supported commands and options. Most relevant actions might be the interactive and the run command. Eg. use ... run -h to see help for the run command.
So the question is: what have you done so far, in which step you discover troubles and what are your expectations. Keep in mind: Any provided relevant context and your desire helps to identify your issue.

Well, I have built the docker file and wrote the docker-compose yml file as written above. Just that.
In your sample from here https://github.com/xemle/home-gallery/issues/3#issuecomment-859076099, you wrote that we can have a dedicated volume for Pictures:
    volumes:
      - ./data:/data
      - ${HOME}/Pictures:/data/Pictures

This is what I have done in my yml file:
    volumes:
      - /srv/dev-disk-by-uuid-3113b027-5b78-45ff-8658-55185af89df2/CONFIG/HomeGallery/data:/data
      - /home/pascal/Home-Gallery/test-photos:/data/Pictures

In /home/pascal/Home-Gallery/test-photos , I have pictures:
~$ ls /home/pascal/Home-Gallery/test-photos
05EFC1C7-DEA6-472F-8C7C-C0422CF2E6B4.jpg               IMG_0164.jpg  IMG_0771.jpg  IMG_9365.jpg
1080p.mov                                              IMG_0169.jpg  IMG_0772.jpg  IMG_9366.jpg
1EC7356C1FAB63091C92C1F22826162F.jpg                   IMG_0170.jpg  IMG_0773.jpg  IMG_9367.jpg
20200106_083429004_iOS.jpg                             IMG_0171.jpg  IMG_0774.jpg  IMG_9368.jpg
20200106_084118808_iOS.jpg                             IMG_0201.jpg  IMG_0775.jpg  IMG_9369.jpg
20200106_090926130_iOS.jpg                             IMG_0202.jpg  IMG_0776.jpg  IMG_9370.jpg
20200111_181538681_iOS.jpg                             IMG_0203.jpg  IMG_0778.jpg  IMG_9371.jpg
20200111_181543979_iOS.jpg                             IMG_0235.jpg  IMG_0779.jpg  IMG_9372.jpg
20200114_180519631_iOS.jpg                             IMG_0240.jpg  IMG_0781.jpg  IMG_9373.jpg
20200116_110849449_iOS.jpg                             IMG_0248.jpg  IMG_0782.jpg  IMG_9374.jpg
20200121_205922634_iOS.jpg                             IMG_0249.jpg  IMG_0783.jpg  IMG_9375.jpg
20200125_115010121_iOS.jpg                             IMG_0250.jpg  IMG_0784.jpg  IMG_9376.jpg
20200125_115106266_iOS.jpg                             IMG_0251.jpg  IMG_0787.jpg  IMG_9389.jpg
20200125_115135192_iOS.jpg                             IMG_0256.jpg  IMG_0788.jpg  IMG_9390.jpg
20200129_194558006_iOS.jpg                             IMG_0347.jpg  IMG_0789.jpg  IMG_9396.jpg
20200131_082022975_iOS.jpg                             IMG_0348.jpg  IMG_0790.jpg  IMG_9397.jpg
20200208_151950773_iOS.jpg                             IMG_0355.jpg  IMG_0791.jpg  IMG_9398.jpg
20200208_203043566_iOS.jpg                             IMG_0356.jpg  IMG_0792.jpg  IMG_9402.jpg
20200220_142009172_iOS.jpg                             IMG_0357.jpg  IMG_0794.jpg  IMG_9403.jpg
20200306_121547774_iOS.jpg                             IMG_0358.jpg  IMG_0795.jpg  IMG_9404.jpg
20200312_144429634_iOS.jpg                             IMG_0359.jpg  IMG_0796.jpg  IMG_9405.jpg
20200316_185506140_iOS.jpg                             IMG_0360.jpg  IMG_0798.jpg  IMG_9406.jpg
20200326_185427046_iOS.jpg                             IMG_0378.jpg  IMG_0799.PNG  IMG_9407.jpg
20200401_183620800_iOS.jpg                             IMG_03

Sounds good so far. So step 1. installation, 2. init config and 3. start server seems to be fine.
The only thing to check: you have a config in /data which wont be read. Is there a config in /data/config as well? If you start the interactive cli action you can check below the system sub menu your config.
How about step 4. importing files?

ok, I started the CLI and imported the pictures!
I was far from thinking that we have to start the CLI to import pictures! Should be automatic...
Let see after the import process

Thanks for the feedback. Where would you expect these information?
The reason why the import is triggered manually is historic and will be solved iterative - depends on demand, mood and time. Keep in mind all the work is done in my spare time for free which should/must not impact my general work-life balance.

Don't take my comment bad: I know that it is an open source projet on spare time. My comments are just here to make things better but I am not waiting things to be done for yesterday, neither I consider my comments as a "must do" ;)
I will do more testing, but my main worry is that it seems to need a lightning fast internet connection when I am out from home....

Glad that we are on the same boat regarding service level agreement for this project. Thumbs up.
Regarding the internet connection. What speed is your upload? Mine is about 10 Mbit/s and seems to be OKish for 100K media served by a Raspberry Pi 4. It might take some time until the first page impression (should be faster, but could not tackle the reason by now) and than its fine. Currently I have a SSH tunnel to access my home gallery. At home it is faster through the local network of cause.
What kind of experience do you have?

I think my upload, which is the limiting factor here I guess, is max 1MBit/s... I am still waiting for the fiber to arrive (coming months I hope)

OK. Hope that's solves your issue.
FYI I do share my public images via the demo page (via an static export) and having the private pics at home. Maybe it could match to you as well

Version 1.1.0 was release with detailed installation instruction for docker and docker-compose.
I am closing this ticket.


Add affiliations and certifications fields to facility claim profiles

Overview
Add affiliations and certifications fields to facility claim profiles. The fields are ArrayFields in Django and are chosen using react-select multiselects in the UI. In the facility details page we display the selections as lists.
Connects #654
Connects #653
Demo

Testing Instructions

serve branch, then resetdb && processfixtures
claim a facility and then approve the claim
on the claim profile form, select some affiliations and certifications options, then save
verify that the save is persisted and that the affiliations and certs are visible in the UI
verify that the affiliation and certification changes appear in the update email

Checklist

[ ] fixup! commits have been squashed
[ ] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Looking at this now.

Wait

Oh, good catch!

I fixed the array field serialization in
d2884c4

My initial serialization suggestion had a bug. We need to handle None.

Sounds good -- this is 7d569532640dfeba28359fa15b542965cb9375fe

Fixed the lint and squashed the fixups! This is ready to go if it's good to go in.

👍

Thanks for your help with this! Going to merge & will then run the migration on staging.


add id-translation

Add Indonesian translation, tell me if something i need to edit/add. 👍🏼

Looks good, thank you!
#438


QString' object has no attribute 'rfind'

Ubuntu 16.04
python 2.7
qt4
when I load the image, the terminal show that "QString' object has no attribute 'rfind'.So ,I can't create the rectbox.

Hi @zhoupan9109 ,
Try to delete ~/.labelImgSettings.pkl . It will hit the problem if you change your python or qt version.


Possibility to duplicate a dataset from the dashboard view

[x] Duplicating one of your datasets (Fixes #3423).

[x] Duplicating one of the datasets shared with you within your organization (Fixes #4353).

Duplicating one of the datasets shared with you within your organization in the editor (option already available).

Could you review this @viddo?
Also, I feel you can take advantage of this in your "cleaning" PR, because duplicate and sql export are available within new import model.

The "cleaning" PR was for removing old modal code, so I don't consider this to be in that scope.
Using this new code would be an "enhancement" (in terms of code maintenance at least, for the end-user there's no difference), similar to what is planned in #5076, consolidating models/logic to have one "proper" way of doing a particular action. Thus, if you think that's the case I'd suggest to create a separate issue instead.

Yep, you are right @viddo, that should be another issue. Let me create it (should I assign it to you?).

Depends on fast you'd like this to get done, I have 20-isch issues pending for upcoming milestones. ;)