text:
Question about utf8

I was wondering if the idea of filters can be explained a little better. I have a csv file that's suppose to be utf8 but sometimes someone submits a file where one cell might contain messed up characters. For example: M�_ll. Arg.
When trying to save this row to MongoDB, I receive an error: 'MongoException' with message 'non-utf8 string: M�_ll. Arg.'
I've read the stream filter page, and looked at some examples, but don't quite understand what needs to be done. Am I suppose to make my own class and supply that to the register and filter call?
stream_filter_register(FilterTranscode::FILTER_NAME."*", "\lib\FilterTranscode");

$reader->appendStreamFilter(FilterTranscode::FILTER_NAME."iso-8859-1:utf-8");

Is it possible to fix the characters on read? If so, can I get an example?
Or is what I'm trying to do not possible? Should I instead just check the row array for improper characters?
Thanks.

@rbruhn Well stream filters are a feature of PHP itself not restricted to League\Csv. And yes you can use stream filters to convert with the Csv\Reader class your CSV content prior to exporting it. Just look at the documentation around stream filters where the mechanism and examples of how to use them with the package are explained.

authors: nyamsprod rbruhn

repo: thephpleague/csv


text:
Add setMeta to ResourceAbstract

The setMetaValue() method has a complementary getMetaValue(), but setMeta() did not have a complementary getMeta() method.
This allows a set of meta data to be applied to the resource at once, preventing the need to do something like the following in application code.
foreach ($someMetaData as $metaKey => $metaValue) {
  $theResource->setMetaValue($metaKey, $metaValue);
}

I went with overwriting existing meta instead of merging because that's what setMetaValue() is doing for individual keys.

Tests and scrutinizer are failing. Can you fix travis?

@philsturgeon I'd love to. The suite fails on hhvm with this:

Fatal error: Class already declared: PHPUnit_Framework_Error in phar://phpunit-4.6.4.phar/phpunit/Util/../Framework/Error.php on line 22

Looks like others are having a similar issue.

It’s ok I found a workaround from another league member. Travis deployed a new HHVM which falls over on phpunit, it’s a whole pile of f**ked.
Waiting on travis to confirm my workaround, then I’ll ask you to pull changes.
--
Phil
From: Jason Daly notifications@github.com
Reply: thephpleague/fractal reply@reply.github.com>
Date: April 28, 2015 at 1:27:07 PM
To: thephpleague/fractal fractal@noreply.github.com>
Cc: Phil Sturgeon me@philsturgeon.uk>
Subject:  Re: [fractal] Add setMeta to ResourceAbstract (#176)
@philsturgeon I'd love to. The suite fails on hhvm with this:
Fatal error: Class already declared: PHPUnit_Framework_Error in phar://phpunit-4.6.4.phar/phpunit/Util/../Framework/Error.php on line 22
Looks like others are having a similar issue.
—
Reply to this email directly or view it on GitHub.

Ok, pull from master and you should get a green build.

I don't know what the issue is now. The build is passing but Scrutinizer says it was told otherwise.

source: gharchive/pull-request

authors: deefour philsturgeon

repo: thephpleague/fractal

license: mit

license_type: permissive

license_source: bigquery


text:
Using Glide to cut external images?

There is the possibility of using Glide to cut external images?
In my case I would use in my project, YouTube videos of images (eg "http://img.youtube.com/vi/kOkQ4T5WO9E/0.jpg").
Any tips on how to do?
Thank you in advance.

Yes, this is possible. This can be done using an HTTP adapter for Flysystem. Basically you need to setup this HTTP adapter as your Glide "source". I've tested this with this library quite a while ago, and it worked great from what I remember.
Good luck!

source: gharchive/issue

authors: juscelinobarao reinink

repo: thephpleague/glide


text:
Can't access the container in Controllers

I was playing with this package and I found imposible to do it ... Is that intentional? if so ... why? I can't understand the disadvantage of having access to the service container inside a Controller.
I end up doing it overriding AbstractStrategy::invokeController as in here but IMHO it should be accesible.
Thanks in advance and great package!!!

Accessing the container from the controller would service location which is considered an anti-pattern so it is intentional that it is not instantly accessible but it is not impossible, you'd just have to set up the dependency injection on your controllers to have the container passed in.

Thanks!!!!

If you need an example of how to pass the container in I can provide one, I would strongly recommend against it though :+1:

I was having a look and here looks like the best place to do it to properly inject the container as a dependency.
Anyway examples are welcome! :-D

authors: lordoffreaks philipobenito

repo: thephpleague/route


text:
use composer test

see #37

Thanks!

authors: krienow reinink

repo: thephpleague/skeleton


text:
Add QueueAllMiddleware

Closes #36
Doc PR will follow. Opened a few other tickets as well, I want to do them as well and release a new minor after that.

@rosstuck done, thoughts?

:+1:

authors: rosstuck sagikazarmark

repo: thephpleague/tactician-bernard


text:
Update dependency eslint-plugin-jest to v26.8.7

This PR contains the following updates:

Package
Type
Update
Change

eslint-plugin-jest
devDependencies
minor
26.6.0 -> 26.8.7

Release Notes

jest-community/eslint-plugin-jest
v26.8.7
Compare Source
Bug Fixes

prefer-expect-assertions: report on concise arrow functions (#1207) (f928747)

v26.8.6
Compare Source
Bug Fixes

max-expect: reset expect counter when entering and exiting test function calls (#1206) (3908ab8)

v26.8.5
Compare Source
Bug Fixes

prefer-expect-assertions: use scoped based jest fn call parser for expect checks (#1201) (fd54ca1)

v26.8.4
Compare Source
Bug Fixes

prefer-mock-promise-shorthand: ignore mockImplementation functions that have parameters (#1199) (78ccbef)

v26.8.3
Compare Source
Performance Improvements

cache jest fn call parsing results (#1187) (525631e)

v26.8.2
Compare Source
Bug Fixes

max-expects: don't count expect.<member>() calls towards max (#1194) (75a0ff2)

v26.8.1
Compare Source
Bug Fixes

no-standalone-expect: only report on expect.hasAssertions & expect.assertions member calls (#1191) (4bf9eea)

v26.8.0
Compare Source
Features

resolve expect based on scope (#1173) (aa4be21)

v26.7.0
Compare Source
Features

create prefer-mock-promise-shorthand rule (#1167) (d965592)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
You don't have permission to create /tmp/renovate/cache/containerbase.
curl: (23) Failed writing received data to disk/application
tar: /tmp/renovate/cache/containerbase/7576b42decc67f70b61585f41c5074bea75c260886346e567578ea0e0dc2d571/node-v16.17.0-linux-x64.tar.xz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
bash: npm: command not found

repo: thepwagner/token-action

license: MIT

license_source: github-api


text:
api.blooket.com shutdown

hello, could you edit the code so it no longer sends packets to the api? it gets accounts banned.

I'll see if I can fix this in my fork

nice

authors: JoshAtticus akamezstuff

repo: therealgliz/blooket-hacks


text:
Dead guy walking :)

ALL OTHER MODULES DISABLED? (False)
**Module: Patrol, 0.9.5
Conflicting Module (if applicable):
Foundry and System version: 0.9 DnD3.5e 0.99.1
OS, Hosting, Browser (if applicable): Windows 10, Edge Chromium
Short Description of bug: My dead guy (npc) started following its patrol path after combat.
Simple steps to reproduce the bug:
Screenshots and/or console errors:

The issue has been fixed - keep in mind that if you send in a report like this without any kind of information and without following the bug report instructions again you will be blocked from opening issues on my repositories


text:
ExampleDialogueUI.cs compile error (ver 0.9.3 on Unity 5.2.1f1)

I get this error when importing the yarnspinner package:
"Assets/Yarn Spinner/Examples/Demo Scripts/ExampleDialogueUI.cs(147,42): error CS0246: The type or namespace name `WaitUntil' could not be found. Are you missing a using directive or an assembly reference?"
I have no idea what could be causing this or how to fix it (sorry, I'm a c# and unity newbie).

"WaitUntil" was added to Unity in version 5.3.2; if you can upgrade your copy of Unity, this will fix the problem.
(Will probably remove this call to WaitUntil in the next version - there are other ways to do it that are more compatible with earlier versions of Unity.)

On 17 Feb 2016, at 8:00 AM, empty-fortress notifications@github.com wrote:
I get this error when importing the yarnspinner package:
"Assets/Yarn Spinner/Examples/Demo Scripts/ExampleDialogueUI.cs(147,42): error CS0246: The type or namespace name `WaitUntil' could not be found. Are you missing a using directive or an assembly reference?"
I have no idea what could be causing this or how to fix it (sorry, I'm a c# and unity newbie).
—
Reply to this email directly or view it on GitHub.

Closing this issue for now - if you still have this problem, please reply with a comment and I'll take another look!

The fix in your commit is perfect (there were compaints about missing NUnit but I just removed the YarnSpinnerTests file and everything works fine). Thanks a lot!

:heart:

authors: desplesda empty-fortress

repo: thesecretlab/YarnSpinner


text:
Uncaught ReferenceError: process is not defined

Getting the following error after updating to the latest meteor version
Uncaught ReferenceError: process is not defined joshowens_shareit.js:32 Uncaught ReferenceError: process is not defined

+1

+1

+1

+1

+1

This seems fixed in master. Will release 1.0.0 today for this.

authors: AlmogRnD gsabran hinkelmann queso samcorcos sarkistlt stewiegaribaldi

repo: thespacedojo/shareit


text:
Does not route on hashchange or popstate event in jsdom

All of the event listeners in middle-router are the router instance. Browsers seem to all call handleEvent with this set as whatever object was passed in, while jsdom calls handleEvent with window.
This causes the router.route() function to be wrong, and routing never takes place.

fixed by e9485c5393ba5b4ef93f4b17fc01b81aa7a5535c

repo: thetalecrafter/middle-router


text:
Show the dark mode switch button on every page?

Could be useful if you don't think about it right away or if the score-takers have different preferences about that

Was thinking about that, although dark mode is something you usually set just once. Having the switch on other pages sounds fine, but I'm not sure where would be the best place for it (pretty sure it doesn't make sense to place it in the top-right menu).

Well, at the very bottom-left corner like on the home page seems fine to me. (I do agree it probably shouldn't be in the top-right menu)

authors: jonatanklosko zeecho

repo: thewca/wca-live


text:
Fix duplicate styles in CSS output

I think this PR will fix https://github.com/thgh/rollup-plugin-css-only/issues/49 https://github.com/thgh/rollup-plugin-css-only/issues/55.
I was going through the issues and realized that my build in my project has repeated styles too.
https://accounts.bandlab.com/web-accounts/scripts/app-033141d7.css 👇

The number of duplicate copies of the css seems related to the number of dynamic import() statements used within the specific bundle. - https://github.com/thgh/rollup-plugin-css-only/issues/55

This was a good guess. I found a fix and added a test. I probably introduced this bug 🙈
Without the fix we would get:
.rollup {
  color: green;
  user-select: none;
}
.rollup {
  color: green;
  user-select: none;
}

Published as 4.5 🎉

@thgh Can you double check the v4.5 release when you have time? When I look in the /dist on https://www.npmjs.com/package/rollup-plugin-css-only?activeTab=code, I don't see the updated version with the usage of Set(). So the bug still persists for me!

authors: pioug thgh

repo: thgh/rollup-plugin-css-only


text:
POST object with a property of Date type

Hello, first off, great library!
One issue I am having is, when I POST an object of a certain type, the properties of type "Date" are not deserialized into a Date object, they remain a string.
Example:
@POST
postInputDataSet( @PathParam("jobId") jobId: number, paramSet: InputDataSetEntity):Promise<InputDataSetEntity>
{
        console.log(paramSet.beginDate.getDate());
}
this code fails because beginDate is not a Date, but String. Would automatic deserialization of a Date be possible through this library?

Hi,
Thanks for your feedback.
Date should be supported. I will investigate what is happening.

Dates are not supported. The problem is that JSON.parse() does not handle dates automatically.
However, it is possible to use a reviver to handle it.
We can add this support to the next release.

repo: thiagobustamante/typescript-rest


text:
getByMac doesn't seem to work.

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed

Current Behavior
    const client = clients.filter(d=> d.mac === 'ca:f8:f4:50:33:6f')[0];
    console.log(client.mac)                         // prints ca:f8:f4:50:33:6f
    await site.clients.getByMac(client.mac);        // err api.err.UnknownStation

getByMac return an error. getById works.
Expected Behavior
I expect getByMac to retrieve clients by mac address.
Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Library version: unifi-client@0.9.5
Unifi Controller :UDM SE v3.1.16
Unifi OS : yes?
NodeJS version:  v20.2.0
Operating System: Linux (WSL)

Failure Logs
Coundn't get that to work, but the essential is that it makes this request :
GET /proxy/network/api/s/default/stat/sta/ca%3Af8%3Af4%3A50%3A33%3A6f
and the response is
{
        meta: {
          rc: 'error',
          mac: 'ca%3af8%3af4%3a50%3a33%3a6f',
          msg: 'api.err.UnknownStation'
        },
        data: []
      }

Hello, thank you for your issue .
I'm can't try it for the moment (maybe I will have some time at the end of the month) .
Can you try if it doesn't works too when using /stat/user/:mac ?

@jpambrun I fixed in in v0.10.0 . Feel free to test

Unfortunately is didn't help. I can see the request is now /proxy/network/api/s/default/stat/sta/ca:f8:f4:50:33:6f,  but the 400 error is similar.
        meta: {
          rc: 'error',
          mac: 'ca:f8:f4:50:33:6f',
          msg: 'api.err.UnknownStation'
        },

@jpambrun ok … I don't have the same .
what is your unifi network version ?
Actually, I tried with :
    const [site] = await controller.getSites();

    const clients = await site.clients.list();
    const client = clients.find((c) => c.mac === '28:6c:07:7a:52:fb');

    if (!client) {
        throw new Error('no client');
    }

    const clientByMac = await site.clients.getByMac(client.mac);
    console.log(clientByMac);

And I receive the client .
Else, I go in unifi web app => enable the legacy interface => go on the clients tab => select a client => I can see a request to https://unifi/proxy/network/api/s/default/stat/user/28:6c:07:7a:52:fb .
the same for you ?
if yes, you can try to modify the url in the lib before running your script ? to call /stat/user/<mac> insteed of /stat/sta/<mac> ( on my two setups the two url do the same things ).
( need to be modified in node_modules/unifi-client/lib/Clients/Clients.js line 135 )

I have UDM SE v3.1.16 with Network 7.5.174.
Using your code snippet the exception is not thrown, but getByMac gets a 400 with api.err.UnknownStation.
In the legacy UI,  I do see /proxy/network/api/s/default/stat/user/14:c1:4e:14:5c:bd requests.
And, the proposed code change from "/stat/sta/" to "/stat/user/" does make it work for me.

I can also limp by using await site.getInstance().get(/stat/user/${client.mac});

hum ... I can't help if I can reproduce it ...
Actually, the only way to get the same error, is to try to get a mac that doesn't exist ...
Can you get the UI to call the url with ca:f8:f4:50:33:6f ? or is the error the same with 14:c1:4e:14:5c:bd ?

@jpambrun any update about this bug ?


text:
Modifying Supercronic Related Code in start.sh

Context

Before registering Supercronic, check the size of the crontab file, not variables value.
If you perform the task registered in Supercronic, the log as like:

Choices

If you modify it this way, you don't need to modify it even if related functions are added.
Add the -passthrough-logs option to Supercronic so that the standard output of the file is displayed normally.

Test instructions

Set the BACKUP_ENABLED variable to false so that nothing is stored in the crontab file, and check whether the else part is executed.
Set the BACKUP_ENABLED or AUTO_UPDATE_ENABLED variable to true to see if it goes to the if part, and check the log on which update was executed.

Checklist before requesting a review

[x] I have performed a self-review/test of my code
[x] I've not introduced breaking changes.
[x] My changes do not violate linting rules.

Love this change!

authors: kimzuni thijsvanloef

repo: thijsvanloef/palworld-server-docker


text:
Enhancement: Update doc site index page and provide links to reference and tutorial docs as notebooks

We should leverage the benefits of nbdev to lower the friction of trying out Geowrangler's modules by making it easy to download and open the notebooks as jupyter notebooks.

Closing this as already implemented in #30.

repo: thinkingmachines/geowrangler


text:
pygeos error in installation step

Hello everyone, I'm getting an error in the make setup step. It points to a JSONDecodeError in the pygeos module. Did anyone else encounter this?

Building wheel for pygeos (pyproject.toml) ... done
Created wheel for pygeos: filename=pygeos-0.12.0-cp39-cp39-linux_x86_64.whl size=466415 sha256=b5825f6c13d1bcc3f760555744d4aea66940b5b3562ce9f722ecd49b973d7c09
Stored in directory: /home/jace/.cache/pip/wheels/67/0f/37/46f75689d7cacbc71c82facc1fa05b4e9b88a557ff89923644
ERROR: Exception:
Traceback (most recent call last):
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
status = run_func(*args)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
return func(self, options, args)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 450, in run
_, build_failures = build(
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/pip/_internal/wheel_builder.py", line 361, in build
wheel_cache.record_download_origin(cache_dir, req.download_info)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/pip/_internal/cache.py", line 282, in record_download_origin
origin = DirectUrl.from_json(origin_path.read_text())
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/pip/_internal/models/direct_url.py", line 206, in from_json
return cls.from_dict(json.loads(s))
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
WARNING: Ignoring invalid distribution -umpy (/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages)
WARNING: Ignoring invalid distribution -umpy (/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages)
WARNING: Ignoring invalid distribution -umpy (/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages)
Traceback (most recent call last):
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/bin/pip-sync", line 8, in
sys.exit(cli())
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/click/core.py", line 1130, in call
return self.main(*args, **kwargs)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/piptools/scripts/sync.py", line 174, in cli
sync.sync(
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/site-packages/piptools/sync.py", line 240, in sync
run(  # nosec
File "/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/mnt/c/Users/JCPeralta/Documents/Github/unicef-ai4d-poverty-mapping/env/bin/python3.9', '-m', 'pip', 'install', '-r', '/tmp/tmp6y59070e', '--no-binary', 'pygeos,shapely']' returned non-zero exit status 2.
make: *** [Makefile:14: setup] Error 1

steps done:

deleted and recreated env
upgrade pygeos to 0.13.0

solved by removing --no-binary in pygeos line in requirements.txt


text:
fix: sanitize block explorer URLs

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on sanitizing block explorer URLs by introducing utility functions for formatting transaction and address URLs. This ensures consistent URL construction across various components in the thirdweb package.
Detailed summary

Added formatExplorerTxUrl function to format transaction URLs.
Added formatExplorerAddressUrl function to format address URLs.
Refactored multiple components to use the new URL formatting functions:

FiatTxDetailsTable.tsx
WalletTransactionHistory.tsx
TransactionsScreen.tsx
ExecutingScreen.tsx
FiatSteps.tsx
SwapDetailsScreen.tsx

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

#5237  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @joaquim-verges and the rest of your teammates on  Graphite

repo: thirdweb-dev/js


text:
Update PyPI package

Since #6 was fixed with #7 I think a release of the package on PyPI could be ideal.

This can be closed now. Sry for the delay. BTW I'll soon push a fix for #9 and will then release it as 0.3.

authors: mr-ubik thisch

repo: thisch/pytest-sphinx


text:
Release: 0.7.2

Changes in 0.7.2

@edwardoparearyee: Feature: Re-add grunt-protractor-webdriver (#33)

:+1:

authors: edwardoparearyee jamesjwarren

repo: thisissoon/angular-start


text:
支持对接confluence等平台吗？

如果想支持到web上搜索，可以直接对接到confluence等平台吗？还是说只能自己实现python爬虫功能

可以用langchain加一下。

repo: thomas-yanxin/LangChain-ChatGLM-Webui


text:
Question on Code snippet

Do you know where I can find the Benjamin Milde code for using FastRoute with PW?

@Lostkobrakai could you give me a hand here? I remember you saved it as a gist, but I can‘t find it anymore

@Lostkobrakai could you give me a hand here? I remember you saved it as a gist, but I can‘t find it anymore

I quick search though my gists/repos yielded nothing. It's been years, so I can't really help much more than that.

I quick search though my gists/repos yielded nothing. It's been years, so I can't really help much more than that.

@LostKobrakai Thanks anyway!
@Pauldro I'm afraid you'll have to extract the bits you need from this file: https://github.com/thomasaull/RestApi/blob/master/Router.php

@LostKobrakai Thanks anyway!
@Pauldro I'm afraid you'll have to extract the bits you need from this file: https://github.com/thomasaull/RestApi/blob/master/Router.php

authors: LostKobrakai Pauldro thomasaull

repo: thomasaull/RestApi


text:
electron app does not work on macOS 13.4

Hello Thomas, thanks for your great work.
Just reporting that version 0.0.3 doesn't work on macOS 13.4.

but if I compile code, it works well.

hey thanks for message and sorry, i havent seen it earlier.
did you figure out how to fix it? i am quite busy with work, but can have a look once a have some free time.

I end up making own MediaPipe OSC Sender because I couldn't fix the issue, and also MediaPipe is updated. I'm also bit busy at the moment but would be nice to have time to contribute updating Popeye later. Thanks for your message!

i will hopefully find some time over christmas, planning to updat ethe lib. there seems to be an issue with the electron bundle. it is way to big.
potentially will port it to tauri.

Cool, never heard of tauri but looks interesting.

i started porting it to tauri, which now reduces the bundle size to 20mb instead of 600mb.
still some fixes left to do.
in case you wanna give it try. let me know how it works for you.
i also will cleanup the js part soon, it got a bit messy. and should update the media pipe libs.
any contributions are welcome of course.

Cool Thomas! I will try it out!
Last year, we made our own webApp that communicates with oF via websocket
(without UDP). I will ask if we can publish the app.
Recent updates of MediaPipe improves reducing jittering and adds new
parameters (visibility, if I remember correctly).
On Tue, 4 Jun 2024, 11:40 Thomas Geissl, @.***> wrote:

i started porting it to tauri, which now reduces the bundle size to 20mb
instead of 600mb.
still some fixes left to do.
in case you wanna give it try. let me know how it works for you.
i also will cleanup the js part soon, it got a bit messy. and should
update the media pipe libs.
any contributions are welcome of course.
—
Reply to this email directly, view it on GitHub
https://github.com/thomasgeissl/popeye/issues/21#issuecomment-2147084138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABPGAAWXJQGXZFMBBW3LITZFWDQHAVCNFSM6AAAAAA554DLAGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBXGA4DIMJTHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

sounds good.
and quite related, i started working on an webview for oF. that helps to get rid of the ws communication.
basically an oF based electron.
https://github.com/thomasgeissl/ofxChoc/tree/main/example-webview

I just tried ofxChoc and all works great on macOS 14.
So I tried replacing /dist contents of example-webserver_webview example with our MediaPipe webApp.
and WOW! Magic!

thanks for giving it a try and reporting back. glad to hear that it worked without issues.
the event system might need some internal tweakings, but i think the basics are already there.

Webcam works, MediaPipe works, Landmark detection works, Gui works!
One issue I found is that video doesn't record. (We have a HTML5 video recording feature for webcam input to adjust MediaPipe parameters). Great work!

thanks. feel free to add an issue on the other repo and move that conversation over there.
probably nothing i can fix easily, maybe more an webkit issue or how it is implemented in choc. wonder if it works on windows.

btw, I'm quite surprised to see that oF's Project Generator is about 430MB.
It might be good to re-write with Tauri.

yeah, electron is quite heavy. also it takes a bit longer to load the app.
i would like to see it written with ofxChoc, since it has a c++ backend instead of rust.

oh i see, that's also sounds good.

authors: hiroMTB thomasgeissl

repo: thomasgeissl/popeye


text:
Not capturing during night

If I enable daytime capture I can get a live preview. If I turn daytime capture off, it never captures at night. I get the yellow text screen in live view saying daytime capture is off. Says it all night.

@OrionA51 Please follow the instructions in the Reporting Issues Wiki page and attach the log file.  Start Allsky about 10 minutes before your nighttime begins, and let it runs for about 10 minutes after nighttime begins.  I will need to see what happens at the transition.

I’ve been leaving it run and it is now imaging. Daytime is set to false. So it looks to me like it’s a time issue. Or time zone issue. Under camera settings - other settings, I do have the coordinates input. The Rpi time is correct too. I’ll look into getting the log file and also see if it stops imaging at or near sunset.
Ryan C.

On Apr 2, 2022, at 12:14 PM, EricClaeys @.***> wrote:

@OrionA51 Please follow the instructions in the Reporting Issues Wiki page and attach the log file. Start Allsky about 10 minutes before your nighttime begins, and let it runs for about 10 minutes after nighttime begins. I will need to see what happens at the transition.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Ok so right at sunset the capture stopped and I get the screen that says capture is off during the day. I assume that should be easy to fix? Just a matter a reversing something…
Ryan C.

On Apr 2, 2022, at 12:14 PM, EricClaeys @.***> wrote:

@OrionA51 Please follow the instructions in the Reporting Issues Wiki page and attach the log file. Start Allsky about 10 minutes before your nighttime begins, and let it runs for about 10 minutes after nighttime begins. I will need to see what happens at the transition.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

@EricClaeys Ok I sort of feel stupid here. I had my longitude set as -81W. Which is correct, but the program as I understand cannot use a "-" sign. I understand now that "W' or "E" is the determining factor for "-" or "+". Using a -+ sign is mainly for GPS systems. I would suggest to make that clear in the settings or simply disable to ability to use -+ to make it idiot proof. Sorry to about opening an issue too soon.

@OrionA51 Glad you figured it out.
I will add a check for a minus sign with a N, S, E, or W, which should be illegal.
I modified a test version of the website to allow either the +/- or N,S,E,W version.  I think the WebUI should allow either form.
If your problem is resolved,  please close the Issue.

repo: thomasjacquin/allsky


text:
🛑 Syncthing-NBG is down

In fe04a54, Syncthing-NBG ($URL_SYNCTHING_HETZNER_CLOUDSERVER_DE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Syncthing-NBG is back up in a13e2cb.

Caused by #818

repo: thomasmerz/upptime


text:
Remove argument defaults from position mixin

Remove default value for the $position argument because it is
unclear if it is not defined when calling the mixin.
Remove default value for the $coordinates argument because it is
unclear if it is not defined when calling the mixin.
This also updates the documentation to show use of shorthand.
Remove unused spec CSS.
Related discussion: https://github.com/thoughtbot/bourbon/pull/947.

+1 love that this adds more clarity

authors: kylefiedler tysongach

repo: thoughtbot/bourbon


text:
Don't return id field in params_for

I can't think of any use case where you would want the id field when
using params_for. For something scenarios like submitting to an API, or
getting the bare fields to test validations it would be rare to
actually submit the id itself, and so the current behavior feels
unexpected.

I like the idea of this, but I think we should delete the record's primary key instead of assuming it is :id.
You can get this with the functions that Ecto defines for schemas
MyModel.__schema__(:primary_key)

Also we should document that the primary key is removed

Two small comments and then LGTM :D

authors: jsteiner paulcsmith


text:
add static page rails generator

This PR creates the generator requested in  #303
Hope this is helpful!

Not sure if these hound critiques are valid as I largely tried following convention within the project

failed to see new features weren't being added  :(

Hi @whatnotery thank you for contribution but this library is in maintenance mode, which means we will only accept bug fixes/dependencies updates contributions. We have other gems you can contribute to, if you're interested. This post shares some active ones. Thank you!

authors: stefannibrasil whatnotery


text:
Feature need: handle new Heroku pipeline review app convention

Heroku's new review apps system no longer names review applications with the same number as the Github PR in a predictable manner. From my conversations with their support team there's no way we can easily run a PR app without knowing the app suffix or for us to also connect to the Github API.

Heroku's added the ability to go back to your own PR app names based on PR numbers now, so this is less necessary.

repo: thoughtbot/parity


text:
Extract an abstract database adapter

Scenic::Adapters::Abstract lays out the interface for Scenic database
adapters. It contains template methods for all methods required of a
Scenic adapter with actual implementations for create_view and
drop_view which are identical for basic use cases across all
relational databases I've encountered.
Using the abstract adapter as a base, for instance, a hypothetical MySQL
adapter would need only to implement the views method that retrieves
all views and their associated schema for dumping to the schema.rb
file.
As part of this extraction, I converted to using instances for the
adapters rather than class methods. This feels better and wasn't a good
deal of work. I'd prefer instance based APIs rather than class-based
APIs.
Documentation was added for all adapter methods.

@calebthompson I'm not sure about extracting the abstract adapter bit. Does that provide a bit too much of a contract we'd be beholden to? For instance, right off the bat, I thought about all the various options you can pass to CREATE VIEW, CREATE_MATERIALIZED_VIEW or REFRESH_MATERIALIZED_VIEW that our API provides no affordances for. It's almost like we'd want the Schema statements to accept arbitrary options and pass through anything unidentifed as a third options parameter for adapters to do with what they'd like. If we want to do that now, I think this abstract adapter move is something we can do now. If we want to consider out options more, I think we wait.
I do really like the move to instances over classes, and the documentation so I'd like to do that part regardless.

Agreed, there's some good stuff here. I do think ts probably premature to do an extraction. If rather see us work with someone interested in writing and maintaining a Scenic adapter for XSQL so that we are sure the API is what we need.

Going to nix the abstract adapter for now, and merge the isntance changes and docs.

authors: calebthompson derekprior

repo: thoughtbot/scenic


text:
Where are all config parameters documented?

Hi,
Thanks for great gem!
I was looking at the ways I can configure suspenders to my needs. Is there any place where I can find all configuration options / command line parameters I can use for suspenders?
Thanks!
Viktor

If nothing else you can see them here. Hope it helps.

suspenders --help is useful as well:
Usage:
  rails new APP_PATH [options]

Options:
  -r, [--ruby=PATH]                                      # Path to the Ruby binary of your choice
                                                         # Default: /Users/tutec/.rbenv/versions/2.3.0/bin/ruby
  -m, [--template=TEMPLATE]                              # Path to some application template (can be a filesystem path or URL)
      [--skip-gemfile], [--no-skip-gemfile]              # Don't create a Gemfile
  -B, [--skip-bundle], [--no-skip-bundle]                # Don't run bundle install
                                                         # Default: true
  -G, [--skip-git], [--no-skip-git]                      # Skip .gitignore file
      [--skip-keeps], [--no-skip-keeps]                  # Skip source control .keep files
  -O, [--skip-active-record], [--no-skip-active-record]  # Skip Active Record files
  -S, [--skip-sprockets], [--no-skip-sprockets]          # Skip Sprockets files
      [--skip-spring], [--no-skip-spring]                # Don't install Spring application preloader
  -d, [--database=DATABASE]                              # Configure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
                                                         # Default: postgresql
  -j, [--javascript=JAVASCRIPT]                          # Preconfigure for selected JavaScript library
                                                         # Default: jquery
  -J, [--skip-javascript], [--no-skip-javascript]        # Skip JavaScript files
      [--dev], [--no-dev]                                # Setup the application with Gemfile pointing to your Rails checkout
      [--edge], [--no-edge]                              # Setup the application with Gemfile pointing to Rails repository
      [--skip-turbolinks], [--no-skip-turbolinks]        # Skip turbolinks gem
                                                         # Default: true
  -T, [--skip-test-unit], [--no-skip-test-unit]          # Skip Test::Unit files
                                                         # Default: true
      [--rc=RC]                                          # Path to file containing extra configuration options for rails command
      [--no-rc], [--no-no-rc]                            # Skip loading of extra configuration options from .railsrc file
  -H, [--heroku], [--no-heroku]                          # Create staging and production Heroku apps
      [--heroku-flags=HEROKU_FLAGS]                      # Set extra Heroku flags
  -G, [--github=GITHUB]                                  # Create Github repository and add remote origin pointed to repo

Runtime options:
  -f, [--force]                    # Overwrite files that already exist
  -p, [--pretend], [--no-pretend]  # Run but do not make any changes
  -q, [--quiet], [--no-quiet]      # Suppress status output
  -s, [--skip], [--no-skip]        # Skip files that already exist

Rails options:
  -h, [--help], [--no-help]        # Show this help message and quit
  -v, [--version], [--no-version]  # Show Rails version number and quit

Description:
    Create suspenders files for app generator.

Thanks!

Looks like Usage: section is buggy.

authors: tute vfonic zamith

repo: thoughtbot/suspenders


text:
Add bullet as development dependency

Bullet notifies automatically if there is any request in the application
where we are performing N+1 queries, or unused eager loading.
With this check we make sure we eager load what is needed, and nothing
more, without having to check each endpoint.
To do:

[ ] Add configuration to development and test environments

What kind of notification are you expecting from bullet? I think it writes to a log by default, right?

@zamith "Bullet won't do ANYTHING unless you tell it to explicitly."
I guess this configuration is enough, what do you think @tute ?

Since it will also be used on specs, it is important to include Bullet.raise = true to make the tests fail.

I'm going to go with this for now:
  config.after_initialize do
    Bullet.enable = true
    Bullet.bullet_logger = true
    Bullet.rails_logger = true
  end

I don't think it should fail the build, I remember having seen false positives. After testing for a while we can discuss that again.

That config will log everything, but not warn you about anything right? Do you forget to check the logs, or is that not an issue?

That config will log everything, but not warn you about anything right? Do you forget to check the logs, or is that not an issue?

Without bullet I have to see N+1 patterns in development.log for specific actions, or much more verbose test.log. We might not see them as we might be working with less data, in which case we have to consciously check for potential N+1 due to lack of eager loading (or unused eager loads).
With bullet, you get a bullet.log formatted file, much easier to read.

I agree with that, and I think bullet is a nice add. Just questioning how you would use it. Especially if it comes with suspenders and you're not aware it is there, because it doesn't announce itself in any way. On the other hand, I too have experienced false positives, so failing the build doesn't seem like a good option as a default.
It's a nice to have though.

Thanks!

authors: thiagogabriel tute zamith


text:
Latest thcrap crash the games on linux.

When running on Linux using wine, the newest update of thcrap require not only copy thcrap_update.dll out from bin, but also libcurl.dll, libssl-1_1.dll and libcrypto-1_1.dll. I did all of that and then got into the loader. But then this happen

Is there anything I can provide in order to fix this ?

Could you send your thcrap_log.txt?

Here is mine
thcrap_log.txt

This log seems to be just for the loader. There should be more logs in the logs folder

But 6 files in the logs folder are the same. Do you want me to run configure or something ?

I am also getting this issue on Arch Linux, running through Lutris with Wine 6.9. Here are my two logs from the logs folder. This stops the configure tool from working after pressing Enter, and games launched using shortcuts cannot run too.
thcrap_log.txt
utl-log.txt

I am also getting this issue on Arch Linux, running through Lutris with Wine 6.9. Here are my two logs from the logs folder. This stops the configure tool from working after pressing Enter, and games launched using shortcuts cannot run too.
thcrap_log.txt
utl-log.txt

This might an unrelated issue. This is because you are getting a crash log, but OP isn't. Redownloading thcrap should fix it
Technical explanation:

thcrap.dll is updated but thcrap_update.dll isn't.
thcrap_update.dll is trying to do something that in the new version is unsupported
That being calling PROJECT_NAME_SHORT as a function, when in the new version it's not code, but data

Overwrite dlls in thcrap directory by dlls in 'thcrap/bin' after first prompted auto update fix the issue for me.

Oh. Yeah, that definitely explains it. After an update, the DLLs in the bin directory are updated, but the ones in the root directory aren't.

Today I tried to pull latest thcrap and then reinstall the whole wine packages (32 & 64) the games can run now
Thanks for noticing this post, I'm gonna close the issue now.

repo: thpatch/thcrap

license: unlicense


text:
after recovering account by seed, not all wallets are show

Currently we don't scan for all wallets

We can scan for new wallets:

[ ] This will find all wallets that are sequential, but let's say you have a wallet at key index 1, and a next one at key index 500, do we expect that 2nd one to still be found (as that would mean we scanned 500 addresses, 498 for nothing;
[ ] Let's say that besides key index 0, we also find used addresses at key index 1, 2, 3, 4. What do we expect now:

Create them as a single wallet?
Create them as 4 separate wallets?
Give the user a choice somehow?

The scanning is the easy part, the difficult part is how do we want the UX to be surrounding this?

[ ] Do we also want to allow scanning of keys of existing accounts? By means of having a scan button in the settings page? How would that experience look like? Similar to the experience in the creation process or an empowered version?

authors: DylanVerstraete GlenDC


text:
Include macro

Include macro should be extended to allow users to define:

organization/repo
docsite
branch
document
document part

Please see spec here

Macros tests are fixed, they can be used and updated now, also moved test files to tests directory.

Newest specs can be found here and here.
Will update the docs in tools/markdowndocs/macros and re-link them again at the end.

Should be done now on development_types, examples can be found at docs/tools/wiki/docsites/examples.
Another problem is the that macros are called 3 times instead of one! found the root cause, will try to fix without any side effects.

Another problem is the that macros are called 3 times instead of one! found the root cause, will try to fix without any side effects.

This should be fixed now too, processing is done only once.

https://github.com/threefoldtech/jumpscaleX/pull/173

This specs have been changed, closing this in favor of #42.

authors: abom rkhamis

repo: threefoldtech/digitalmeX


text:
Fix find method filtering in alerthandler

Description
Fix find method filtering in alerthandler. lowercase is used in search parameter but not in alerts saved in db.
Changes
Added tolower() to the db strings when comparing
Related Issues
https://github.com/threefoldtech/js-ng/issues/470

Codecov Report

Merging #496 into development will increase coverage by 0.63%.
The diff coverage is 0.00%.

@@               Coverage Diff               @@
##           development     #496      +/-   ##
===============================================
+ Coverage        67.64%   68.28%   +0.63%
===============================================
  Files               81       81
  Lines             3780     3780
===============================================
+ Hits              2557     2581      +24
+ Misses            1223     1199      -24

Impacted Files
Coverage Δ

jumpscale/tools/alerthandler/alerthandler.py
19.83% <0.00%> (ø)

jumpscale/core/exceptions/exceptions.py
96.96% <0.00%> (-3.04%)
:arrow_down:

jumpscale/tools/startupcmd/startupcmd.py
85.71% <0.00%> (-1.30%)
:arrow_down:

jumpscale/clients/gedis/gedis.py
94.38% <0.00%> (+1.12%)
:arrow_up:

jumpscale/core/logging/logging.py
96.61% <0.00%> (+1.69%)
:arrow_up:

jumpscale/servers/gedis/server.py
72.10% <0.00%> (+12.63%)
:arrow_up:

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 6d731aa...4133557. Read the comment docs.

authors: AhmedSa-mir codecov-io

repo: threefoldtech/js-ng


text:
gitea chatflow isn't consistent with the rest of the apps

for instance mattermost shows for the success message

and peertube

but gitea shows

and what's up with the that password? how is that generated? why can't the user specify it themselves? and that's for postgresql correct? they user is required to use (dbname, dbuser, db password) are the default correct?
note: i'm ok with admin url, but let's remove that container ip thing

verifed + gitea is not shown in the frontend

sdk version

# git log -1
commit 1ad73fb55d6fd551b675f1998aee1efc30778b75 (HEAD -> development, origin/development, origin/HEAD)
Merge: c2dba99 e873a6d
Author: xmonader <xmonader@gmail.com>
Date:   Thu Sep 3 13:52:03 2020 +0200

    Merge pull request #944 from threefoldtech/development_missing_attr

    fix missing attr

authors: Pishoy xmonader

repo: threefoldtech/js-sdk


text:
Improve install experience of 3sdk

check brew for osx (linux) for packaging 3sdk (thabet)
check installer framework windows which results with started 3sdk

App needs to be signed with (mac):
Contact Peter Van der Henst to get an account
https://developer.apple.com/developer-id/
Do some investigation which combination of tools will give the best user experience
https://py2app.readthedocs.io/en/latest/tutorial.html#building-for-deployment
maybe this one creates .app dmg right away?
Tkinter could be used to embed your terminal
tkinter can do that
would be nice to have an icon in the app folder right (-:
small little thing but looks much better

I don't think it's easy to do with tkinter, probably for linux can get away with xterm and frame id, but won't go far for other systems, even if you use VTE terminal (with a gtk app) that won't work for the other systems. What I saw for terminal in general either embed VTE (that won't work on windows) or fork the system terminal window e.g exec terminator
This one seems to work https://build-system.fman.io (PyQt based) solution that solves the deployment on the 3 systems and it was used for fman.io so maybe that's a better solution having GUI windows and options for the users.

Checking brew and building the bin with it

I've tried brew, I could build it locally using this formula
class JumpscalexCore < Formula
  desc "3sdk"
  homepage ""
  url "https://github.com/waleedhammam/jumpscaleX_core/archive/v10.5.2.tar.gz"
  sha256 "d2ce77a61a198b2cd53f4acce5fd7e5c36c369fc83a05b9f74314530b4f4a175"

  def install
    system "cd install && pip3 install -r requirements.txt"
    system "export PATH=$PATH:/usr/local/bin; cd install; ./package.sh"
    system "cd install && cp dist/3sdk /usr/bin/3sdk;"
  end

end

But the thing is it builds the binary from source code (on the client machine)
to create the binary we need to make a PR to homebrew repo with our formula and fulfill all the requirements in here https://docs.brew.sh/Acceptable-Formulae and maintain the releases like here https://docs.brew.sh/Acceptable-Formulae#niche-or-self-submitted-stuff
If so we can use bottles https://docs.brew.sh/Bottles to grab the binary after it created at their side
I will try now to make the formula with full dependencies and create a PR with my fork to try bottles

Created a formula at: https://github.com/waleedhammam/homebrew-core/commit/ea7bbdd88b2cf169afc3ad6cf42f95fdc66b0eb6 and made a PR, going to check bottles now if it can produce the correct binary

Resolved the comments on the PR, this is the new formula https://github.com/waleedhammam/homebrew-core/blob/master/Formula/threesdk.rb

Added more changes requested by homebrew team at :https://github.com/waleedhammam/homebrew-core/commit/327529bd41ce2e5828df055324eb04935d238d21

closing in favor of https://github.com/threefoldtech/home/issues/719

authors: grimpy rkhamis waleedhammam xmonader


text:
blog based on gedis and svelte

Create a blog package based on gedis/svelte

[x] actors

[x] get meta data, blog title, author, author photo,... etc (get_blog_metadata)
[x] get posts list (get_blog_posts)
[x] get single post (get_blog_post with id)
[x] get tag's posts (get_blog_posts_by_tag)
[x] search posts/pages

[x] UI based on svelte

[x] simple interface
[x] searchable
[x] Taiga like theme
[x] tags

[x] Deployment

[x] package.py
[x] package factory
[x] start paramaterized in blog repo url

[x] Documentation

[x] Repo format
[x] Metadata format
[x] Actors usage
[x] Svelte components
[x] Communication over gedis (gedis http client)
[x] Deployment related info

node_js server has been removed in this commit: 3dc386e05a0499e1e0f06abd5b2492ff81ba0862 and https://github.com/threefoldtech/jumpscaleX_threebot/commit/d2599b80845aac24aa668615ac0b030e6cb14ab9

Post overview page:

[ ] : We specify author in post metadata, but it only shows the author in the metadata.yml. needs to take this from post data IMO.
[ ] : Style: we should align the width of the image with the width of the texts underneath. looks off right now.

Post Detail page:

[ ] : Author avatar differs from the one in the post overview + it is being cut off
[ ] : Tags at bottom of the post need spaces between

reopened with the following issues:
https://github.com/threefoldtech/jumpscaleX_threebot/issues/188
https://github.com/threefoldtech/jumpscaleX_threebot/issues/181

authors: Dinaamagdy VonSub waleedhammam xmonader


text:
Getting not enough space error when trying to make a reservation

I'm having this inconsistent behaviour, this error happens most of the time and rarely that i have a successful complete reservation
Error
failed to create read-write subvolume for 0-fs: Not enough space left in pools of this type SSD
Branches
lib, threebot: development_tfchatflows
libs_extra, core0 : development
Steps:
1- Do a reservation using the chatbot
2- After getting the reservation id, check the status
JSX> result
    category = "NETWORK"
    data_json = "null"
    epoch = "2020/03/17 08:54:49"
    message = "failed to create network resource for network NVBbkvfmJy5NF: failed to configure network resource: failed to configure wireguard interface: failed to bring wireguard
        interface w-NVBbkvfmJy5NF up: address already in use"
    signature = "FYa+DnWGSlWKf5AE6lww2TPRZtB6vn2cfKUu49YXtdSXkl7whS+3Q/bTTUWPnTM8z4i4F1YFwO9cgCcf8y6ODg=="
    state = "ERROR"
    workload_id = "1"

    category = "VOLUME"
    data_json = "{\"volume_id\":\"281004-2\"}"
    epoch = "2020/03/17 08:54:50"
    message = ""
    signature = "S/pUw0qRtz3mxtVE1wCffkND8HwdSE3zQ2L6UZHLTB8cjcw21OKhvrFFh2DRi0e9FyHwrcbP2WzMoUZqa6SfDA=="
    state = "OK"
    workload_id = "2"

    category = "CONTAINER"
    data_json = "{\"id\":\"\",\"ipv6\":\"\",\"ipv4\":\"\"}"
    epoch = "2020/03/17 08:54:51"
    message = "failed to create read-write subvolume for 0-fs: Not enough space left in pools of this type SSD"
    signature = "RysIjcifGHPtX7KjqHpYq2qcbZu4kndjJf41YYijoZKWU3OSii2DLd2qk25eClWYGg83fNhKqUa3FQDx2Eq8Dw=="
    state = "ERROR"
    workload_id = "3"

Note

the chat should be smart to get a node with free space to use

fixed in
https://github.com/threefoldtech/jumpscaleX_libs/commit/359b88b7200fe2dd064c751a070bc2c82ba55862#diff-8bf1a0673743292e4d3a32b67b859ad8
https://github.com/threefoldtech/jumpscaleX_libs/commit/e7352feef235a1f3e532d7b5e7868b76e5d9f5aa#diff-8bf1a0673743292e4d3a32b67b859ad8

authors: john-kheir xmonader


text:
Index node power state and power target events

Right now, only the current power state and power target of a node are saved. It would be better to index all power state/target change events, to a historic log of these can be queried, similar to how uptime reports work. This way, consumers of the API can also verify that the farmer bot is both working properly, and account for it (to e.g. calculate uptime)

Update:
PR is ready for review.

authors: LeeSmet sameh-farouk


text:
Wallet info dialog is not correctly responsive

Description
In the large screens, the qr code goes down while it has enough space to be beside the text fields to be there.

Network: devnet

Version: alpha12

Steps to reproduce

login to the dashboard.
just click on the wallet on the top right in the dashboard.

Logs/Alerts

Work Completed:
Fix TFchain card on big screens

verified and fixed the dialogue is now responsive
version : bee662d
network : devnet
https://github.com/threefoldtech/tfgrid-sdk-ts/assets/110984055/96f2d302-2aa7-48b1-a49d-0baabbbbc2f5

Verified:

Devnet
5c12959

repo: threefoldtech/tfgrid-sdk-ts


text:
Web3 Proxy Deployer

We want to have a deployer app that can deploy a web3 proxy (threebot) for a user.
Key management
The threebot will be controlled with an ethereum wallet, in this case it will be Metamask extension. Authentication to the threebot will be controlled with this metamask wallet. When the Threebot is created, the public key a wallet in metamask will be passed for future verficiation. When a user want's to interact with the Threebot (Modify state) he needs to sign a random message which will be verified on the server authenticate(message, signature).
Additional keys

Tfchain key
Stellar key

Both keys will be generated before the Threebot is created. The tfchain key will be used to create the threebot deployment.
We need the following flow before we can deploy a Threebot:

Create tfchain key
Fund with activation service
Accept terms and conditions
Create a twin

When this flow is completed, the deployer can use the tfchain to deploy the Threebot. Once deployed, the user will have 1 hour to fund the tfchain address with additional tokens until his contract is put into grace state (automically done by the billing)
Deployment variables to deploy a Threebot:

ETH_PUBLIC_KEY
TFCHAIN_KEY
SSH_KEY

To do:

[ ] add environment variables to the go server ETH_PUBLIC_KEY and TFCHAIN_KEY and SSH_KEY
[ ] modify state in tfchain package to load an account from ETH_PUBLIC_KEY environment variable if no key is passed in the request
[ ] add an authicate(message, signature) method on the server that verifies a signature and message based on the ETH_PUBLIC_KEY, this then allows the user to modify state (need to indentify which state calls these are)
[ ] ..

tracked in https://github.com/threefoldtech/home/issues/1428


text:
Don't prefix the flag -std=c++XX with -Xcompiler

We unconditionally prefix all compiler flags with -Xcompiler when passing then to nvcc, but some compiler flags are recognized natively by nvcc. Adding the prefix can cause nvcc to warn.
We can avoid this if we are more careful about what gets prefixed in nvcc.py:
    # prepend -Xcompiler before each flag which needs it; some do not
    needs_no_prefix = ['-std=c++03', '-std=c++11']
    def flags_which_need_no_prefix(flags):
        result = [flag for flag in flags if flag in needs_no_prefix]
        return result

    def flags_which_need_prefix(flags):
        result = [flag for flag in flags if flag not in needs_no_prefix]
        return result

    env['_NVCC_BARE_FLAG_FILTER'] = flags_which_need_no_prefix
    env['_NVCC_PREFIXED_FLAG_FILTER'] = flags_which_need_prefix

    env['_NVCC_BARE_CFLAGS']       = '${_concat("",            CFLAGS, "", __env__, _NVCC_BARE_FLAG_FILTER)}'
    env['_NVCC_PREFIXED_CFLAGS']   = '${_concat("-Xcompiler ", CFLAGS, "", __env__, _NVCC_PREFIXED_FLAG_FILTER)}'
    env['_NVCC_CFLAGS']            = '$_NVCC_BARE_CFLAGS $_NVCC_PREFIXED_CFLAGS'

    env['_NVCC_BARE_SHCFLAGS']     = '${_concat("",            SHCFLAGS, "", __env__, _NVCC_BARE_FLAG_FILTER)}'
    env['_NVCC_PREFIXED_SHCFLAGS'] = '${_concat("-Xcompiler ", SHCFLAGS, "", __env__, _NVCC_PREFIXED_FLAG_FILTER)}'
    env['_NVCC_SHCFLAGS']          = '$_NVCC_BARE_SHCFLAGS $_NVCC_PREFIXED_SHCFLAGS'

    env['_NVCC_BARE_CCFLAGS']      = '${_concat("",            CCFLAGS, "", __env__, _NVCC_BARE_FLAG_FILTER)}'
    env['_NVCC_PREFIXED_CCFLAGS']  = '${_concat("-Xcompiler ", CCFLAGS, "", __env__, _NVCC_PREFIXED_FLAG_FILTER)}'
    env['_NVCC_CCFLAGS']           = '$_NVCC_BARE_CCFLAGS $_NVCC_PREFIXED_CCFLAGS'

    env['_NVCC_BARE_SHCCFLAGS']     = '${_concat("",            SHCCFLAGS, "", __env__, _NVCC_BARE_FLAG_FILTER)}'
    env['_NVCC_PREFIXED_SHCCFLAGS'] = '${_concat("-Xcompiler ", SHCCFLAGS, "", __env__, _NVCC_PREFIXED_FLAG_FILTER)}'
    env['_NVCC_SHCCFLAGS']          = '$_NVCC_BARE_SHCCFLAGS $_NVCC_PREFIXED_SHCCFLAGS'

    env['_NVCC_BARE_CPPFLAGS']      = '${_concat("",            CPPFLAGS, "", __env__, _NVCC_BARE_FLAG_FILTER)}'
    env['_NVCC_PREFIXED_CPPFLAGS']  = '${_concat("-Xcompiler ", CPPFLAGS, "", __env__, _NVCC_PREFIXED_FLAG_FILTER)}'
    env['_NVCC_CPPFLAGS']           = '$_NVCC_BARE_CPPFLAGS $_NVCC_PREFIXED_CPPFLAGS'

Should I remove the if device_backend != 'cuda':` from 81b1feb0eb7dd4d6bc8ca70fc9e618450c11643d  (see #671) and you'll add this generic solution?

Sure, that's fine, I'm waiting to merge your pull request before I submit this more comprehensive change.

authors: dachziegel jaredhoberock

repo: thrust/thrust


text:
How do I control the number of iterations in each epoch, as if he would change with test_every?

hi,
How do I control the number of iterations in each epoch, as if it would change with 'test_every'?

Hello.
In each epoch, you will have batch_size * test_every many samples.
Therefore, if you would like to use 800 samples with batch_size=4, set test_every=200.
Thank you.

hi, the number of my training images is 15000, I set the batches 16 and test_every 10000,then the number of samples in each epoch is 150000, not the 16x10000, why?

hi,
How do I control the number of iterations in each epoch, as if it would change with 'test_every'?

hello, I am also confused with this problem,the number of my training images is 15000, I set the batches 16 and test_every 10000,then the number of samples in each epoch is 150000, not the 16x10000, why?Could you give me some explanations?thank you


text:
模型结果指标选择

你好，请问在MSA任务中，Has0_acc_2、Non0_acc_2、Multi_acc_5,Multi_acc_7、MAE、Corr这些指标，是选取来自同一个epoch下的，还是在不同epoch下分别选择最好的结果

不同epoch的最好结果

authors: hustcselwb ultramarine-indigo

repo: thuiar/MMSA


text:
Code cleanup

Issue #45

There are far too many different kinds of changes being put together in one PR here.
We are all already working on separate PRs for and this is going to conflict a lot with every one of those.
I get the idea behind the issue you raised, but this is not the way to go imo.
It'd be better if you raised a separate PR for linting issues, separate PR to split the css files, separate PR for removing main_node and other files (which I am not sure are redundant btw, please check with @thuiop on this).

Alright, will work on fixing it, also I'll add some documentation on main_node.js

Will create a new Pull Request

authors: ZiClaud himanshunaidu

repo: thuiop/magium-dev


text:
Add Gradle command reference to the README/wiki/etc

We can add some common and recommended commands to verify, build, publish, etc. Our gradle configuration is pretty standard, so these are mostly just the default commands (check, build, etc), but it may still be helpful for those less familiar with Gradle.

Yep, I have this as a TO-DO

authors: dzirbel mallikapotter

repo: thumbtack/thumbprint-android


text:
Dark mode

Being a primarily flat white UI, a dark theme seems only natural. Are there any plans for it?

Hi Ben! 👋
We'll probably support a dark theme eventually, but not in the near future.

authors: benknight danoc

repo: thumbtack/thumbprint


text:
数据集是否可以不用date列

您好！我的数据集中不包含date列，是否可以在此情况下进行正常训练？大致应该在哪里修改代码？

可以的，你需要做这些工作
（1）去掉dataloader.py中对于date列的信息提取
（2）将x_mark_enc，x_mark_dec设置为None
（3）改变embedding方式，去掉temporal_embeding

可以的，你需要做这些工作 （1）去掉dataloader.py中对于date列的信息提取 （2）将x_mark_enc，x_mark_dec设置为None （3）改变embedding方式，去掉temporal_embeding

您好，我狂试了一晚上，还是有一些问题，data_loader.py的__getitem__方法的返回值seq_x_mark与seq_y_mark该怎么处理呢，显示不可以设为None，与之对应的exp_long_term_forecasting.py中的train方法内的batch_x_mark和batch_y_mark也无法处理，求指教

那你也可以直接设置成ones，然后不使用它即可

repo: thuml/Time-Series-Library


text:
The plugin's post validator has stopped displaying the warnings and errors it was displaying before and is now only displaying an error.

Describe the problem and steps to reproduce it:
What happened?
Uploading a .zip file through the page https://addons.thunderbird.net/es/developers/addon/[name]/versions/submit/ now shows the error that I attached in the images, but 4 or so ago 5 days it showed the errors and warnings that it really has and I have been able to reduce them. Now when it shows nothing more than this error, I can't continue with the publishing process.
What did you expect to happen?
Show the same warnings and errors that it showed 4 or 5 days before.
Anything else we should know?
(Please include a link to the page, screenshots and any relevant files.)

I have the 'dist.zip' but I guess I shouldn't link it here directly. Can I get it to you somehow?
Thank you very much in advance

Hey there, what is your addon called?

Hi.
The name is "lex-on-conecta"

Thanks, looks like something server-side. We'll look at it.

Heya @joaquinlefebvre,
We've tweaked some things on the backend, and it should be back to how it was before!
Let me know if it doesn't work.

@MelissaAutumn:
It works perfectly.
You solved it really quickly.
Thanks a lot.

authors: MelissaAutumn joaquinlefebvre

repo: thunderbird/addons-server


text:
[QUESTION] How to get Response Body from middleware

Hi, I working on FastAPI. I would like to get or access the attribute from Response object. As i know It's StreamingResponse type. It's look like async_generator. I've read the document from https://www.starlette.io/responses/#streamingresponse. This instruction look like writing on the Response object. It's don't have a instruction about getting body object from response.  Then i trying to find the solution from https://github.com/tiangolo/fastapi/issues/623. but now the link for solution has been expired.
So anyone have idea  or example ?
Thank you.

Is this one ?

Is this one ?

What section in article?
I have seen that before, It's no mention on Response Body, just only response header.

@bozzlab Sorry, the docs got reorganized and the link moved. It is fixed in that issue now, but it is also here for reference: https://fastapi.tiangolo.com/advanced/custom-request-and-route/

@bozzlab Sorry, the docs got reorganized and the link moved. It is fixed in that issue now, but it is also here for reference: https://fastapi.tiangolo.com/advanced/custom-request-and-route/

Thank you for the documents, But now i'm working in this style
app.middleware('http') async def middleware(request: Request, call_next) -> Response:     response = await call_next(request)  # response has been StreamingResponse Type          #do something() to_convert Request -> JSONResponse
So, If i would like to get Response Body using this way. Is possible ?

So... did you solve your issue @bozzlab ? If that's the case, you can close the issue.

So... did you solve your issue @bozzlab ? If that's the case, you can close the issue.

Not yet, I'm still finding solution for this.

I ran into a similar situation, for my use case I created a subclass of the response type I needed and added the extra parameter I would have added inside the middleware.
class SnakeCaseResponse(UJSONResponse):
    def render(self, content: typing.Any) -> bytes:
        content['is_success'] = 'error' not in content
        return super().render(convert_to_camel_case(content))

same problem, I am trying to get the body of a request and response in middleware/custom router.
and if a validation error occurs, then control is not transferred to the custom router

Getting the request body in a middleware can be problematic and in some cases not possible, as the request's body is "consumed".
But to solve those use cases where you are sure your request's body won't be gigantic (or infinite), for example, it's a simple JSON, and you want to access the JSON body in something like a middleware and also in the path operations, you can apply the ideas from this section, let me paste the link again: https://fastapi.tiangolo.com/advanced/custom-request-and-route/#accessing-the-request-body-in-an-exception-handler
Please read the docs there. That should help you solve your use cases.

@tiangolo Would it be possible to attach raw content to the Response object?
class Response:
    media_type = None
    charset = "utf-8"

    def __init__(
        self,
        content: typing.Any = None,
        status_code: int = 200,
        headers: dict = None,
        media_type: str = None,
        background: BackgroundTask = None,
    ) -> None:
        self.body = self.render(content) # <-- self.content = content
        self.status_code = status_code
        if media_type is not None:
            self.media_type = media_type
        self.background = background
        self.init_headers(headers)

I want to log the content of a JSONResponse, but the only way to access it in a custom APIRoute handler wrapper is after it has been transformed into json bytes.
Is there a reasons why raw content is not exposed.

Getting the request body in a middleware can be problematic and in some cases not possible, as the request's body is "consumed".
But to solve those use cases where you are sure your request's body won't be gigantic (or infinite), for example, it's a simple JSON, and you want to access the JSON body in something like a middleware and also in the path operations, you can apply the ideas from this section, let me paste the link again: https://fastapi.tiangolo.com/advanced/custom-request-and-route/#accessing-the-request-body-in-an-exception-handler
Please read the docs there. That should help you solve your use cases.

Hi @tiangolo, thanks for your help and for all the efforts in this project!
But I think in this case you get it wrong, @bozzlab is looking for response body, not request body...

@ronanfernandes @tiangolo is has actually pointed in the right direction, maybe not being explicit enough.
You need to create a CustomAPI route, because the response body in the middleware can be a StreamingResponse or could be gzipped or many other things.
The only safe way to access it is by wrapping the execution of the api route.
This example is at the bottom of the page @tiangolo has linked, and shows you exactly how you can access the response.
import time
from typing import Callable

from fastapi import APIRouter, FastAPI, Request, Response
from fastapi.routing import APIRoute

class TimedRoute(APIRoute):
    def get_route_handler(self) -> Callable:
        original_route_handler = super().get_route_handler()

        async def custom_route_handler(request: Request) -> Response:
            before = time.time()
            response: Response = await original_route_handler(request)
            duration = time.time() - before
            response.headers["X-Response-Time"] = str(duration)
            print(f"route duration: {duration}")
            print(f"route response: {response}")
            print(f"route response headers: {response.headers}")
            return response

        return custom_route_handler

app = FastAPI()
router = APIRouter(route_class=TimedRoute)

@app.get("/")
async def not_timed():
    return {"message": "Not timed"}

@router.get("/timed")
async def timed():
    return {"message": "It's the time of my life"}

app.include_router(router)

thank you, it´s clearer now.

@vjpr you could probably create a sub-class of JSONResponse with your custom implementation, overriding its initialization and storing the data you need in a custom attribute.

regarding using a custom route, that option works well, but i have to define it for every router.
the way my app is built is i have many routers and i use include_router to add them all to the app.
why is this not possible using a middleware?
i wrote this is a draft (considering to use it for my use case):
https://github.com/talarari/starlette-log-requests-middleware/blob/master/LogRequestsMiddleware.py
i based it on the message pack middleware (which has to deal with request and response body)
it seems to work well.
would love some feedback on whether this is a legit solution, thanks!

regarding using a custom route, that option works well, but i have to define it for every router.
the way my app is built is i have many routers and i use include_router to add them all to the app.
why is this not possible using a middleware?
i wrote this is a draft (considering to use it for my use case):
https://github.com/talarari/starlette-log-requests-middleware/blob/master/LogRequestsMiddleware.py
i based it on the message pack middleware (which has to deal with request and response body)
it seems to work well.
would love some feedback on whether this is a legit solution, thanks!

@tiangolo I have gone through custom API route however it shows adding custom headers & does not indicate how can we manipulate the response body.
Is there a way to access the response body inside the get_route_handler method of custom API route class before the response is ready to be sent back to the user. Calling the super().get_route_handler() gives the fully prepared response and if we want to alter the body we need to do the whole process of decoding the string body, then converting it to python object, alter it and then serialize it back & sent to user.
My use case is to basically add some common meta information to the JSON response for every endpoint. The way I to it currently is to pass the raw response to a helper function which adds the meta-information to the response.
@rouer.get("/some_ep")
def handler():
    return build_response(**raw_response)

Is there a way to do it automatically either through middleware or a custom API route without having to explicitly call a method ?

authors: Dustyposa MTonomy-Nchinda-Nchinda bozzlab dmontagu hyperleex rbhanot4739 ronanfernandes talarari tiangolo vjpr

repo: tiangolo/fastapi


text:
Fix typos

Just fixes some spelling/typo mistakes.

Nice catch! Thanks @kkinder ! :mag: :pencil2:

authors: kkinder tiangolo


text:
flower: connection refused and can't login

Hi, this project looks incredibily useful, so first of all I'd like to express my gratitude to tiangolo for sharing it.
I'm having trouble running it in docker-machine from Windows 10 (so docker running inside Virtualbox).  To make the backend mount correctly /app I changed the volume lines in docker-compose.dev.volumes.yml to include the full path in docker-machine virtualbox, i.e. something like /windowsvolume/pathtocode/backend/app:/app. This works, if I do docker exec -it base-project_backend-tests_1 /bin/bash I can see the app directory.
However when I try to login on 192.168.99.100 with the username/password present in cookiecutter-config-file.yml for "first_superuser" I get a few seconds delay (after I press login) and then a " Incorrect email or password" message.
In the logs of the flower container I see a bunch of these in a row
[E 200118 18:25:34 gen:661] Multiple exceptions in yield list
    Traceback (most recent call last):
      File "/usr/local/lib/python3.5/site-packages/tornado/gen.py", line 656, in callback
        result_list.append(f.result())
      File "/usr/local/lib/python3.5/concurrent/futures/_base.py", line 398, in result
        return self.__get_result()
      File "/usr/local/lib/python3.5/concurrent/futures/_base.py", line 357, in __get_result
        raise self._exception
      File "/usr/local/lib/python3.5/concurrent/futures/thread.py", line 55, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/usr/local/lib/python3.5/site-packages/celery/app/control.py", line 109, in conf
        return self._request('dump_conf', with_defaults=with_defaults)
      File "/usr/local/lib/python3.5/site-packages/celery/app/control.py", line 71, in _request
        timeout=self.timeout, reply=True,
      File "/usr/local/lib/python3.5/site-packages/celery/app/control.py", line 316, in broadcast
        limit, callback, channel=channel,
      File "/usr/local/lib/python3.5/site-packages/kombu/pidbox.py", line 283, in _broadcast
        chan = channel or self.connection.default_channel
      File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 766, in default_channel
        self.connection
      File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 751, in connection
        self._connection = self._establish_connection()
      File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 706, in _establish_connection
        conn = self.transport.establish_connection()
      File "/usr/local/lib/python3.5/site-packages/kombu/transport/pyamqp.py", line 116, in establish_connection
        conn = self.Connection(**opts)
      File "/usr/local/lib/python3.5/site-packages/amqp/connection.py", line 165, in __init__
        self.transport = self.Transport(host, connect_timeout, ssl)
      File "/usr/local/lib/python3.5/site-packages/amqp/connection.py", line 186, in Transport
        return create_transport(host, connect_timeout, ssl)
      File "/usr/local/lib/python3.5/site-packages/amqp/transport.py", line 299, in create_transport
        return TCPTransport(host, connect_timeout)
      File "/usr/local/lib/python3.5/site-packages/amqp/transport.py", line 95, in __init__
        raise socket.error(last_err)
    OSError: [Errno 111] Connection refused

followed by this
[E 200118 18:25:36 events:123] Failed to capture events: '[Errno 111] Connection refused', trying again in 4 seconds.
[E 200118 18:25:40 events:123] Failed to capture events: '[Errno 111] Connection refused', trying again in 8 seconds.
[E 200118 18:25:48 events:123] Failed to capture events: '[Errno 111] Connection refused', trying again in 16 seconds.
[E 200118 18:26:04 events:123] Failed to capture events: '[Errno 111] Connection refused', trying again in 32 seconds.
[I 200118 18:26:36 mixins:231] Connected to amqp://guest:**@queue:5672//
[E 200118 18:39:07 broker:77] RabbitMQ management API call failed: [Errno 111] Connection refused
[E 200118 18:39:07 broker:78] Make sure RabbitMQ Management Plugin is enabled (rabbitmq-plugins enable rabbitmq_management)
[E 200118 18:39:13 broker:77] RabbitMQ management API call failed: [Errno 111] Connection refused
[E 200118 18:39:13 broker:78] Make sure RabbitMQ Management Plugin is enabled (rabbitmq-plugins enable rabbitmq_management)

I am totally unfamiliar with Celery so I'm not sure how to go further there. BTW I can access and login into the flower, traefik and pgadmin UIs, but /docs and /redoc show me the nginx 404 error page.

Thanks for the help here @dmontagu ! :cake: :bowing_man:
@nareto if you're still having errors, make sure you read the generated README and the logs of your containers, that will probably help you debugging it.

authors: nareto tiangolo

repo: tiangolo/full-stack-fastapi-postgresql


text:
🛑 TICKETS.COM.SG is down

In fc59e6b, TICKETS.COM.SG (https://tickets.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: TICKETS.COM.SG is back up in a6d7527 after 9 minutes.

repo: tickets/upptime


text:
backup大量文件时会报错

指令是这个 backup --sync -p 5 Z:/game/NS /Games
好像delete不会

aliyunpan:/ Fuuko$ panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0xeedde0]
goroutine 14 [running]:
github.com/tickstep/aliyunpan/internal/functions/panupload.(*boltDB).Next(0xc0001c1410, 0xc00030d8a0, 0x9, 0x0, 0x0, 0x0)
G:/aliyunpan/internal/functions/panupload/sync_database_bolt.go:149 +0x460
github.com/tickstep/aliyunpan/internal/functions/panupload.(*boltDB).clean(0xc0001c1410, 0x0)
G:/aliyunpan/internal/functions/panupload/sync_database_bolt.go:89 +0x199
github.com/tickstep/aliyunpan/internal/functions/panupload.(*boltDB).Close(0xc0001c1410, 0x0, 0x0)
G:/aliyunpan/internal/functions/panupload/sync_database_bolt.go:179 +0x50
github.com/tickstep/aliyunpan/internal/command.DelRemoteFileFromDB(0xc00030d560, 0x6, 0xc00030d830, 0xa, 0xc00030d8a0, 0x9, 0x1)
G:/aliyunpan/internal/command/backup.go:218 +0x967
github.com/tickstep/aliyunpan/internal/command.Backup.func1(0xc00030d820, 0xc000300001, 0xc000391ce0, 0xc00030d250, 0x6, 0xc0003a54b8, 0xc00030d240, 0xa)
G:/aliyunpan/internal/command/backup.go:285 +0x329
created by github.com/tickstep/aliyunpan/internal/command.Backup
G:/aliyunpan/internal/command/backup.go:279 +0x70e

初步看是备份数据库文件访问失败了，能不能开下debug日志看看

这个大量预计是多少个文件，在哪个数量级，1000? 2000?

大概2600多，开过debug没什么有用的信息
是不是因为被上传的文件夹是用samba共享的问题？

刷到这个data是nil就报错了

我也有这个问题，现在还没解决吗

可以试试v0.1.6 版本的sync命令，看是否可以解决

authors: AsakuraFuuko ranshuo-ICer tickstep xiaoyaofenfen

repo: tickstep/aliyunpan


text:
cell.ProcessEvent

https://github.com/tideland/golib/blob/master/cells/cell.go#L137
This should probably use <-time.After(time.Second) rather than a straight time.Sleep(). I don't have a test case for it yet, but I did see in some of my code where if eventc got backed up a little then the ProcessEvent loop would pause for one second, even though it was able to continue processing after only a few milliseconds.
func (c *cell) ProcessEvent(event Event) error {
	start := time.Now()
	for {
		select {
		case c.eventc <- event:
			return nil
		case <-c.loop.IsStopping():
			return errors.New(ErrInactive, errorMessages, c.id)
		case <-time.After(time.Second):
			now := time.Now()
			if now.Sub(start) > c.emitTimeout {
				op := fmt.Sprintf("emitting %q to %q", event.Topic(), c.id)
				return errors.New(ErrTimeout, errorMessages, op)
			}
		}
	}
}

Looks better, indeed. Maybe it even makes sense to make this time configurable. Will think about. Thanks for your great input.

You could also probably make it:
case <-time.After(c.emitTimeout):

right?

Yeah, great, and simplifies the code more.

of course, we can go further:
func (c *cell) ProcessEvent(event Event) error {
	c.emitTimer.Reset(c.emitTimeout)
	select {
	case c.eventc <- event:
		return nil
	case <-c.loop.IsStopping():
		return errors.New(ErrInactive, errorMessages, c.id)
	case <-c.emitTimer.C:
		op := fmt.Sprintf("emitting %q to %q", event.Topic(), c.id)
		return errors.New(ErrTimeout, errorMessages, op)
	}
}

This saves an allocation of a new timer on each ProcessEvent

Get's even better, yes. Should think about hiring you. Sadly I'm only private. ;)

Though there might be something wrong with reusing a timer like that. Not sure what happens it writes to the channel (C) but no one reads from it. Maybe a defer c.emitTimer.Stop()...
Hard for me to track this one down because in my case, I am processing about 1M events per second across 1000 cells. :)
We are also hiring, but you'd have to want to move to Norway.

Wow, what an impressive value. My own tests never created such a huge environment. Would like to know more about your use case for cells. If it's no secret let me know at mue(at)tideland.biz.
Regarding the time I'll do some research.

Seems to be a bit more complicated than I first thought:
https://github.com/golang/go/issues/4412
https://github.com/golang/go/issues/11662
Even with the first pass of <-time.After(...) results in this huge leak for me:
(pprof) top10
1684.69MB of 1707.28MB total (98.68%)
Dropped 210 nodes (cum <= 8.54MB)
Showing top 10 nodes out of 31 (cum >= 1152.38MB)
      flat  flat%   sum%        cum   cum%
 1170.91MB 68.58% 68.58%  1170.91MB 68.58%  time.NewTimer
  258.62MB 15.15% 83.73%   259.03MB 15.17%  github.com/tideland/golib/cells.newCell

I did email you on the 24th but it might have ended up in your spam folder ;)

Hmm, just an idea this morning:

each cell gets a ticker, e.g. 1 second
the cell backend loop consumes it while it is waiting for events; nothing is done here
in ProcessEvent() the current time is taken in the beginning and in a select branch consuming this ticker channel
here the time is taken again and if the difference is greater than the timeout the timeout error is returned

This should be resource friendly and I think one second (or even five seconds) is a good low value for a timeout. What do you think?

So, solution looks good. And I'll also found an error in the loop package and fixed it. Will push the cells improvement together with the race fix.

Sounds good. I am not sure what the timeout should be (1 or 5), but this design (a per-cell ticker rather than a per-event timeout) provides only for the responsiveness of the cell's behavior and not an absolute timeout. Meaning it says: "You have X seconds to receive an event plus a little bit of slop time. If you want a strict timeout, do it yourself".
If you go the ticker route, I would then lean towards a longer period (say 5 seconds) since this design will trigger a goroutine wake up.
Make sure the ticker is stopped in either cell.stop() or maybe via cell.loop.Stop() otherwise the ticker will leak.

So having a ticker of 5s leading a configured 17s timeout to be a 20s timeout in reality would be fine for you? To me it would be fine.

Changed to cell ticker based timeout.

authors: TheMue kung-foo

repo: tideland/golib


text:
Multi languages (UPLOAD-336)

Creation de Uplander multi languages with 118next.

Translation in spanish is up, i dont know if is necessary.
We will discuss global variable in each /app/components for call i18next.

This is great, thank you @jehernandezrodriguez ! Can you run yarn again to generate a new yarn.lock file and commit that, as that is currently preventing the CI checks from running?
When I'm running it locally on my machine, I still see a number of missing translations?

Excellent, CI tests are now passing. We'll do a code review and get back to you.

Hello! Thank you, I await your response. I uploaded a few changes for translations of device instructions.

@jehernandezrodriguez are you still actively working on this? Need any assistance?
I'm really looking forward to seeing i18n implemented in the Uploader.
Leet me know if there's anything you need help with.

@mrinnetmaki Hello, I hope to upload the local changes soon. Changes are not long. Then we check the translations.

@jehernandezrodriguez I think the easiest may be to put the translation files in resources/, to make sure they get copied into the final package. The path will be different between development and production, so  have a look here at how to distinguish between them: https://github.com/tidepool-org/uploader/blob/master/app/utils/drivers.darwin.js#L73-L84

Hi,
with some fiddling I was able to make the branch work in all "dev", "start" and "package" modes (tested on Linux).
As suggested by @gniezen, the easiest way to make this work is to move the locales-directory resources and adjust app/utils/config.i18next.js accordingly. Additionally, for the translation files to actually be accessible in app package, the locales-directory must be added to the build.extraResources in package.json.
No additional runtime configuration should be needed for this.
So the file layout should be something like
$projectRoot
  resources
    locales
      en
        translation.json
        translation.missing.json
      es
        translation.json
        translation.missing.json
    ...

and the backend block in configuration like
 loadPath: 'resources/locales/{{lng}}/{{ns}}.json',
 addPath: 'resources/locales/{{lng}}/{{ns}}.missing.json'

and in package.json (one added line)
"extraResources": [
   { ... },
   "sounds/",
   "locales/"
]

This results the translation files being copied as is to resulting package and thus are readable (and most probably modifiable) by user. Better solutions probably need better backend for i18next loading the resources (in place of i18next-fs-backend), and/or some kind of integration with webpack.

Hi,
with some fiddling I was able to make the branch work in all "dev", "start" and "package" modes (tested on Linux).
As suggested by @gniezen, the easiest way to make this work is to move the locales-directory resources and adjust app/utils/config.i18next.js accordingly. Additionally, for the translation files to actually be accessible in app package, the locales-directory must be added to the build.extraResources in package.json.
No additional runtime configuration should be needed for this.
So the file layout should be something like
$projectRoot
  resources
    locales
      en
        translation.json
        translation.missing.json
      es
        translation.json
        translation.missing.json
    ...

and the backend block in configuration like
 loadPath: 'resources/locales/{{lng}}/{{ns}}.json',
 addPath: 'resources/locales/{{lng}}/{{ns}}.missing.json'

and in package.json (one added line)
"extraResources": [
   { ... },
   "sounds/",
   "locales/"
]

This results the translation files being copied as is to resulting package and thus are readable (and most probably modifiable) by user. Better solutions probably need better backend for i18next loading the resources (in place of i18next-fs-backend), and/or some kind of integration with webpack.

Thank you. I've already made the changes, let's wait for gniezen's comments.

Thanks both, that's exactly what I meant! :smile:
I see the tests are now failing because it can't find the global i18n variable, probably because remote.getGlobal is only available in Electron?

Thanks both, that's exactly what I meant! 😄
I see the tests are now failing because it can't find the global i18n variable, probably because remote.getGlobal is only available in Electron?

Hi @gniezen
I think in 'devices.json' , I18next is not initialized. I uploaded a change for devices translation when is render in view.

OK, so the problem is that i18n isn't created during the test setup, because main.dev.js isn't called.
I got it to work by changing line 5 of device.js to:
let i18n = remote.getGlobal( 'i18n' );

if ((process.env.NODE_ENV === 'test') && !i18n) {
  i18n = require('i18next');
}

I don't know if there's a better way to set up the test in Jest so that remote.getGlobal returns something?

OK, so the problem is that i18n isn't created during the test setup, because main.dev.js isn't called.
I got it to work by changing line 5 of device.js to:
let i18n = remote.getGlobal( 'i18n' );

if ((process.env.NODE_ENV === 'test') && !i18n) {
  i18n = require('i18next');
}

I don't know if there's a better way to set up the test in Jest so that remote.getGlobal returns something?

Yes it's a part of the problem
I've already tried this way, but in dev and prod inext18 it doesn't initialize because reducers start first than the app in main.dev.js.
We could call and initialize 'i18next' in devices.js, but we have an asynchronous problem because in devices.js the variable 'devices' is exported before 'i18next' finishes searching for the words. I tried to wait for the 'i18next' promise but it didn't work for me.

Since i18next will always be initialized before running any app code during regular use due to it being gated by the window open, I think we can probably solve this as a test-only scenario. Experimenting locally, it seems that adding a mock for electron as follows (in __mocks__/electron.js)
const electron = jest.genMockFromModule('electron');

function getGlobal(string) {
    if(string === 'i18n'){
        return { t: (string) => string };
    }
}

electron.remote = { getGlobal };

module.exports = electron;

And adding jest.mock('electron'); just after the imports in test/app/reducers/misc.test.js allows the tests to pass as expected.

Since i18next will always be initialized before running any app code during regular use due to it being gated by the window open, I think we can probably solve this as a test-only scenario. Experimenting locally, it seems that adding a mock for electron as follows (in __mocks__/electron.js)
const electron = jest.genMockFromModule('electron');

function getGlobal(string) {
    if(string === 'i18n'){
        return { t: (string) => string };
    }
}

electron.remote = { getGlobal };

module.exports = electron;

And adding jest.mock('electron'); just after the imports in test/app/reducers/misc.test.js allows the tests to pass as expected.

Thanks @krystophv

Hi, are there any critical things still missing or could this be merged?

@jlaunonen I'm going to prioritise this for code review and QA during our next sprint.

Closing this PR in favour of #1358 , created to enable QA builds since it's not an external PR.

Closing this PR in favour of #1358 , created to enable QA builds since it's not an external PR.

Just a quick update to say that this has now shipped in Uploader v2.35.0. Thanks all!

authors: gniezen jehernandezrodriguez jlaunonen krystophv mrinnetmaki

repo: tidepool-org/uploader


text:
Key not found error even when the key is present in the corresponding file

Hi, is there any reason why a stored key-value pair is not found even though the key is present in the DB file? My use case is as follows:

A server writing key-value pairs to this file
Go tests updating the file

Any help would be appreciated.
Thanks.

The only reason would be if the key was later deleted using BuntDB. The DB file is an append only log. The key can be present more than once. First as a Set and later as a Delete.

Hi, thanks for the response. I've checked. Seems like there's a race condition between the two instances of the opened file. What happens when one would open 2 connections to the same db store (persisting on disk) and update the file? Would both the connections see the same data or would there be a lag where the other connection would return a Not Found error?

authors: apratheek tidwall

repo: tidwall/buntdb


text:
🛑 TDMU Elearning is down

In f7b106b, TDMU Elearning (https://elearning.tdmu.edu.vn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: TDMU Elearning is back up in 8829e8d.


text:
🛑 TDMU Elearning Chat is down

In 7de28b6, TDMU Elearning Chat (https://chat.tdmu.edu.vn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: TDMU Elearning Chat is back up in b4c31cb.


text:
ROS2 Porting: dummy_diag_publisher

dummy_diag_publisher
Summary
Convert the dummy_diag_publisher package to ROS2. This was relatively straightforward apart from the dynamic_reconfigure dependency.
Notable changes:

Additional structs used to represent the original configuration generated using dynamic_reconfigure
Remove fmt and boost deps since they are no longer used
Add rqt_reconfigure to the package.xml as an exec_depend

Testing

Enter ADE environment and build the workspace up to the package

colcon build --packages-up-to dummy_diag_publisher
. install/setup.bash

Launch files can be launch successfully (make sure that you run rosdep to get the rqt_reconfigure package:

ros2 launch dummy_diag_publisher dummy_diag_publisher.launch.xml launch_rqt:=true

Discussion Points

rqt_runtime_monitor has not been ported to ROS2, So visualization of these changes are difficult. Are there ROS2 alternatives? I couldn't find anything in my searches.

@fred-apex-ai @mitsudome-r I have address the PR comments. Let me know if there are still any issues.


text:
Support uyvy

When using a specific camera ( C1 Camera), there was a problem that prevented conversion from YUVY format to RGB8 format. Therefore, we added a code to convert from YUVY to RGB8.

@TakanoTaiga
I am extremely sorry for missing this PR. I believe the proposed feature definitely helpful for various use cases. Therefore, could you please re-open this PR so that we integrate the feature?

@manato
I have reopened the Pull Request. Your review would be greatly appreciated.

authors: TakanoTaiga manato


text:
check for max and min in MTU

Description
Fix the string to int conversion. Add upper bound check for converting strings to int.

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

/merge-when-ready

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and leave the branch after I've merged it.

authors: Behnam-Shobiri marvin-tigera

repo: tigera/operator


text:
Build directory customization fails

My config.php looks like this, since I tried to change the build dir, so Valet would serve the site automagically for testing.
<?php

return [
    'production' => false,
    'baseUrl' => '',
    'collections' => [],
    'build' => [
        'destination' => 'public'
    ],
];

And when I try to run vendor/bin/jigsaw build I now see the following error.

PHP Fatal error:  Uncaught Error: Call to undefined method TightenCo\Jigsaw\Console\BuildCommand::confirm() in /home/rando/Documents/Sites/randohinn/vendor/tightenco/jigsaw/src/Console/BuildCommand.php:110
Stack trace:
#0 /home/rando/Documents/Sites/randohinn/vendor/tightenco/jigsaw/src/Console/BuildCommand.php(57): TightenCo\Jigsaw\Console\BuildCommand->confirmDestination()
#1 /home/rando/Documents/Sites/randohinn/vendor/tightenco/jigsaw/src/Console/Command.php(22): TightenCo\Jigsaw\Console\BuildCommand->fire()
#2 /home/rando/Documents/Sites/randohinn/vendor/symfony/console/Command/Command.php(255): TightenCo\Jigsaw\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /home/rando/Documents/Sites/randohinn/vendor/symfony/console/Application.php(901): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 /home/rando/Documents/Sites/randohinn/vend in /home/rando/Documents/Sites/randohinn/vendor/tightenco/jigsaw/src/Console/BuildCommand.php on line 110

I'll take a look at that error, but you don't need to change your build directory to use Valet; it will automatically serve your file from the default build_local directory.

Oh, you're right, it does. Must have been a cache thing the first time around, when I tried, then that caused me to 404 on it.

Build directory confirmation issue is now fixed in v1.3.2.

authors: damiani randohinn

repo: tightenco/jigsaw