Implemented the newly stabilized CString::from_vec_with_nul method

Closes #416
May not compile yet if github actions isn't on 1.58 yet

Codecov Report

Merging #473 (d9a2f08) into trunk (8c3dd01) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##            trunk     #473      +/-   ##
==========================================
- Coverage   66.91%   66.84%   -0.08%
==========================================
  Files          36       37       +1
  Lines        2672     2675       +3
==========================================
  Hits         1788     1788
- Misses        884      887       +3

Impacted Files
Coverage Δ

src/error.rs
0.00% <ø> (ø)

src/features/impl_std.rs
77.93% <100.00%> (+0.38%)
:arrow_up:

src/enc/mod.rs
60.00% <0.00%> (-20.00%)
:arrow_down:

src/features/atomic.rs
100.00% <0.00%> (ø)

derive/src/derive_struct.rs
0.00% <0.00%> (ø)

tests/issues/issue_459.rs
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Caffeine javascript is behind closing body-tag

Expected Behavior
Caffeine javacript is before closing body-tag.
Acutal Behavior
Caffeine javascript is behind closing body-tag-
Environment

PHP Version: 7.4.5
Laravel Version: 7.11.0
LaravelCaffeine Version:  7.0.2

Stack Trace
</body>
<script>
    var lastCheck = new Date();
    var caffeineSendDrip = function () {
        var ajax = window.XMLHttpRequest
            ? new XMLHttpRequest
            : new ActiveXObject('Microsoft.XMLHTTP');

        ajax.onreadystatechange = function () {
            if (ajax.readyState === 4 && ajax.status === 204) {
                lastCheck = new Date();
            }
        };

        ajax.open('GET', '/caffeine/drip');
        ajax.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
        ajax.send();
    };

    setInterval(function () {
        caffeineSendDrip();
    }, 300000);

    if (2000 > 0) {
        setInterval(function () {
            if (new Date() - lastCheck >= 7082000) {
                location.reload(true);
            }
        }, 2000);
    }
</script>
</html>

Hi @funkdoobiest, this actually was a conscious choice, even though it is not strictly standards compliant, it should work. Are you getting errors? If so, could you post them?

Hi @mikebronner,
just getting errors when validating my html. When this was a conscious choice that's ok.
Thank you for your fast reply :)

Yea, there were issues with the HTML parsing and optional closing body tags, and so on. For that matter, it still isn't bullet-proof if the developer does not close their HTML tags. I will continue to think about this. Thanks for bringing it up again.

Possibly relevant: https://github.com/mikebronner/laravel-caffeine/issues/139.


K8s deployment improvements

Update docker image version to the last stable version (v1.0.2)
Replace deprecated deployment apiVersion
Fix liveness/readiness probes errors. It is fixed on the last RC (https://github.com/justwatchcom/elasticsearch_exporter/issues/165#issuecomment-487988161) but meanwhile...

thanks!


Revert "Temporarily add content request fields into the ticket body"

This reverts commit bcd9984967f70e5338b21455debb3ecd72684de3.
Trello
Don't deploy until

[ ] Content team (Antoni Devlin) confirmed that Zappier is working as expected and it's ok to remove custom fields information from the ticket body.

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

Update (11 Jan 2024): we will still need to remove it at some point


Running it directly through python automatically

Hi
First of all i want to thank you for this amazing tool.
i am trying run this as a python script that will run automatically but I guess I am doing something wrong.
it works great with PYCharm but when I try to run it through the command line or terminal I am getting errors line 1 with the import.
any idea how I can solve this?
also - do you know how I can extract the data to a database and not CSV file.
thanks

can you paste the error
and to mongo database running locally
from pymongo import MongoClient
from homeharvest import scrape_property

database = MongoClient()
properties = scrape_property(
  location="dallas, tx",
  past_days=30,
)
data_dict = properties.to_dict("records")
database['mydatabase']['properties'].insert_many(data_dict)

amazing. thanks for the help.

hi Cullen,
small question regarding the script
every time you run the script it creates a duplicate in the database.
is there an option to avoid the duplicates?
thanks
On Tue, Sep 3, 2024 at 4:24 PM Cullen Watson @.***>
wrote:

can you paste the error
and to mongo database running locally
from pymongo import MongoClientfrom homeharvest import scrape_property
database = MongoClient()properties = scrape_property(
location="dallas, tx",
past_days=30,
)data_dict = properties.to_dict("records")database['mydatabase']['properties'].insert_many(data_dict)
—
Reply to this email directly, view it on GitHub
https://github.com/Bunsly/HomeHarvest/issues/97#issuecomment-2326521070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIIBWYPXMBKTBIFDPTH2W7LZUW2CLAVCNFSM6AAAAABNRXEOC6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRWGUZDCMBXGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

yea just drop the current collection
then
create index one time
database['mydatabase']['properties'].create_index([('mls_id', 1)], unique=True)
insert with ordered=False
try:
database['mydatabase']['properties'].insert_many(data_dict, ordered=False)
except Exception as e:
pass

thanks buddy
this is the code i have (i left the credentials for the temp db in case you
want to try it).
first time it runs it is ok.
second time i run i get multiple errors
from pymongo import MongoClient
from homeharvest import scrape_property
database = @.***/?retryWrites=true&w=majority&appName=BlastMyOffersTemp')
properties = scrape_property(
location="Cleveland, OH",
listing_type="for_sale",  # or (for_sale, for_rent)
past_days=100,
)
database['Devops']['properties'].create_index([('mls_id', 1)], unique=True)
data_dict = properties.to_dict("records")
database['Devops']['properties'].insert_many(data_dict, ordered=False)
On Mon, Sep 16, 2024 at 6:31 PM Cullen Watson @.***>
wrote:

yea just drop the current collection
then
create index one time
database['mydatabase']['properties'].create_index([('mls_id', 1)],
unique=True)
insert with ordered=False
try:
database['mydatabase']['properties'].insert_many(data_dict, ordered=False)
except Exception as e:
pass
—
Reply to this email directly, view it on GitHub
https://github.com/Bunsly/HomeHarvest/issues/97#issuecomment-2353248781,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIIBWYJKL4OQN3ZH5E66XH3ZW32UJAVCNFSM6AAAAABNRXEOC6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGI2DQNZYGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Can you paste the error @jkessous

Yes that’s not an error, just saying mongo skipped the duplicate which is desired

ok thanks man
i really appreciate it alot
On Mon, Sep 16, 2024 at 11:30 PM Cullen Watson @.***>
wrote:

Yes that’s not an error, just saying mongo skipped the duplicate which is
desired
—
Reply to this email directly, view it on GitHub
https://github.com/Bunsly/HomeHarvest/issues/97#issuecomment-2353941286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIIBWYPCDOAUYIXGJME7CP3ZW45XXAVCNFSM6AAAAABNRXEOC6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTHE2DCMRYGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

hey buddy
is there any option that the script will not send all of this to the console
.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m2574524585od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m1770705647od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m2143427487od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m2446523634od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m3885976941od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m555459484od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m298208096od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/5d9a07cf3dd06104c1b54cda8d6dcd75l-m1072333880od-w480_h360_x2.webp?w=1080&q=75',
'_id': ObjectId('66f94de10996851505dea9fd')}}, {'index': 674, 'code':
11000, 'errmsg': 'E11000 duplicate key error collection:
Cleveland.Cuyahoga_county index: mls_id_1 dup key: { mls_id: "5072335" }',
'keyPattern': {'mls_id': 1}, 'keyValue': {'mls_id': '5072335'}, 'op':
{'property_url': '
https://www.realtor.com/realestateandhomes-detail/3523-W-125th-St_Cleveland_OH_44111_M44306-55129',
'property_id': '4430655129', 'listing_id': '2972539457', 'mls': 'NEOH',
'mls_id': '5072335', 'status': 'PENDING', 'text': 'Nice 5X5 up and down
duplex. Some updating has been done. Needs a good cleaning and paint and
could be a very nice home. Tenants are month to month and pay below market
price.', 'style': 'MULTI_FAMILY', 'full_street_line': '3523-3525 W 125th
St', 'street': '3523-3525 W 125th St', 'unit': None, 'city': 'Cleveland',
'state': 'OH', 'zip_code': '44111', 'beds': 4, 'full_baths': 2,
'half_baths': None, 'sqft': 2808, 'year_built': 1919, 'days_on_mls': 6,
'list_price': 155000, 'list_price_min': None, 'list_price_max': None,
'list_date': '2024-09-23', 'sold_price': 24000, 'last_sold_date':
'2010-02-25', 'assessed_value': 27590, 'estimated_value': 152963,
'new_construction': False, 'lot_sqft': 3676, 'price_per_sqft': 55,
'latitude': 41.456897, 'longitude': -81.774416, 'neighborhoods':
'Jefferson, West Park', 'county': 'Cuyahoga', 'fips_code': '39035',
'stories': 2, 'hoa_fee': 0, 'parking_garage': 1, 'agent_id': '27630',
'agent_name': 'SUSAN R. BRADLEY - BRADLEY REAL ESTATE TEAM', 'agent_email':
@.', 'agent_phones': [{'ext': None,
'primary': True, 'type': 'Mobile', 'number': '2165331040'}],
'agent_mls_set': 'A-NEOH-231409', 'agent_nrds_id': '657000957',
'broker_id': '4549841', 'broker_name': 'Classic Realty Group Broker',
'builder_id': None, 'builder_name': None, 'office_id': '3071276',
'office_mls_set': 'O-NEOH-2698', 'office_name': 'Classic Realty Group,
Inc.', 'office_email': @.', 'office_phones':
[{'number': '(440) 526-4200', 'type': 'Office', 'primary': True, 'ext':
None}], 'nearby_schools': 'Cleveland Metropolitan School District',
'primary_photo': '
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m2219622000od-w480_h360_x2.webp?w=1080&q=75',
'alt_photos': '
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m2219622000od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m878920128od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m1328475469od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m2745990337od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m3075430314od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m3335615438od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m3594235293od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m2903787701od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m2615250937od-w480_h360_x2.webp?w=1080&q=75,
http://ap.rdcpix.com/2da584fc5dbf958cc4adaf4cbb03e05bl-m2740349469od-w480_h360_x2.webp?w=1080&q=75',
'_id': ObjectId('66f94de10996851505dea9fe')}}], 'writeConcernErrors': [],
'nInserted': 2, 'nUpserted': 0, 'nMatched': 0, 'nModified': 0, 'nRemoved':
0, 'upserted': []}
and send it to a log file ?
i am trying to add to the script an email alert that it will alert if it
succeeded or failed but since all the time it mentions that Process
finished with exit code 0 the scirpt things it failed and send me an
alrert of a failure.
thanks
On Mon, Sep 16, 2024 at 11:56 PM Jonathan Kessous @.***>
wrote:

ok thanks man
i really appreciate it alot
On Mon, Sep 16, 2024 at 11:30 PM Cullen Watson @.***>
wrote:

Yes that’s not an error, just saying mongo skipped the duplicate which is
desired
—
Reply to this email directly, view it on GitHub
https://github.com/Bunsly/HomeHarvest/issues/97#issuecomment-2353941286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIIBWYPCDOAUYIXGJME7CP3ZW45XXAVCNFSM6AAAAABNRXEOC6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTHE2DCMRYGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

yea just dont print the error with pass
try:
    database['mydatabase']['properties'].insert_many(data_dict, ordered=False)
except Exception as e:
    pass

hey
thanks for the prompt reply
i dont have any print in the script.
this is the script i have:
from pymongo import MongoClient
from homeharvest import scrape_property
import time
import schedule
database = @.***/?retryWrites=true&w=majority&appName=BlastMyOffersTemp')
properties = scrape_property(
location="Cuyahoga county",
listing_type="for_sale",  # or (for_sale, for_rent)
past_days=2,
)
database['Cleveland']['Cuyahoga_county'].create_index([('mls_id', 1)],
unique=True)
#database['Cleveland']['Cuyahoga_county'].create_index([('mls_id',
1)], unique=True) - should run only once
data_dict = properties.to_dict("records")
database['Cleveland']['Cuyahoga_county'].insert_many(data_dict, ordered=False)
On Sun, Sep 29, 2024 at 9:43 PM Cullen Watson @.***>
wrote:

yea just dont print the error with pass
try:
database['mydatabase']['properties'].insert_many(data_dict, ordered=False)except Exception as e:
pass
—
Reply to this email directly, view it on GitHub
https://github.com/Bunsly/HomeHarvest/issues/97#issuecomment-2381458244,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIIBWYOCXVZ5VPCE3FWBH6DZZBC5DAVCNFSM6AAAAABNRXEOC6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBRGQ2TQMRUGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Suggestion

Please make changes to this line and also add the option to disable the game launch timer for chat (chat only)
And I would also like the cage not to be completely closed, make some kind of void at least in the middle, otherwise the player in some cells does not see anything.

option to disable the game launch timer for chat (chat only)
This has been added in the config.yml in the latest commit

And I would also like the cage not to be completely closed, make some kind of void at least in the middle, otherwise the player in some cells does not see anything.
The player can choose his own cage, and you can modify the default material for it.


ReadMe updates

@paulrehkugler @brianmichel

@paulrehkugler We need to get this in at some point soon next week, mind taking a once-over and making sure its all good?

@paulrehkugler bump :D

Lol I just got notified

hahaha
On Mon, Mar 13, 2017 at 11:50 PM, Brian Michel<EMAIL_ADDRESS>wrote:

Lol I just got notified
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tumblr/TMTumblrSDK/pull/118#issuecomment-286314552,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABLn3pZNS6IjdX2xkbYJoZV67vLyQMQ7ks5rlg6UgaJpZM4Jolyd
.

--
Jason Keck
+1<PHONE_NUMBER>
http://about.me/jman
http://www.linkedin.com/in/jasonkeck

Incorporated the requested changes in #125.


Socket::shutdown() does not work reliably!

Hello.
Function Socket::shutdown() is supposed to:

This function will cause all pending and future I/O on the specified portions to return immediately with an appropriate value.

However, I found that this does not work. The pending accept() will block forever, even after shutdown() has been invoked, with no way to cleanly shut down the application. Here is a minimal example to illustrate the problem:
use socket2::{Socket, SockAddr, Domain, Type};
use std::net::{SocketAddr, Shutdown};
use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
use std::thread;
use std::time::Duration;

fn main() {
    let socket_addr = SocketAddr::new("<IP_ADDRESS>".parse().unwrap(), 8088);
    let socket = Arc::new(Socket::new(Domain::for_address(socket_addr), Type::STREAM, None).unwrap());
    socket.bind(&SockAddr::from(socket_addr)).unwrap();
    socket.listen(512).unwrap();

    let stop = Arc::new(AtomicBool::new(false));
    let thread_stop = stop.clone();
    let thread_socket = Arc::clone(&socket);

    let thread_handle = thread::spawn(move || {
        println!("Thread started!");
        while !thread_stop.load(Ordering::Acquire) {
            println!("Waiting for an incoming connection...");
            match thread_socket.accept() {
                Ok((_stream, _addr)) => println!("Connection was accepted!"),
                Err(err) => println!("Failed to establish the connection: {}", err),
            }
        }
        println!("Thread is exiting!");
    });

    thread::sleep(Duration::from_secs(10));

    println!("Initiating shutdown!");
    stop.store(true, Ordering::Release);
    socket.shutdown(Shutdown::Both).ok(); // <-- Force socket to shut down ASAP !!!

    println!("Waiting for thread to exit...");
    thread_handle.join().ok();

    println!("Thread has exited. Goodbye!");

Tested with socket2 v0.4.7 and Rust v1.68.0 on Windows 10 x64 fully patched.
Best regards!

Please read the manual of shutdown(2) on your OS. shutdown doesn't work for the equivalent of a TcpListener (that's why it's not implemented for std::net::TcpListener), only for the equivalent of TcpStream.


Remove dump module

The dump module code is stale. It prints out the binding table in the old format. Probably this code will break if gets run (through a signal).

Leave this for now, following kbara's advice on #160.

Yes - and when we re-implement it, we need a test that fails if it breaks. It's not worth breaking a code freeze for, but it's worth having consistently working in the future.

Closing this PR as #297 invalidates it.


Added file with list of city names

A simple array of city names.This is handy for some autocomplete plugin and need not parse and get data from array of json object as from cities.json
If this is in anyway useful to others please include with the repo.
Regards
M4ver1k

Great! Thanks @m4ver1k  :smiley:

Welcome @nshntarora  :smile:


NCDA - Aggregated Scorecard: Universal Intervention - ECD [12h]

#713 Follow up.
ECD requirements

NCDA is on live for few months. Closing.


brute and burn auto injectors

About the PR

adds the brute auto-injector, containing 15u of bicaridine and 5u of tranexamic acid
adds the burn auto-injector, containing 10u of dermaline and 10u of leporazine
both available only from the combat medkit
Media

the bottom sprite is the burn auto-injector and the top sprite is the brute auto injector (maybe it looks too close to the combat medipen? theres no red medpen sprite sadly)

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl: JoeHammad

add: NT RND has cooked up brute and burn auto-injectors, which are now available in combat medkits

oopsie poopsie!

fak


Work queue for insert_identity

Right now the insert_identity API call is fully synchronous:

It receives an HTTP POST on /insertIdentity.
It parses and validates the request.
It takes the global tree lock (exclusive write).
It checks for duplicate insertions.
It creates and signs an Ethereum transaction.
It waits for the transaction to be mined.
It updates the internal tree representation.
It downgrades the lock to a non-exclusive read lock.
It verifies the tree-root against the on-chain one.
It releases the global tree lock.
It returns a response to the API request.

The exclusive global lock prevents concurrent request handling and steps 5-6 can take a lot of time and/or fail.

Instead we want to get rid of the lock, create a work-queue and split this up in three separate threads, A, B, C:
A:

A receives an HTTP POST on /insertIdentity.
A parses and validates the request.
A checks for duplicate insertions. (TBD: How?)
A inserts the identity in the work-queue.
A returns a response to the request.

B:

It takes an item from the work-queue.
It flags it as in-progress.
It creates and signs an Ethereum transaction.
It waits for the transaction to be mined.
Marks the work item as done.

C:

Monitors the events.
Updates the internal tree on new events.
Checks the tree-root for consistency.
TBS: Check the events against the work-queue for consistency?

Done in #284


Using secret variables from c# code

I have question:
I need to use secret variables for my unit testing.
Unit tests are written in c# code and tests are executing on some databases. To be able to connect to those databases I need some credentials, so I decided to store them as secret variables.
So my question is:
Is there a way to access those secret variables from c# code?

@filip998 how do you run your tests?
if you are using script task, you can map secret into environment variable. doc
if you are using msbuild/vsbuild/vstest task, you might need to pass the secret as msbuild args, ex /p:connection=$(SecretVariable)

@filip998

Is it possible to define a place hold for the variable in your setting file and overwrite it with the value from the secret variable?

@TingluoHuang
Thanks, I will try this. I will report to you when I try it.

@TingluoHuang UPDATE: It works like this, thank you so much !

cool, glad you unblocked. :)

I'm sorry, I'm new to Azure Pipelines, so I don't know what this means and how to do it. Could anyone provide a step-by-step for this, please?

place hold for the variable in your setting file and overwrite it with the value from the secret variable?


ForgeUI support?

Any chance of adding ForgeUI support?  I get the following console error when I hit Generate.

Did you get it working?? I had it working fine in Forge then something changed which I can't identify.
I was hoping you may have worked it out or tried the fresh install suggestion made by Antivash which is the only thing I've yet to try.


太难了，docker,python2中方式都没安装成功。

docker：
PS D:\pythoncode\DocsGPT-main> docker-compose build
[+] Building 90.5s (5/15)
[+] Building 91.1s (5/15)
=> [internal] load build definition from Dockerfile                                                               1.0s
=> => transferring dockerfile: 32B                                                                                0.0s
[+] Building 92.4s (6/15)
=> [internal] load build definition from Dockerfile                                                               1.0s
=> => transferring dockerfile: 32B                                                                                0.0s
=> [internal] load .dockerignore                                                                                1.6s
=> => transferring context: 2B                                                                                0.0s
=> [internal] load metadata for docker.io/library/python:3.10-slim-bullseye                                      23.7s
[+] Building 92.4s (6/15)
=> [internal] load build definition from Dockerfile                                                               1.0s
=> => transferring dockerfile: 32B                                                                                0.0s
=> [internal] load .dockerignore                                                                                1.6s
=> => transferring context: 2B                                                                                0.0s
=> [internal] load metadata for docker.io/library/python:3.10-slim-bullseye                                      23.7s
=> CACHED [builder 1/6] FROM docker.io/library/python:3.10-slim-bullseye@sha256:912bcbc88f190b33f854b41873235d76  0.0s
=> [internal] load build context                                                                                1.3s
=> => transferring context: 2.31kB                                                                                0.0s
=> ERROR [builder 2/6] RUN apt-get update && apt-get install -y gcc curl                                         65.9s

[builder 2/6] RUN apt-get update && apt-get install -y gcc curl:
#0 23.28 Err:1 http://deb.debian.org/debian bullseye InRelease
#0 23.28   403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 44.34 Err:2 http://deb.debian.org/debian-security bullseye-security InReleaseity InRelease' is not signed.
#0 44.34   403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]established connection faile
#0 65.40 Err:3 http://deb.debian.org/debian bullseye-updates InRelease110.132 80]
#0 65.40   403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.41 Reading package lists...
#0 65.42 E: The repository 'http://deb.debian.org/debian bullseye InRelease' is not signed.
#0 65.42 E: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease  403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.42 E: Failed to fetch http://deb.debian.org/debian-security/dists/bullseye-security/InRelease  403  connecting to [+] Building 92.3s (5/15)
=> [internal] load build definition from Dockerfile                                                               1.3sc
=> => transferring dockerfile: 32B                                                                                0.0s
=> [internal] load .dockerignore                                                                                2.0s
=> => transferring context: 2B                                                                                0.0sn
=> [internal] load metadata for docker.io/library/python:3.10-slim-bullseye                                      89.9st
=> [internal] load build context                                                                                0.9sh
=> => transferring context: 2.31kB                                                                                0.0s
=> CACHED [builder 1/6] FROM docker.io/library/python:3.10-slim-bullseye@sha256:912bcbc88f190b33f854b41873235d76  0.0s
=> ERROR [builder 2/6] RUN apt-get update && apt-get install -y gcc curl                                         65.9s

[builder 2/6] RUN apt-get update && apt-get install -y gcc curl:
#0 23.28 Err:1 http://deb.debian.org/debian bullseye InRelease
#0 23.28   403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 44.34 Err:2 http://deb.debian.org/debian-security bullseye-security InRelease
#0 44.34   403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.40 Err:3 http://deb.debian.org/debian bullseye-updates InRelease
#0 65.40   403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.41 Reading package lists...
#0 65.42 E: The repository 'http://deb.debian.org/debian bullseye InRelease' is not signed.
#0 65.42 E: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease  403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.42 E: Failed to fetch http://deb.debian.org/debian-security/dists/bullseye-security/InRelease  403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.42 E: The repository 'http://deb.debian.org/debian-security bullseye-security InRelease' is not signed.
#0 65.42 E: Failed to fetch http://deb.debian.org/debian/dists/bullseye-updates/InRelease  403  connecting to deb.debian.org:80: connecting to <IP_ADDRESS>:80: dial tcp <IP_ADDRESS>:80: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [IP: <IP_ADDRESS> 80]
#0 65.42 E: The repository 'http://deb.debian.org/debian bullseye-updates InRelease' is not signed.

failed to solve: executor failed running [/bin/sh -c apt-get update && apt-get install -y gcc curl]: exit code: 100
python:
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [56 lines of output]
Ignoring oldest-supported-numpy: markers 'python_version != "3.10" or platform_system != "Windows" or platform_python_implementation == "PyPy"' don't match your environment
Collecting setuptools
Using cached setuptools-67.6.1-py3-none-any.whl (1.1 MB)
Collecting wheel
Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
Collecting Cython>=0.29.24
Using cached Cython-0.29.34-py2.py3-none-any.whl (988 kB)
Collecting numpy==1.22.3
Using cached numpy-1.22.3-cp310-cp310-win32.whl (12.2 MB)
Collecting scipy>=1.3.2
Using cached scipy-1.10.1.tar.gz (42.4 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
    Preparing metadata (pyproject.toml) did not run successfully.
    exit code: 1

    [20 lines of output]
    + meson setup --prefix=C:\Users\liyang\AppData\Local\Programs\Python\Python310-32 C:\Users\liyang\AppData\Local\Temp\pip-install-5rjz27i6\scipy_f6f9be6b818344af9ec8a9eff8cbf488 C:\Users\liyang\AppData\Local\Temp\pip-install-5rjz27i6\scipy_f6f9be6b818344af9ec8a9eff8cbf488\.mesonpy-9jvf_zxd\build --native-file=C:\Users\liyang\AppData\Local\Temp\pip-install-5rjz27i6\scipy_f6f9be6b818344af9ec8a9eff8cbf488\.mesonpy-native-file.ini -Ddebug=false -Doptimization=2
    The Meson build system
    Version: 1.1.0
    Source dir: C:\Users\liyang\AppData\Local\Temp\pip-install-5rjz27i6\scipy_f6f9be6b818344af9ec8a9eff8cbf488
    Build dir: C:\Users\liyang\AppData\Local\Temp\pip-install-5rjz27i6\scipy_f6f9be6b818344af9ec8a9eff8cbf488\.mesonpy-9jvf_zxd\build
    Build type: native build
    Project name: SciPy
    Project version: 1.10.1

    ..\..\meson.build:1:0: ERROR: Unknown compiler(s): [['icl'], ['cl'], ['cc'], ['gcc'], ['clang'], ['clang-cl'], ['pgcc']]
    The following exception(s) were encountered:
    Running `icl ""` gave "[WinError 2] The system cannot find the file specified"
    Running `cl /?` gave "[WinError 2] The system cannot find the file specified"
    Running `cc --version` gave "[WinError 2] The system cannot find the file specified"
    Running `gcc --version` gave "[WinError 2] The system cannot find the file specified"
    Running `clang --version` gave "[WinError 2] The system cannot find the file specified"
    Running `clang-cl /?` gave "[WinError 2] The system cannot find the file specified"
    Running `pgcc --version` gave "[WinError 2] The system cannot find the file specified"

    A full log can be found at C:\Users\liyang\AppData\Local\Temp\pip-install-5rjz27i6\scipy_f6f9be6b818344af9ec8a9eff8cbf488\.mesonpy-9jvf_zxd\build\meson-logs\meson-log.txt
    [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
  error: metadata-generation-failed

  Encountered error while generating package metadata.

  See above for output.

  note: This is an issue with the package mentioned above, not pip.
  hint: See above for details.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

https://github.com/arc53/DocsGPT/wiki/How-to-train-on-other-documentation

建议： 可以用github的 codespaces 来 build ，然后推送到自己的镜像仓库，避免一些环境问题.

Please make sure the CPU of your machine supports AVX, and try using the bash script with root privilege:
`#!/bin/bash
cd "$(dirname "$0")" || exit
Build frontend and backend images
docker build -t frontend_image ./frontend
docker build -t backend_image ./application
Run redis and mongo services
docker run -d --name redis -p 6379:6379 redis:6-alpine
docker run -d --name mongo -p 27017:27017 -v mongodb_data_container:/data/db mongo:6
Run backend and worker services
docker run -d --name backend -p 5001:5001
-v $(pwd)/application/indexes:/app/indexes
-v $(pwd)/application/inputs:/app/inputs
-v $(pwd)/application/vectors:/app/vectors
-e API_KEY=$OPENAI_API_KEY
-e EMBEDDINGS_KEY=$OPENAI_API_KEY
-e CELERY_BROKER_URL=redis://localhost:6379/0
-e CELERY_RESULT_BACKEND=redis://localhost:6379/1
-e MONGO_URI=mongodb://localhost:27017/docsgpt
backend_image
docker run -d --name worker
-e API_KEY=$OPENAI_API_KEY
-e EMBEDDINGS_KEY=$OPENAI_API_KEY
-e CELERY_BROKER_URL=redis://localhost:6379/0
-e CELERY_RESULT_BACKEND=redis://localhost:6379/1
-e MONGO_URI=mongodb://localhost:27017/docsgpt
-e API_URL=http://localhost:5001
backend_image celery -A app.celery worker -l INFO
Run frontend service
docker run -d --name frontend -p 5173:5173
-e VITE_API_HOST=http://localhost:5001
frontend_image
List running containers
docker ps
`


Allow users to query active jobs with filters in bacalhau list

Currently, bacalhau list command in Bacalhau doesn't provide a way to filter jobs based on their states. To enhance usability, it would be beneficial to add filters that allow users to include or exclude jobs based on specific job states, which will enable users to only query in-progress jobs
To facilitate temporary client-side filtering until the feature is implemented, users can utilize the jq tool. For instance:
bacalhau list --output json | jq '.[] | select(.State.State != "Completed" and .State.State != "Error")'

This jq command acts as a workaround by filtering the JSON output from bacalhau list to exclude jobs in terminal states, such as "Completed" and "Error", which allows users to focus on in-progress jobs.

Yep, for sure


LNPopupCustomBarHostingController Initialiser is private

Describe the Bug
I need to use Hosting controller to use this library and I am trying to add popupBar.customBarViewController which unfortunately giving me the error of inaccessible initialiser.
To Reproduce
Steps to reproduce the behavior:
1.
tabBarController?.popupBar.customBarViewController = LNPopupCustomBarHostingController {
MyCustomPlaybackControlsView()
}
2. Run the project
Expected Behavior
It should be public, so that outer layer can use it

Still not able to access the LNPopupCustomBarHostingController because its initialiser is by default internal, You'd need to make it public explicitly.

Hey @LeoNatan I am also facing the same issue, can you please prioritise it?

I'll get to it when I have time. If you are in a hurry, you are welcome to submit a PR.

@LeoNatan I created a fix branch but unable to push it to the repo to raise the PR, it states below error. Can you please help?
Pushing to github.com:LeoNatan/LNPopupUI.git
ERROR: Permission to LeoNatan/LNPopupUI.git denied to harish-suthar.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

You need to fork and create the PR from there. You can’t push to my repo.

@LeoNatan Can you please review the PR?

Merged, but I still can't create a new release. As a workaround, use "branch=master" for your package versioning.

1.8.4
Thanks @harish-suthar and @pareshios !


Run task notification tweaks

Testing #64217

To decide whether I want to allow the task to run, it would be helpful to also have a button that opens the tasks.json. This would yet add another button. It could replace the 'Not this time' button. This button is not that useful since the user can just close the notification.
Wording suggestion, since 'automatic task' is not very clear. For example,

This folder has tasks defined in 'tasks.json' that run automatically. Do you allow these tasks to run when you open this folder.

Let's make the notification more specific: https://github.com/Microsoft/vscode/issues/64355#issuecomment-444609876

Example of how the notification will look:


Change The Appearance Of Home Page And Correct The Format Of The Tittle

Change The Appearance Of Home Page And Correct The Format Of The Tittle. the Text Alignment Is little In-Correct And Text Format #JWOC

@swarnade Go for it. But don't make the design too much complicated.

@Srijita-Mandal I want to work on this under JWOC

Issue Resolved.....


Ignore artifacts directory

Ignore the artifacts directory when updating the snippets as otherwise incorrect documentation is generated.

Codecov Report

Merging #345 (68dd05e) into main (d7477bb) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #345   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           16        16
  Lines         1128      1128
=========================================
  Hits          1128      1128

Flag
Coverage Δ

linux
100.00% <ø> (ø)

macos
?

windows
?

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

Continue to review full report at Codecov.

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


fix(Other): Fix conditional compilation directives for CONFIG_SOC_* definitions in Zephyr wrapper

The 'if defined(FOO) || BAR' lines are not clear
$ sed 's, (CONFIG_SOC, defined(CONFIG_SOC,g' -i $(git grep --name-only  if.defined(.||.() $ sed 's,||\s\$,|| \,g' -i $(git grep --name-only '||.*\$')
Description
Not much to add other than the subject of the single git commit above.
Checklist Before Requesting Review

[ ] PR Title follows correct guidelines.
[ ] Description of changes and all other relevant information.
[ ] (Optional) Link any related GitHub issues using a keyword
[ ] (Optional) Provide info on any relevant functional testing/validation.  For API changes or significant features, this is not optional.

The pull request template contains guidelines on how to title PRs. The guidelines also appear in the description when opening a PR.


upgrade table UI from datatables to phosphor grid

stage 1: replace the UI with https://github.com/phosphorjs/phosphor/issues/285
stage 2: make it streaming with https://github.com/apache/arrow/tree/master/js

what about html format?

@scottdraves this is really tricky as we are rendering to canvas.
There are some tricks to render the HTML into canvas eg. (https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas)
but those rendered objects won't be interactive even though.

OK.  rendering to a non-interactive image is still pretty useful, we should do that for "html" format.
we should have an easy way to make URLs clickable, maybe an "url" format.


User personalized dashboard

Whenever the user clicks this (Hi, Username) button the user should be redirected to a page where there will be charts and stats about his/her watchlist.

Is this okay now?

Is this okay now?

I cant get what you are trying to say @harmit17

Sorry @moonpatel, I mistakenly commented on this repository. I was trying to comment on another one.

Sorry @moonpatel, I mistakenly commented on this repository. I was trying to comment on another one.
Oh it's okay @harmit17

@Peacexoom Is there a design for that page? I can work on it if there is

@harmit17 do you want to take this issue?

Sure, I can try :)

ok the go ahead @harmit17


Hasura constructor and public properties (readme update?)

Hi @timeshift92 , it seems like the code in the readme needs updating .The Hasura class has a constructor that takes an object (instead of just the schema specified in the hasura function). Also properties like provider are no longer public but protected. This might mean readme update ?

Hello, I haven't updated it for a long time, I will update it soon

updated, take a look


Rails 3 email not sent; is using PerformableMethod rather than PerformableMailer

If I disable delayed jobs in the config file, the email sends just fine. Also another non-mailer delayed job is working fine. My delayed_jobs table is properly being populated with the job.
When I check the worker output everything looks hunky-dory as well (Lead is the non-mailer delayed job that's working correctly)
[Worker(host:My-Mac.local pid:6156)] Lead completed after 4.7002
[Worker(host:My-Mac.local pid:6156)] Class#lead_received completed after 0.0194
[Worker(host:My-Mac.local pid:6156)] 2 jobs processed at 0.4231 j/s, 0 failed ...

I'm using the 2.1.4 gem. I've checked out the head and 2.1.4 code to run the specs and the relevant PerformableMailer tests are passing, so I'm not sure what's up.
gem list --local delayed_job
*** LOCAL GEMS ***

delayed_job (2.1.4)

Here is the code being used to send the email:
Notifications.delay.lead_received(@contact)

Here is the serialized YAML from the delayed_job "handler" field:
yaml: --- !ruby/struct:Delayed::PerformableMethod
object: !ruby/class Notifications
method_name: :lead_received
args:
- !ruby/ActiveRecord:Lead
  attributes:
    full_name: McFly Fearsome
    company: Omega Inc

The mailer is just a simple ActionMailer::Base
class Notifications < ActionMailer::Base

  default :from =><EMAIL_ADDRESS>
  def lead_received(contact)
    @contact = contact
    mail :to => contact.email, :subject => 'We received your information'
  end
end

Any ideas?

I am seeing this problem, too. As the previous commenter said, ActionMailer is not being properly extended by the Railtie. If I do this in the console,..
> ActionMailer::Base.delay.to_yaml
 => #<Delayed::Backend::ActiveRecord::Job id: nil, priority: 0, attempts: 0, handler: "--- !ruby/object:Delayed::PerformableMethod \nargs: ...", last_error: nil, run_at: nil, locked_at: nil, failed_at: nil, locked_by: nil, queue: nil, created_at: nil, updated_at: nil>

... notice that the type is PerformableMethod and not PerformableMailer. As far as I can tell, the code
 initializer :after_initialize do
      ActiveSupport.on_load(:action_mailer) do
        ActionMailer::Base.extend(Delayed::DelayMail)
      end

      Delayed::Worker.logger ||= if defined?(Rails)
        Rails.logger
      elsif defined?(RAILS_DEFAULT_LOGGER)
        RAILS_DEFAULT_LOGGER
      end
    end

    rake_tasks do
      load 'delayed/tasks.rb'
    end
  end

is never run.

The temporary workaround is to put this in your own initializer:
ActionMailer::Base.extend(Delayed::DelayMail)

This should likely be reopened until someone explains the proper use or fixes the bug.

We are still testing against Rails 3 and it is working just fine. If you can produce a failing test, then we have something to fix, but as far as I can tell, works for me

Delayed Job typically hooks ActionMailer::Base and defines the .delay method to send email asynchronously. Specifically, Delayed Job is supposed to extend ActionMailer::Base with a class called Delayed::DelayMail, which uses a thing called PerformableMailer to create the message and deliver it.
require 'mail'

module Delayed
  class PerformableMailer < PerformableMethod
    def perform
      mailer = object.send(method_name, *args)
      mailer.respond_to?(:deliver_now) ? mailer.deliver_now : mailer.deliver
    end
  end

  module DelayMail
    def delay(options = {})
      DelayProxy.new(PerformableMailer, self, options)
    end
  end
end

Mail::Message.class_eval do
  def delay(*_args)
    raise 'Use MyMailer.delay.mailer_action(args) to delay sending of emails.'
  end
end

In other words, Delayed::DelayMail adds a .delay class method to ActionMailer::Base. The DelayProxy thing than serializes the job and puts in the queue, expecting PerformableMailer to handle the mail delivery.
However, for some reason, Delayed Job is failing to do this. Instead, it extends ActionMailer::Base with a PerformableMethod, which does not call .deliver after it does its work. PerformableMethod processes things like handle_asynchronously to let you run any method in the background.
require 'active_support'
require 'delayed/compatibility'
require 'delayed/exceptions'
require 'delayed/message_sending'
require 'delayed/performable_method'

if defined?(ActionMailer)
  require 'action_mailer/version'
  require 'delayed/performable_mailer'
end

require 'delayed/yaml_ext'
require 'delayed/lifecycle'
require 'delayed/plugin'
require 'delayed/plugins/clear_locks'
require 'delayed/backend/base'
require 'delayed/worker'
require 'delayed/deserialization_error'
require 'delayed/railtie' if defined?(Rails::Railtie)

Object.send(:include, Delayed::MessageSending)
Module.send(:include, Delayed::MessageSending::ClassMethods)

That Object.send is like a big hammer: It adds .delay to everything.
The bug is in the Delayed Job railtie. And I have no idea how it occurs.
require 'rails'
require 'delayed_job'

module Delayed
  class Railtie < Rails::Railtie
    initializer :after_initialize do
      ActiveSupport.on_load(:action_mailer) do
        ActionMailer::Base.extend(Delayed::DelayMail)
      end

      Delayed::Worker.logger ||= if defined?(Rails)
        Rails.logger
      elsif defined?(RAILS_DEFAULT_LOGGER)
        RAILS_DEFAULT_LOGGER
      end
    end

    rake_tasks do
      load 'delayed/tasks.rb'
    end
  end
end

The initializer fails to run, so ActionMailer::Base winds up with the wrong definition of .delay.
However, there is a workaround:
ActionMailer::Base.extend(Delayed::DelayMail)

Adding that line in your app somewhere makes sure that mailers work properly.
This has to be some sort of load order issue.

See my next post. I think the question is: Under what circumstances would the initializer not run? The code is correct; but there seems to be some scenarios (load order, missing require statement, something) that causes the initializer to not do its thing.

On Jan 19, 2015, at 4:32 PM, David Genord II<EMAIL_ADDRESS>wrote:
We are still testing against Rails 3 and it is working just fine. If you can produce a failing test, then we have something to fix, but as far as I can tell, works for me
—
Reply to this email directly or view it on GitHub https://github.com/collectiveidea/delayed_job/issues/267#issuecomment-70564633.

The only thing I can think of is you have something in your app that triggers ActionMailer to load before DJ. You need to find this thing and move it after DJ.

That makes sense. And I agree with the spirit of the suggestion.
However, I wonder if this will happen to others; it’s happened twice in this discussion thread.
I spent a good portion of today narrowing this down. I doubt others may be so inclined.
Is there a way to ensure that load order is not a factor?

On Jan 19, 2015, at 4:47 PM, David Genord II<EMAIL_ADDRESS>wrote:
The only thing I can think of is you have something in your app that triggers ActionMailer to load before DJ. You need to find this thing and move it after DJ.
—
Reply to this email directly or view it on GitHub https://github.com/collectiveidea/delayed_job/issues/267#issuecomment-70567006.

The delayed_job.rb file itself...
require 'active_support'
require 'delayed/compatibility'
require 'delayed/exceptions'
require 'delayed/message_sending'
require 'delayed/performable_method'

if defined?(ActionMailer)
  require 'action_mailer/version'
  require 'delayed/performable_mailer'
end

require 'delayed/yaml_ext'
require 'delayed/lifecycle'
require 'delayed/plugin'
require 'delayed/plugins/clear_locks'
require 'delayed/backend/base'
require 'delayed/worker'
require 'delayed/deserialization_error'
require 'delayed/railtie' if defined?(Rails::Railtie)

Object.send(:include, Delayed::MessageSending)
Module.send(:include, Delayed::MessageSending::ClassMethods)

... seems to assume that ActionMailer is already loaded before it evens loads its own Railtie. Or can the module ActionMailer be defined without the rest of its files loaded? When does .on_load really occur for ActiveSupport?

Ah I see it... For ActionMailer it is at the bottom of action_mailer/base.rb
    ActiveSupport.run_load_hooks(:action_mailer, self)


Text next to CPI flags on input page no longer appears

With the merge of #82, I knowingly merged changes that restored proper default behavior for the CPI flags in terms of matching up default True/False setting to be the same as what comes from taxcalc. However, the one-line of code change that made the default behavior correct, also made it so that the text showing a changed default, which read "Default: <value>", no longer appears. This seemed like a good trade off. The resolution of the issue will be maintaining the current correct default CPI flags and also making the proper default text appear again. cc @zrisher @mistakevin

this has been around for about a year with no activity. Closing for now.


Persist clean up and consistency checks

During the work on adding strict typing (which will most likely not
work), a couple of opportunities for simplifications and clean ups came
up. In order for them not to get lost in the typing PR, they are now
added in this separate PR. Changes are:

A few simplifications to the state to avoid unnecessary nesting
Consistently raise UnsupportedTypeException
Simplify some code without without functional change
Consistently use _get_state and _get_instance
Enforce consistency on the argument names in get_state/instance
functions

Regarding the use of _get_state vs get_state and _get_instance vs get_instance:
Since we basically only ever want to use the _get variant and not get (since the
latter are only placeholders for registration), I would suggest that we swap the
names. This will also be better for future contributions to 3rd party libraries,
since right now they would be required to use "private" functions.
Ready for review @skops-dev/maintainers
(PS: Sorry for spurious commits, I'll clean them up)

I think renaming _get_state, _get_instance is also left.

Let me do this in another PR.

Yeah, extending the error message makes sense.

Done.

I feel like you're hacking type checks here lol. Nice!

Maybe a little bit ;) but my main concern was the inconsistent naming, e.g. obj when it's a state.


feat: add refresh_oauth_token() API

request for access_token is exported to new method

@Verdgil if you are adding new API, add it to casdoor-go-sdk first

@Verdgil see: https://github.com/casdoor/casdoor-python-sdk/pull/32#discussion_r1041734446

@Verdgil also add this new API to README.md


Ensure role appointment data integrity

Fixes a bug which causes the subsequent appointments to ministerial roles closed when the government is closed to be invalid.
The RoleAppointment model does various checks to ensure appointments do not overlap. This code assumes that all the role appointments have dates and not times set for both the started_at and ended_at fields. This is fine when they are being administered through the admin interface as the form fields only allow dates to be selected. The bug is caused by the code that closes the government and ends all existing ministerial roles with a time and not a date.
The precise problem is a little nuanced and is rooted in the fact that the role_appointments started_at and ended_at columns are datetime and not date columns[1]. If an existing role appointment is closed with a timestamp (e.g. 12th May 00:09:00), any role appointment that is created the same day using the admin interface will have a started_at that is less than the ended_at of the previous appointment because ActiveRecord is casting the date supplied to a timestamp set to the beginning of the day (e.g. 12th May 00:00:00).
Trello: https://trello.com/c/mOUchwOS/256-role-appointments-bug
[1] Ultimately, these columns should be converted to be dates and not datetimes. This will happen in a future pull request as there may be other unintended consequences to doing this.

:+1:


Verify Diego/CF deployment

Acceptance Criteria

[x] Ensure smoke tests use the Diego backend and succeed
[x] Ensure the acceptance tests use the Diego backend and succeed 🚫 👀  #202
[x] Review all platform logs for errors ⛔ 👀 18F/cg-atlas#111

[x] On all CF and Diego hosts, review all logs in /var/vcap/sys/log
[x] Ensure all component logs are available in the ELK deployment

[x] Deploy a sample app, verify it's using Diego, and SSH into the container

[x] Trace the application end-to-end by its uuid through CF/Diego

[x] Confirm add-on releases are running on each Diego component (#158)
[ ] Confirm configurations/entities in the dependent systems themselves

[ ] metrics.fr.cloud.gov 👀 #220
[x] awslogs
[x] logs.fr.cloud.gov
[x] Nessus
[x] New Relic
[x] Admin UI (?)

[x] Verify secrets for Diego

#158 was to confirm all add-ons existed on the Diego components.  I referenced it in the AC above.

We're encountering an issue with Metrics, moving the database fixes some of the issues but we're not seeing data coming from InfluxDB.

Looks like this is currently blocked until we see a new stemcell that works with garden-linux for Diego.
<EMAIL_ADDRESS>This issue came up because of the stemcell upgrade here
18F/cg-atlas#142

awslogs, Nessus, New Relic, Admin UI confirmation tasks need to be performed by someone with login/admin privileges.

/cc @dlapiduz @mogul

Blocked waiting on https://github.com/18F/cg-product/issues/220 and for someone with Nessus access to confirm data there.

Seems lightweight; just verify that Diego-specific things are showing up in the right places, but we need to make sure the assignees can actually access those places.

I see logs from diego apps in logs.fr.cloud.gov

I'm calling Nessus done because @dlapiduz says the diego boxes are in there.

We can now see diego cells in admin-ui.

I think this issue is as done as it can be until #220 is taken care of.

We confirmed that there is a diego dashboard with data in it. I checked all the ACs -- I think we're good to go.


Add DeactivateScript option to Tweet shortcode to improve privacy

I use as kiprotect / klaro as Cookie consent.
Their documentation says modifying inline scripts enables to let no third-party scripts loaded without consent.
I got an idea that adding the feature to built-in "Tweet" shortcode would make me (and maybe more developers) happier 🙂
My idea consists of these change sets:
hugo/config/privacy/privacyConfig.go :
  // Twitter holds the privacy configuration settingsrelated to the Twitter shortcode.
  type Twitter struct {
  	Service `mapstructure:",squash"`

  	// When set to true, the Tweet and its embedded page on your site are not used
  	// for purposes that include personalized suggestions and personalized ads.
  	EnableDNT bool
+
+ 	// If deactivateScript mode is enabled, JS is kept from being executed by default.
+ 	// - case disabled: <script async src="...
+ 	// - case enabled:  <script async type="text/plain" data-type="application/javascript" data-name="twitter" data-src="...
+ 	DeactivateScript bool

  	// If simple mode is enabled, a static and no-JS version of the Tweet will be built.
  	Simple bool
  }

hugo/tpl/tplimpl/embedded/templates/shortcodes/twitter.html  :
- {{ $json.html | safeHTML }}
+ {{- If $pc.DeactivateScript -}}
+ {{- $json.html := (replace $json.html "\n\u003Cscript async src=\"" "\n\u003Cscript async type=\"text/plain\" data-type=\"application/javascript\" data-name="twitter" data-src=\"") -}}
+ {{- else -}}
+ {{- $jsonHTML := $json.html -}}
+ {{- end -}}
+ {{ $jsonHTML | safeHTML }}

... and maybe also:

hugo/config/privacy/privacyConfig_test.go
hugo/docs/content/en/about/hugo-and-gdpr.md
hugo/hugolib/testhelpers_test.go
hugo/tpl/tplimpl/embedded/templates.autogen.go (?)

I'm not sure I understand -- have in the above prevents the script from being loaded?

I'm not sure I understand -- have in the above prevents the script from being loaded?

@bep
Yes, prevented. The script tag is made "text/plain" which will not be loaded at boot. Well, when it's coverted to "application/javascript" whose data-src attr also to src, the script will be loaded.
Thank you for your time.

Well, when it's coverted to "application/javascript" whose data-src attr also to src, the script will be loaded.

When and who does that?

Who: External library or own custom JS.
Therefore,
When: They work. It'll be possibly Hugo's business.
Well, "own custom JS" can be generated in Hugo in the same way as twitter_simple.html generates own CSS.

@nabbisen I understand the concept, but I think it is better implemented as needed.
Site authors should copy the embedded template to shortcodes/tweet.html and then modify as needed.
I recommend closing this issue.

@jmooring
Thank you for your comments!! OK. I'll close it.
Besides, I copied built-in "tweet" shortcode template (tpl/tplimpl/embedded/templates/shortcodes/twitter.html) as you described, and modified it to implement privacy consent. I leave the diff which might be possibly helpful in the future.
- {{ $json.html | safeHTML }}
+ {{- $jsonHTML := (replace $json.html "<script async src=\"" "<script async type=\"text/plain\" data-type=\"application/javascript\" data-name=\"twitter\" data-src=\"") -}}
+ {{ $jsonHTML | safeHTML }}

This works well with importing Klaro! at the foot(.html) like this:
<link rel="stylesheet" href="https://cdn.kiprotect.com/klaro/v0.7/klaro.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script>
// https://heyklaro.com/docs/integration/annotated-configuration
var klaroConfig = { ... };
</script>
<script src="https://cdn.kiprotect.com/klaro/v0.7/klaro-no-css.js" crossorigin="anonymous" referrerpolicy="no-referrer" defer></script>


Include ws and uws as peer dependencies?

uws just got updated to 0.13 that has some important fixes for Windows and other performance-related changes. However socketcluster-server will only look at its locally installed version when resolving the wsEngine option passed in.
I feel like I should be able to have more control over this rather than waiting for this module to update with the bumped versions of these dependencies.

@rockmacaca If you want to use a custom WebSockets engine or a uws version that is newer than is supported in SC, you can run add an entry for the latest uws in your main package.json: "uws": "0.13.0", then you npm install<EMAIL_ADDRESS>after that you will need to point to that exact top-level uws module by changing the wsEngine in server.js to:
wsEngine: __dirname + '/node_modules/uws',
SC will upgrade to uws 0.13.0 soon though so this it only for a little while.

Ok. I also found that doing require.resolve('uws') works well. I suppose I'll close this since require.resolve basically solves my issue.


sparse linalg eigs/eigsh is possibly affected by an ARPACK bug

The ARPACK bug http://forge.scilab.org/index.php/p/arpack-ng/issues/1315/ should theoretically affect scipy.sparse.linalg.eigs and/or scipy.sparse.linalg.eigsh.  This possibility and its possible resolutions were discussed in https://github.com/scipy/scipy/pull/3599 although I don't think much effort has been put into the investigation yet, on the scipy end.

Interestingly, the arpack bundled in scipy has been linked against lapack 2.0 *lahqr routines since forever (already in 2006) so apparently this arpack "feature" was known to the people who added arpack to scipy, and later independently rediscovered by whoever reported the bug to arpack-ng :)
So closing (i) fixed in arpack-ng >= 3.2.0, and (ii) this apparently has always been worked around in the arpack bundled in scipy.

Thanks for working on this @pv!


The first steps toward a legacy-free module

This just turns the fundamentals/practitioner classes into wrappers that load a legacy module. This now means that we can start excising dead code from this module and slim it back down towards something maintainable. And when we're ready to fully pull the plug, we just drop the shims.
This should not change any behaviour at all. I just removed code that was no longer being invoked. All specs pass, but I have not yet acceptance tested this on a live system.
NOTE: this means if you have an emergency hotfix for the ILT classroom, it should go in https://github.com/puppetlabs/pltraining-classroom_legacy starting now.
12:46 $ cloc files/ manifests/ lib/ templates/
      63 text files.
      63 unique files.
       6 files ignored.

github.com/AlDanial/cloc v 1.74  T=0.46 s (124.6 files/s, 4306.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Puppet                          40            197            130           1273
Ruby                             8             37             12            210
ERB                              2              0              0             30
YAML                             5              2              4             30
PowerShell                       1              3              1             17
Bourne Shell                     1              6              1             17
-------------------------------------------------------------------------------
SUM:                            57            245            148           1577
-------------------------------------------------------------------------------

Ok, this is ready for review, but let's not merge it until multiple people have acceptance tested it. Then we can start cleaning up what's left!

I've tested this with ILT fundamentals & architect, and virtual fundamentals & practitioner.


Types of property generatePrompt are incompatible.

    const model = new ChatOpenAI({
      modelName: 'gpt-3.5-turbo',
      openAIApiKey: openaiConfig.key,
      configuration: {
        baseURL: openaiConfig.baseUrl
      }
    })
    const chain = RetrievalQAChain.fromLLM(model, vectorStore.asRetriever())

Vue: Argument of type ChatOpenAI is not assignable to parameter of type
BaseLanguageModelInterface<any, BaseLanguageModelCallOptions>
Types of property generatePrompt are incompatible.

Which version of LangChain are you using? Could you try reinstalling latest if you're not on it yet?
Also, if you have the full typescript error, that would be really helpful.

version info:
"@langchain/community": "^0.0.17",
"@langchain/openai": "^0.0.12",
"langchain": "^0.1.3"

type error:

I will try to repro again today - thought we had fixed this sorry :(

Do you have the resolutions (yarn) or overrides (npm) fields set?
https://js.langchain.com/docs/get_started/installation#installing-integration-packages

@jacoblee93 my apologies, I had presumed that since I had @langchain/core installed as a regular dependency it would serve the same purpose as a resolution. I have specified it as a resolution and it fixed the type mismatches 🪄.
Thanks for the assistance.


Controller: exit process immediately after successful update.

Blocked by #1508

Coverage decreased (-0.2%) to 85.655% when pulling 119a80e1d644ebd2c5ac80bd991c4a739e53df16 on process-exit-post-update into 3e98b9e06c41dec132ec4ebbddfaf72ed1bef713 on master.

@LinusU thanks again! ❤


fix(headertest): sanity check range

self explanatory

Codecov Report
Attention: Patch coverage is 33.33333% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 62.87%. Comparing base (06f57bb) to head (758f14d).
Report is 1 commits behind head on main.

Files
Patch %
Lines

headertest/store.go
33.33%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #166      +/-   ##
==========================================
- Coverage   62.88%   62.87%   -0.02%
==========================================
  Files          39       39
  Lines        3578     3577       -1
==========================================
- Hits         2250     2249       -1
  Misses       1155     1155
  Partials      173      173

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


docs(tutorials/blog): add 'create migration' step

For production deploy you will need db migrations for your schema changes

Closes: #3246

[x] Docs
[x] Tests

Testing Strategy:

@squidpunch Doc changes go against main.
Could you please rebase your branch onto latest main & set base branch to main as well?

@MichaelDeBoey thanks, I didn't release.  I'll switch that up now


Create RoomAdmin class

Create RoomAdmin class than can do following:
Update location with inline classes to RoomAdmin (similar to receipt order, but we use standard foreign key instead). No need for extra room class in admin, we can allways do it as a part of location...
any other improvements, welcome...
Room model update: add foreign key to Location

done in #102


Docker images lacks proper data management

It is basically a VM-like deployment -- importing configuration, exporting logs, performing data backups is complicated since data volumes are not used.

Can you elaborate?
Configuration is settable via ENV variables as is the Docker way.
What is it you would have expected.

that's not much of configuration that we can pass via current environment settings. data volume is a good tool to separate private container data/code from public. i will play a little bit more with it.

crontabs, yes.
next things are SSL certificates (both for server and SSL validation)
btw I think disabling SSL certificate validation for local nessus installations by default is bad idea
maybe we need a way to auto fetch it the first time

Crontab, ssl certs and mySQL database can now be stored on the data volume since PR #411


Properties and property options are ignored or not used in the query builder to search

This could be easily tested:
class User
  include Neo4j::ActiveNode

  property :name, type: String
  property :email, type: String, default<EMAIL_ADDRESS>  property :another_field, default: 'Something'
end

Then create two nodes:
User.create(name: 'John', email<EMAIL_ADDRESS>User.create(name: 'John')

We try to search for undeclared property values:
User.where(title: 'Mr')
#<QueryProxy  CYPHER: "MATCH (result_user:`User`) WHERE (result_user.title = {result_user_title})">

We effectively call Cyper and get results, this means that the property declaration in model is not used at all in the Neo4j::ActiveNode#where
But neither is in the Neo4j::ActiveNode#find:
User.find('title: Mr')
User 20ms MATCH (n:`User`) WHERE (n.uuid = {n_uuid}) RETURN n ORDER BY n.uuid LIMIT {limit_1} | {:n_uuid=>"title: Mr", :limit_1=>1}

It means is only used to set and get properties, but ignored by the finders.
Is not working either for default values in properties added after node creation:
class User
  [...]
  property :another_field, default: 'Something'
end

User.where(another_field: 'Something').count
CYPHER 82ms MATCH (result_user:`User`) WHERE (result_user.another_field = {result_user_another_field}) RETURN count(result_user) AS result_user | {:result_user_another_field=>"Something"}
=> 1

User.where(another_field: nil).count
CYPHER 39ms MATCH (result_user:`User`) WHERE (result_user.title IS NULL) RETURN count(result_user) AS result_user
=> 1

You can search by array of values in the Cyper connector, but is not parsing properly the nil values:
User.where(another_field: ['Something', nil]).count
CYPHER 12ms MATCH (result_user:`User`) WHERE (result_user.another_field IN {result_user_another_field}) RETURN count(result_user) AS result_user | {:result_user_another_field=>["Something", nil]}
=> 0

As you can see in the last query, nil is passed literally. So you can't do this.
Taking in account that Neo4j is schemaless, but thinking in this issue, maybe an implentation of a model schema for finders might be a good implementation. Also the array parsing issue should be fixed.
This was initially detected in this SO question:
http://stackoverflow.com/questions/40808845/r

Just so I'm clear, are you saying that you would expect a property's default value to be used instead of nil when querying?
Also, this is not ever going to give you valid results:
User.find('title: Mr')
User 20ms MATCH (n:`User`) WHERE (n.uuid = {n_uuid}) RETURN n ORDER BY n.uuid LIMIT {limit_1} | {:n_uuid=>"title: Mr", :limit_1=>1}

The find method is for ID values, not key/value pairs. You can see that it even queries against the UUID using the String you provided. Use find_by for pairs.

No the issue is that old nodes doesn't hold any information for new properties.
I understand that if you add a new property to the definition, not a single node will have it, as per schemaless definition itself. But if I add a property with a default value, all old nodes should respond to that default value search. Assuming I add property :title, default: 'Mr', null: false to the model. The search:
User.where(title: 'Mr').count
Should return all nodes that were created before the property was defined becaue I'm searching by the default, in the model they all have this value defined as 'Mr', and as it can't be null, it has to be the default.
I might be totally wrong around this and just making a wish to statement here, or maybe a scope is the solution for this issue.
You are right about the find, sorry about that.

I understand now. In the upcoming version of the gem, we (meaning @ProGM) added an ActiveRecord-inspired Migration class that can be used to update data for things like this. http://neo4jrb.readthedocs.io/en/latest/Migrations.html provides detailed documentation. You can start using this now if you use v8.0.0.rc.4. I think that having the gem seek nil valued nodes would be an unexpected behavior for many people and potentially introduce some performance issues.

I think this migrations should be enough to handle the backwards nodes issue then. I appreciate your answer and time spent here. Closing.

Glad to help!


Cspec update

To provision a windows vm, we require the customization specification (cspec) parameter with the knife vmsphere clone call.

:+1:


winIco doesnt apply

Hi guys,
I want to apply an icon to my release build but it is not integrated into the exe. Switched from nodebob to node-webkit-builder or to be exactly: grunt-node-webkit-builder.
I have tried several images and several image types but nothing is changing.
My config:
nodewebkit: {
            options: {
                build_dir: './dist',
                winIco: './app/app.ico',
                // specifiy what to build
                mac: false,
                win: true,
                linux32: false,
                linux64: false
            },
            src: './app/**/*'
        },

My folder structure:
package.json
Gruntfile.js
dist/
app/
 |-package.json
 |-index.html
 |-app.ico

I build on Win32.
Did not help:
ie4uinit.exe -ClearIconCache

What is your operating system (XP, Vista, seven, win8, ...) ?
Have you any error message in the console output ?
How did you made your icon file ?
Does your icon file includes at least the following sizes: 16x16, 32x32, 48x48 ?
Here a few tutorials to make a valid icon file:
http://stackoverflow.com/questions/4354617/how-to-make-get-a-multi-size-ico-file
http://zduck.com/2014/creating-ico-icon-for-windows-app/

It's Win7x86.
I tried the flash from https://github.com/mllrsohn/node-webkit-builder/issues/187#issuecomment-77758766
I tried hopefully proper firefox.ico http://people.mozilla.org/~faaborg/files/shiretoko/firefoxIcon/firefox.ico
I tried a png renamed to ico. 32x32px
I tried png. 32x32px
I tried ico. 32x32px, 128x128px
I tried bmp. 32x32px
The output is:
><EMAIL_ADDRESS>preinstall C:\ProgramData\nodebob\DemoDVD_Menu\app
> npm i -g opener

npm http request GET https://registry.npmjs.org/opener
npm http 304 https://registry.npmjs.org/opener
C:\Program Files\nodejs\opener -> C:\Program Files\nodejs\node_modules\opener\op
ener.js
<EMAIL_ADDRESS>C:\Program Files\nodejs\node_modules\opener
Der Verzeichnisname ist ungültig.
Running "nodewebkit:src" (nodewebkit) task
C:\ProgramData\nodebob\DemoDVD_Menu\dist\releases\setup\win\setup\setup.exe C:\P
rogramData\nodebob\DemoDVD_Menu\dist\releases\setup\setup.nw win C:\ProgramData\
nodebob\DemoDVD_Menu\dist\cache\win\0.9.2\nw.exe
>> Created a new release with node-webkit (0.9.2) for win
>> @ C:\ProgramData\nodebob\DemoDVD_Menu\dist\releases\setup

Done, without errors.

The only error: Der Verzeichnisname ist ungültig. = The directory name is invalid. Comes from opener, i guess.

What command are you running to build it ?
Can you post the extract(s) of your grunt file using node-webkit-builder ?

You can see it in full length:
module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('app/package.json'),
        nodewebkit: {
            options: {
                build_dir: './dist',
                winIco: './app/app.ico',
                // specifiy what to build
                mac: false,
                win: true,
                linux32: false,
                linux64: false
            },
            src: './app/**/*'
        },
    });

    grunt.loadNpmTasks('grunt-node-webkit-builder');

    grunt.registerTask('default', ['nodewebkit']);
};

So

Sorry, I really not have the time to enquire more on your issue for now.
I may have a look later.
As a temporary workaround, you can disable winIco option and use https://github.com/felicienfrancois/node-winresourcer to set the icon afterward:
winresourcer: {
	operation: "Update",
	exeFile: "path/to/your/app.exe",
	resourceType: "Icongroup",
	resourceName: "IDR_MAINFRAME",
	resourceFile: "path/to/your/icon.ico"
},

As you said I applied this workaround:
module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('app/package.json'),
        nodewebkit: {
            options: {
                build_dir: './dist',
                winIco: './app/app.ico',
                // specifiy what to build
                mac: false,
                win: true,
                linux32: false,
                linux64: false
            },
            src: './app/**/*'
        },
        "winresourcer": {
            icon: {
                operation: "Update", // one of Add, Update, Extract or Delete
                exeFile: "<%= nodewebkit.options.build_dir %>/releases/setup/win/setup/setup.exe",
                resourceType: "Icongroup",
                resourceName: "IDR_MAINFRAME",
                lang: 1033, // Required, except when updating or deleting
                resourceFile: "<%= nodewebkit.options.winIco %>" // Required, except when deleting
            }
        }
    });

    grunt.loadNpmTasks('grunt-node-webkit-builder');

    grunt.loadNpmTasks('winresourcer');

    grunt.registerTask('default', ['nodewebkit', 'winresourcer:icon']);
};

I can easily confirm this error by enabling or disabling the winresourcer step.
When disabled the nw icons appears.
When enabled the wanted icon is included.
But there is a problem - nw doesnt want to start any more.
Cannot extract package
Failed to unzip the package file: C:\ProgramData\nodebob\DemoDVD_Menu"\dist\releases\setup\win\setup\setup.exe
But I have to sort out if I'm misusing resourcer.

I also try this in my app but without the custom name in win icon i give the name call favicon.ico and its work for me.
nodewebkit: {
options: {
version:'0.12.1',
build_dir: './webkitbuilds', // Where the build version of my node-webkit app is saved
winIco: './favicon.ico',
mac: false, // We want to build it for mac
win: true, // We want to build it for win
linux32: false, // We don't need linux32
linux64: true, // We don't need linux64
credits: './credits.html', // mac only, used to display credits
mac_icns: './app.icns'
},
src: ['app/**/*'] // Your node-wekit app source directory
}

Nw-builder doesn't seem to make an .exe file. Nsis does at the time of install. How would I build using nw-builder in a way that would make the .exe accessible (to try to fix the icon bug)?

I'm using Windows 7 and I too noticed various situations where the icon specified with winIco didn't always apply.
I eventually found something that works:  I used GIMP to create a 48x48 32 bit ICO file.
For some reason, Windows File Explorer doesn't want to show the updated icon for the Tiles file view. However, if you relocate the resulting NW executable, File Explorer shows it with the new icon. As far as I can tell, this situation is just File Explorer acting badly.
The default NW JS EXE icon reports itself as a 48x48 32 bit ICO. I noticed that when I messed with the EXE a bit with Resourcer, it was really easy to break the NW JS EXE, rendering it unable to run it with the embedded NW ZIP.
My guess is if you do not replace this image "exactly", it won't behave as expected.
Hope this helps.

@puzzud Eager to try this out. Thanks for investigating!

@puzzud Thanks for your effort! I'll try to apply your suggestion if I have that set up quick again (I don't remember if i used nw-builder or nodebob at the end in this project) Can you share your ico?

Can someone just send me over an as working known image, so that we can eliminate a problem with the resource itself?

@No3x, icon here:
https://raw.githubusercontent.com/puzzud/gjweb/master/assets/graphics/icons/win/icon.ico

This isn't fixed. After trying a zillion things, a thought occurred to me. I copied the nwjs.exe itself and ran that in Windows 10, and sure enough, the NW.js icon does NOT appear in the app. Meaning: even if you successfully replaced the nwjs icon image, it still wouldn't work, because that icon is not displayed correctly in the app. The nwjs.exe file itself has broken icon resources.

I've filed this issue: https://github.com/nwjs/nw.js/issues/3974

NEVER MIND. The title bar is controlled elsewhere. Meaning that, for me, the "app" icon always worked, but the "in-app" didn't. The problem was an incorrect path. Derp. See: https://github.com/nwjs/nw.js/wiki/Icons

I used the icon from @puzzud with my initial setup. (see first post)
The icon is changed in the file explorer (win 7) but not in the taskbar & window. I copied the exe to my win 10 and it's still the exactly same behaviour.

@No3x Inevitably this is probably an issue with the icon, wherever that's being created. As noted, not all utilities/apps for converting images to .ico are equal. The .ico format itself is a group of icons, and some items from that group may be missing (as required by taskbar), or they be the wrong bit depth / format. Not sure. That's what I realized when I was poking around today, that .ico =/= .ico. So it may be a matter of trying out different utilities.
Note: for me, the same .ico that worked for the app icon, shortcut, taskbar, installer, etc did NOT work in the app. For the in-app icon I used a 48x48 .png. I'm building on a mac, so for everything except the title bar icon (in-app), I used "iConvert Icons" to create an .ico file for the winIco setting.

@matthew-dean

I tried the flash from #187 (comment)
I tried firefox.ico http://people.mozilla.org/~faaborg/files/shiretoko/firefoxIcon/firefox.ico
I tried a png renamed to ico. 32x32px
I tried png. 32x32px
I tried ico. 32x32px, 128x128px
I tried bmp. 32x32px
I created a new ico with a tool from a 32x32px png to 16x16px & 32x32px ico.

I tried @puzzud's (that should work, or just for the file explorer? - feedback needed @puzzud )

@No3x I can only speak to what worked for me. Of course, I only tested in Windows 10 so far. I guess I assumed Win7 and Win8 would work if Win10 did, since I'm not aware of any major icon format changes.
As far as I can tell, I'm finally getting an icon everywhere I should have one, but the taskbar was already showing correctly for me.
Also: I would make sure if you're building on Mac/Linux that all your build resources are up-to-date (and npm build packages), like Wine and other libs required by winresourcer. But winresourcer (the command line utility) hasn't been updated in forever, so it probably wouldn't be that. And double and triple check all your scripts for the path from nw-builder to the icon file (and that winIco correctly sets the path for winresourcer to that icon file), so that you don't make a mistake like I did. Maybe try absolute paths just to be sure.

I think I found another workaround:
I use the ico for nw-builder and an png for the app.
apps' package.json:
"window": {
    "toolbar": false,
    "width": 660,
    "height": 500,
	"icon": "app.png"
  }

gruntfile is still:
winIco: './app/app.ico',

I think I found another workaround:
I use the ico for nw-builder and an png for the app.

Yes, that's exactly what I said. To quote myself:

Note: for me, the same .ico that worked for the app icon, shortcut, taskbar, installer, etc did NOT work in the app. For the in-app icon I used a 48x48 .png.

Oops.. Sorry I got this wrong somehow. I found this solution also in my old project so It's likely it was the only way to do it.

Np. :-) Regardless, this should probably be documented in detail, as it's not as straightforward as it seems. For instance, the winIco setting should make it clear a) what format it needs to be in, and b) where that icon does and does not apply. It's not intuitive simply from the setting.

The option winIco changes the exe icon (shown in the file explorer).

build_dir: './dist',
winIco: './app/app.ico',
// specifiy what to build
mac: false,

If you want to change the icon for the taskbar and window icon you have to specify nwjs's icon

{
  ... other stuff here ...
  "window": {
     "icon": "path/to/my/app.png"
  }
}

https://github.com/nwjs/nw.js/wiki/Icons
Tested with https://raw.githubusercontent.com/puzzud/gjweb/master/assets/graphics/icons/win/icon.ico

Looks like you've resolved this 😄

What is your operating system (XP, Vista, seven, win8, ...) ?
Have you any error message in the console output ?
How did you made your icon file ?
Does your icon file includes at least the following sizes: 16x16, 32x32, 48x48 ?
Here a few tutorials to make a valid icon file:
http://stackoverflow.com/questions/4354617/how-to-make-get-a-multi-size-ico-file
http://zduck.com/2014/creating-ico-icon-for-windows-app/

first i offer the icon.png can not work when nw-builder
finally i offer the icon.ico is work
var nw = new NwBuilder({
    appName: 'app',
    winIco : './icon.ico', // windows icon
    }）

thank you very much!


Don't run cargo update

What type of PR is this?
/kind ci
What this PR does / why we need it:
Keeping things simple and only use cargo-edit.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 46.56%. Comparing base (4e0f474) to head (ecab9eb).
Report is 678 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2390      +/-   ##
==========================================
+ Coverage   37.53%   46.56%   +9.02%
==========================================
  Files          15      121     +106
  Lines        1268     4003    +2735
  Branches      414      833     +419
==========================================
+ Hits          476     1864    +1388
- Misses        526     1637    +1111
- Partials      266      502     +236

/lgtm


Unable to add package via SPM

Description:
I cannot use the SDK in my project due to the checkout failure.
I also tried to add it after applying the fix from https://github.com/hyle-team/zano_native_lib_package_ios/pull/2, but the issue persists.
Steps to Reproduce the Issue:

Select your project
Add Package Dependency
Add https://github.com/hyle-team/zano_native_lib_package_ios/

Expected Behavior:
ZANO SDK should be added to ios project successfully.
Actual Behavior:

Environment:

Xcode: 16.0

This is a known issue with SPM. Unfortunately, there’s no way to make this work in Xcode
https://forums.swift.org/t/swiftpm-with-git-lfs/42396/26


Migrate last elements to new API

fix typo in hybrid perez model
migrate circumsolar shading calculation to hybrid perez model and add test (not applied to pvrows yet)
check and migrate last test items

Ran an 8760 clear sky simulation with both old and new API versions and compared the summed energy on middle pvrow (out of 3), the results are identical (old on top, and new on bottom):

I think that means we're ready to migrate the API to the new one, and remove the old one!


updating set-output

resolves #250
Description
Fixes last remaining instances of set-output.
Checklist

[ ] I have read the contributing guide and understand what's expected of me
[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

retrigger CI


Update Strings.fr-FR.axaml

The latest additions have been translated, but some translations are rough but still understandable

Thank you very much for the changes, they're great 👍

If you have any suggestions, don't hesitate. I will delete some of the <--- ---> soon


chore(buildpacks): update heroku-buildpack-php to v115

See https://github.com/heroku/heroku-buildpack-php/compare/v114...v115

ooh, CI was added this release for the buildpack!

code LGTM, but we should manually test this after the release is done.

manually tested, LGTM.


Coregionalization

Not to be merged yet.
I am preparing coregionalized models in GPflow #79.
Though the implementation is still in progress, I mostly fixed my direction.
Now I have the following concerns, and
I would be great if anyone could review the codes (and test-codes) and give me a comment.
I added the codes in a sub-directory 'coregionalized' and tried to keep (most of) the other parts unchanged.
(I guess coregionalization is not a main stream of GPflow)
However, I would like to make some changes for my implementation.

AutoFlow with DataHolder (in param.py)

The current implementation of AutoFlow uses tf.placeholders and simply pass it to the wrapped method.
But if it handles DataHolder (and its child classes) rather than placeholder,
it will be very convenient for my implementation.
I want to change the usage of AutoFlow as follows
@AutoFlow((tf.float64, [None, None])) -> @AutoFlow(DataDict)
and want to make a child class that inherits from AutoFlow.
It is the largest change I want to make in the core part of GPflow.
Please let me know if this change is acceptable.

DataHolderList that handles list of data_holders are added in data_holders.py

I added a class that has similar functionalities to those of ParamList.
I guess it will be convenient for other purposes, so I added it in data_holders.py rather than in coregionalized folder.

Lookup parameters and kernels.

Related to #132.
I added lookup kernel in constructing Kronecker's multiple in coregionalized/lookup_kernels and coregionalized/lookup_params.
If this functionalities can be used for another purpose, it may be better to move these modules to the parent directory.

Hi @fujiisoup
Great! I love coregionalization models.
There's a lot to look at here. Perhaps, to make it easier to review, we could split out the features into several pull requests.

DataholderList
this seems like a sensible and useful feature. I look forward to including it.

AutoFlow with DataHolder
This sounds like it might be a big change! If it's useful, and doesn't impact other users, we can include it. Otherwise, perhaps I can help you work out another solution.

Lookup parameters and kernels.
I'm not too clear on what this does, but I think it's strongly related to the coregionalization?

the coregionalization methods themselves.

I have some notes on Coregionalization models for you.  In GPy, we can up with a really neat solution for Coregionalization models. The trick contains two things:

A coregion kernel, which specifies the kernel between outputs (see #139 )
Use an extra column of the inputs to the kernel to specify the outputs.

This takes a moment to get used to, let me give you an example. If we have three output functions, observed at three points 1.2, 2.3, 3.4, the X matrix looks like
np.array([
[1.2, 0],
[2.3, 0],
[3.4, 0],
[1.2, 1],
[2.3, 1],
[3.4, 1],
[1.2, 2],
[2.3, 2],
[3.4, 2]])

And the Y observations are stacked up in a single vector. You can specify a Linear model of Coregionalization with this kernel:
k = GPflow.kernels.Matern32(1, active_dims=[0]) * GPflow.kernels.Coregion(1, output_dim=3, rank=2, active_dims=[1])

Now you can use this kernel and that data inside any GPflow method, doing variational approximations or MCMC or whatever you need.
Now, an additional thing that happens with coregionalization models is a Kronecker-structured matrix. This gives some significant computational benefits, but requires you to see all the outputs every time. Kronecker methods are not restricted to Coregionalized methods, though, so we should have a separate implementation for general Kronecker things. Note that the method I described above does not require kronecker structure.

Hi @jameshensman
Thank you for the quick review and information.
I would be great if you guys help me for the development.
I guess it is better to note here what I want to realize in this implementation.
I want to construct a very flexible framework for the coregionalization, not only with the coregion kernel but also (for examples)

Different mean functions among output tasks

Different variations (or even different likelihood forms) among the output task

Different scales and offset of the input channel
(e.g. the tasks (X1, Y1) and (X2, Y2) are similar if some transform to the input
X1 -> c * X1 + delta is introduced, with unknown coefficients. Note, this future is not implemented yet and left for the future extension.)

the coregionalization methods themselves.

I first thought of the extra column in the Data vector, which realize the coregion kernel.
But I guess it will be difficult to use different liekelihoods for each output task, in the current implementation.
(The use of different mean function may be possible if active_dims feature is introduced in mean_functions)
Therefore, I came up with an idea to define a new DataHolder object that bundles the value of X and output task label (coregionalized.labeld_data.LabeledData), like
X.data  = [1.2, 2.3, 3.4, 1.2, 2.3, 3.4, 1.2, 2.3, 3.4]
X.label = [  0,   0,   0,   1,   1,   1,   2,   2,   2]
and also for the the value of Y,
Y.data  = [2.1, 3.2, 4.3, 2.1, 3.2, 4.3, 2.1, 3.2, 4.3]
Y.label = [  0,   0,   0,   1,   1,   1,   2,   2,   2]
then X and Y are passed to kernel, mean_function, and likelihood.
In the kernel, with X.data the kernel values are calculated and with X.label the coregion kernel values are looked up from the parameter table.
(The LookUpKernel is just indroduced to handle this operation, and coregionalized.kernels.Kern is almost the same to kernels.Coregion kernel)
In the mean_function and likelihood, the input and data vector is split into multiple vectors according to the label, e.g.
X -> [[1.2, 2.3, 3.4], [1.2, 2.3, 3.4], [1.2, 2.3, 3.4]]
then passed to respective mean_functions and likelihoods and then the results are recombined (and sorted to the original order).
(coregionalized.mean_functions.MeanFunction) and (coregionalized.likelihoods.Likelihood)

AutoFlow with DataHolder

But this idea gives a trouble in the prediction phase,
because we have to pass data and label pair to the kernel, mean_function and likelihood, but AutoFlow only accepts a simple tf.placeholder.
That's why I want to change the AutoFlow functionalities.
(DataHolderList is also introduced (mainly) to customize AutoFlow)

This gives some significant computational benefits

I might not understand the theory very well, but is it the case if X is common in multiple tasks?
If it is, I might consider to implement both the cases.

Perhaps, to make it easier to review, we could split out the features into several pull requests.

OK. I will prepare small pull requests.
But because my implementation is largely based on the above idea,
any advice may avoid unnecessary changes to the codes.
Actually I saw the GPy usage and found that it uses different likelihood and mean_functions among tasks.
I'm wondering if there is a super-smart solution also for GPflow.

This I believe also addresses issue #79. This is a great addition and I can help with merging or as an extra set of eyes for reviewing.

@alexisboukouvalas  Thank you for your comment.
I would be very great if I could extend GPflow's functionalities.
Additions to the above my comment.
I found my current implementation is not very computationally effective because it execute the sort-operation every calculation time of kernel, mean function, and likelihood.
It may be better to make a sort only one time at the data_holder.set_data() method before the calculation.
My coregionalized.kernels.Linear is also less effective than #139.
But anyway, I'd like to fix the coding direction at first and then will make necessary improvement.

An alternative to achieve coregionalization with much less impact to the GPflow core might be
to make all the Likelihood methods include X in their arguments,
like
Likelihood.logp(self, F, Y) -> Likelihood.logp(self, F, X, Y)
but do nothing for the normal GP models.
In the likelihood classes for  the coregionalized model (should be implemented separately), the task index contained in the extra dimension of X (as suggested in the above comment) is used to adopt different variance parameters among tasks.
Which ones are preferred for the GPflow concept?
If you guys have any idea, please let me know.

Hi @fujiisoup

with much less impact to the GPflow core

I like that idea !
In GPy, we did this by adding "Y_metadata" as an argument to the likelihoods. It was a bit annoying because it touches all the likelihood codes.
An alternative would be to put the index in an extra column of Y as well as an extra column of X. Then a special likelihood could strip out the extra column and pass the correct parts of the remaining columns to the relevant likelihoods. I think I could prototype that pretty quickly.

Hi @jameshensman
Thank you for your comment.

to put the index in an extra column of Y as well as an extra column of X
sounds great.

It will make almost no impact on the other part!! Cool!

Current coverage is 95.93% (diff: 87.61%)

Merging #138 into master will decrease coverage by 3.02%

@@             master       #138   diff @@
==========================================
  Files            20         33    +13
  Lines          1445       1869   +424
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1430       1793   +363
- Misses           15         76    +61
  Partials          0          0

Powered by Codecov. Last update b4a8d1b...24a7614

Hi @jameshensman
Thank you very much for your help!
It is exactly what I want.
I was so surprised that such a simple code realizes the coregionalization...
I will commit some appropriate test codes for this modification.


long publishing loosing ftrack session

During publishing of long list of instances on old hardware with interrupted internet (as it happens often with some remote users these days) the Ftrack session collected on the beginning of publishing is vanishing.
Solution:
Collect Ftrack session only for collectors and then connect it again on start of integration.

has been already implemented by recalling ftrack api before integration

has been already implemented by recalling ftrack api before integration


0.1.1: docs @setup block

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/38428
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.1 -m "<description of version>" bf953e9d2cb335cf90c50c229f85826fbccdc4d1
git push origin v0.1.1


Home page have a url does not support https

http://api.hitokoto.us/rand?length=80&encode=jsc&fun=handlerHitokoto&_=1489808727483
BTW, is there a configure item to disable or custom the text content of this banner?

yeah， I‘ll correct it.

I have a pull request waiting with this quote text being optional.
https://github.com/stkevintan/hexo-theme-material-flow/pulls

I have removed the useless banner. thanks!