Random User Logout and Cookie Anomalies

Hello,
I'm currently experiencing a random logout issue while using the PHP-Auth library in my application, predominantly on Windows machines. macOS users do not seem to experience this problem. The symptoms also include anomalies with the user session cookies:
Anomalies:
Users are randomly logged out, without any discernible pattern or trigger.
A specific session cookie seems to behave oddly:
Name: remember_6TpGxxxxxxx
Value: %7E (Notably shorter than typical values I observe when logged in.)
Expires: 2024-07-16T20:43:45.520Z  (This is definitely incorrect as the expiry date gets updated to a correct value when the user logs in again.)
These issues occur when running a Tampermonkey script with Chrome on an external domain (example1.com) to interact with the login-protected domain (example2.com).
Despite preliminary debugging efforts using browser developer tools and server-side logging, the root cause of this issue remains elusive...
If anyone could provide some guidance or hints on where to start further debugging, I would greatly appreciate it. Thank you in advance for your assistance.

Thank you for bringing this up and for sharing all the details!

The value ~ (%7E) in a remember_* cookie is definitely not an expected value, as that cookie is supposed to contain a long random string.
Why do you think 2024-07-16 is not a valid expiry date, and what kind of date do you usually see there after logging in?
Does all the weird behavior just occur when running the Tampermonkey script with Chrome, and you don’t notice it otherwise?

because remember-me duration should be either 12 or 48h
        if ($_POST['remember'] == 1) {          $rememberDuration = (int) (172800);      } else {          $rememberDuration = (int) (43200);      }
when logging in, it is set correctly: 2023-07-24T10:07:46.565Z

i'll test some more. it definitely does not happen on MacOS (including using the same Tampermonkey script in Chrome)

I tried adding some log statements to find the cause:
Auth.php
private function setRememberCookie($selector, $token, $expires) {
		writeToLog("setRememberCookie() called. Selector: " . $selector . ", Token: " . $token . ", Expires: " . $expires);
		$e = new \Exception();
		writeToLog("Stack trace: " . $e->getTraceAsString());
		$params = \session_get_cookie_params();
		if (isset($selector) && isset($token)) {
			$content = $selector . self::COOKIE_CONTENT_SEPARATOR . $token;
		} else {
			$content ='';
		}

		// save the cookie with the selector and token (requests a cookie to be written on the client)
		writeToLog("Creating new Cookie object with name: " . $this->rememberCookieName);
		$cookie = new Cookie($this->rememberCookieName);
		$cookie->setValue($content);
		$cookie->setExpiryTime($expires);
		$cookie->setPath($params['path']);
		$cookie->setDomain($params['domain']);
		$cookie->setHttpOnly($params['httponly']);
		$cookie->setSecureOnly($params['secure']);
		$result = $cookie->save();
		writeToLog("Cookie saved. Value: " . $cookie->getValue() . ", Expiry time: " . $cookie->getExpiryTime() . ", Path: " . $cookie->getPath() . ", Domain: " . $cookie->getDomain());

		if ($result === false) {
			throw new HeadersAlreadySentError();
		}

		// if we've been deleting the cookie above
		if (!isset($selector) || !isset($token)) {
			// attempt to delete a potential old cookie from versions v1.x.x to v6.x.x as well (requests a cookie to be written on the client)
			writeToLog("Deleting old cookie with name: 'auth_remember'");
			$cookie = new Cookie('auth_remember');
			$cookie->setPath((!empty($params['path'])) ? $params['path'] : '/');
			$cookie->setDomain($params['domain']);
			$cookie->setHttpOnly($params['httponly']);
			$cookie->setSecureOnly($params['secure']);
			$cookie->delete();
			writeToLog("Old cookie 'auth_remember' deleted");
		}
	}

LOGS:
2023-07-22 13:14:43 setRememberCookie() called. Selector: , Token: , Expires:<PHONE_NUMBER>
2023-07-22 13:14:43 Stack trace: #0 /var/www/html/vendor/delight-im/auth/src/Auth.php(157): Delight\Auth\Auth->setRememberCookie()
#1 /var/www/html/vendor/delight-im/auth/src/Auth.php(69): Delight\Auth\Auth->processRememberDirective()
#2 /var/www/html/checkkdnr.php(18): Delight\Auth\Auth->__construct()
#3 {main}
2023-07-22 13:14:43 Creating new Cookie object with name: remember_6TpGq1xR_F05q3tke-JkBw
2023-07-22 13:14:43 Cookie saved. Value: ~, Expiry time:<PHONE_NUMBER>, Path: /, Domain:
2023-07-22 13:14:43 setRememberCookie() called. Selector: , Token: , Expires:<PHONE_NUMBER>
2023-07-22 13:14:43 Stack trace: #0 /var/www/html/vendor/delight-im/auth/src/Auth.php(157): Delight\Auth\Auth->setRememberCookie()
#1 /var/www/html/vendor/delight-im/auth/src/Auth.php(69): Delight\Auth\Auth->processRememberDirective()
#2 /var/www/html/login.php(16): Delight\Auth\Auth->__construct()
#3 {main}
2023-07-22 13:14:43 Creating new Cookie object with name: remember_6TpGq1xR_F05q3tke-JkBw
2023-07-22 13:14:43 Cookie saved. Value: ~, Expiry time:<PHONE_NUMBER>, Path: /, Domain:

checkkdnr.php
<?php

header('Content-Type: application/json');
header('Access-Control-Allow-Origin: https://abc.example.net'); //the website where the tampermonkey script should add data from my application
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Credentials: true");

use Delight\Auth\Auth;

require_once 'vendor/autoload.php';
require_once '/var/www/include/php_db.inc.php';

$error = '';
$db = php_db("users");

// Create a new instance of the Auth class
$auth = new \Delight\Auth\Auth($db);
if (!$auth->isLoggedIn()) {
    // User is not logged in, redirect to the login page
    header('Location: login.php');
    exit;
}

Thanks a lot!
The behavior you showed happens only when an existing but invalid “remember me” cookie has been found, i.e. sent by the client and checked against the database on the server. So in your case there must have been a “remember me” cookie but it had invalid data. So then it is replaced with empty values (two empty strings separated by a ~) and written to the cookie with a duration of one year, to avoid unnecessary database requests on the subsequent page requests.
Do you have any idea where that invalid cookie initially comes from?
The file Auth.php with its processRememberDirective method is where you should add logging next, otherwise.
A possible solution would perhaps be replacing
$this->setRememberCookie('', '', \time() + 60 * 60 * 24 * 365.25);

with
$this->setRememberCookie(null, null, \time() - 3600);

and seeing if that changes anything. But that would only remove the invalid cookie instead of replacing it with a %7E cookie. The question is, why is the %7E cookie a problem in the first place? Why do logouts happen?


[FEA] Fix the release process so we don't have broken links all the time

Is your feature request related to a problem? Please describe.
I filed https://github.com/NVIDIA/spark-rapids/issues/10834 because the link check failures were so common people were ignoring them.
https://github.com/NVIDIA/spark-rapids/pull/10872 was put up to ignore all links from the checker that are release jars in sonatype.
That is not a good long term solution. It is us putting on blinders to not look at something that is actually wrong/broken.  We don't want to have docs in the default branch of our github repo that point to unreleased jars. We need to update our process so that we can stage docs in a way so we are ready for a release, but they do not show up on the default branch where users might try to click on them until we are actually doing the release.

Hi @NvTimLiu , can we try this to monitor the status of released jar links on the download webpage?

Oh sorry seems I missed this issue, will check this after the coming v24.08.0 release get done, thanks!


Progress bar - better proportions

Since the tts buttons has been replaced by the bubble version, it's now possible.
Proportions taken based on Stable 1.1.19 except vertical (shorter than stable, longer than current beta)
If you want to make vertical like stable the height values is around 55vh
Current:

Modified (commit):

Im not OCD, but isnt 95.5 a not pretty number, the left and right space is 4.5/2=2.25 (2 number after decimal point)

95 is fine too. I just reproduced the proportions from stable.


Fixup spacing

Pivotal
Lots of files, lots of changes. Hoping @kelliematheson can review the branch to OK the changes, because the PR is going to be pretty hard to review otherwise... 👀

There were the following issues with your Pull Request

Commit: e907ab179b5eb4305e6bdef083ba4fac20b2d52b
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/ministryofjustice/fr-staffapp

This message was auto-generated by https://gitcop.com

Looks great, please merge!


support for empty subset nodes

add more error messages and made the return of them more consistant

awesome!


potential energy surfaces for polyatomic molecules using CASSCF

I am trying to generate the "excited state PES" for large molecules (usually 100 atoms) using CASSCF calculations, however the PES is not smooth and at some points the energy has a lot of fluctuations. Generally, in ORCA, I would use the CASSCF optimized orbitals of one calculation as initial guess for next calculation and  PES is very smooth. However, a similar process in PySCF yields different PES.
I've checked the examples for HF, Cr2 and BeH2  scan given in PySCF, however, the similar calculations for large molecules could not generate smooth PES for me.
I am using a state-averaged CASSCF for 2 singlet and 1 triplet states.
###############################################################################
import numpy
from pyscf import scf, gto, lib, fci, mcscf, mrpt
from pyscf.lib import chkfile
coord = '1.2.txt'
mol = gto.M()
mol.atom = coord
mol.basis = '6-31G'
mol.spin = 0
mol.verbose = 4
mol.build()
mf = scf.RHF(mol)
with lib.with_omp_threads(48):
mf.kernel()
weights = numpy.ones(3)/3
solver1 = fci.addons.fix_spin(fci.direct_spin1.FCI(mol), ss=2) # <S^2> = 2 for Triplet
solver1.spin = 2
solver1.nroots = 1
solver2 = fci.addons.fix_spin(fci.direct_spin1.FCI(mol), ss=0) # <S^2> = 0 for Singlet
solver2.spin = 0
solver2.nroots = 2
mycas = mcscf.CASSCF(mf, 2, 2)
mcscf.state_average_mix_(mycas, [solver1, solver2], weights)
mycas.max_cycle_macro = 25
mycas.max_cycle_micro = 3
mycas.fcisolver.conv_tol = 1e-10
mycas.conv_tol = 1e-10
mycas.conv_tol_grad = 1e-6
mycas.ci_grad_trust_region = 2
mycas.verbose = 4
with lib.with_omp_threads(48):
mycas.kernel()

This sounds a lot like intruder states.  In my experience, the larger the molecule, the more likely it is for some state order flipping to occur.
Unfortunately, increasing the number of states solved for tends to reach into other even higher states which can also cross, and causes non-smooth PES's to be generated.

Hi @matthew-hennefarth
sorry for late reply and thank you very much for your help. The as_scanner is really useful. It solves my problem.

Hi @rw1511 , thanks for your question. Has it been resolved? If yes, this issue can be closed. Thanks!

Hi Verena, this was solved. Thank you very much.
R
-----------------------------------------------
Rajat Walia, Ph.D.
Postdoctoral Fellow
City University of Hong Kong
On Fri, Jan 5, 2024 at 3:26 AM Verena Neufeld @.***>
wrote:

Hi @rw1511 https://github.com/rw1511 , thanks for your question. Has it
been resolved? If yes, this issue can be closed. Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/pyscf/pyscf/issues/1919#issuecomment-1877643609, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BDQGYWPOKZ7UM2XTBSHNU4DYM364ZAVCNFSM6AAAAAA6OSMK7GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZXGY2DGNRQHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Negative values on jobs

*Detailed description of the issue:
My players are seeing negative values and loosing xp when completing job actions. I've tried to figure out what is causing this but am at a lose. I've checked all the obvious things like config and permissions and such but there is nothing I can see. Here is a screenshot of what they are seeing: https://imgur.com/a/eydefnn
I've shared an example of the Miner job I'm using below. Any idea why this would would happen and how to fix it? Thanks in advance
**Jobs version: <IP_ADDRESS>
**Server Type (Spigot/Paper/etc): Paper
**Server Version (using /ver): 1.19.2

Closing this as I've found what was causing the issue.

@tylerking I'm having the same issue, could you share how you resolved it?


Treating certain values as nil

I'm wondering how I could treat certain return values (e.g. empty strings) as nil, while still allowing custom types to be decoded from the result. That is, take this JSON:
{
    "thing" : ""
}

And be able to decode it into a custom type, while treating the empty string as a nil value. I feel like there should be a way to do this without having to add such a check to every custom value that could be decoded from a String.

Great question.
There's no awesome way to do this now, but I'd suggest transforming the JSON value after it comes out of JSON.parse as a possible place to do this kind of thing.
In my head, this might look something like:
func convertEmptyStrings(j: JSON) -> JSON {
  switch j {
  case let .Array(a): return .Array(a.map(convertEmptyStrings))
  case let .Object(o): return .Object(o.map(convertEmptyStrings))
  case let .String(s):
    if s == "" {
      return .Null
    }

    fallthrough
  default:
    return j
  }
}

This relies on the Dictionary.map and pure + implementations from Argo, which aren't exposed publicly but could be copied into your project.

Usage would then look something like:
let deserialized = NSJSONSerialization // blah blah blah
let json = JSON.parse(deserialized)
let correctedJSON = convertEmptyStrings(json)
let user = User.decode(correctedJSON)

This implementation worked well, however it turned out that, for the response I was parsing, empty strings were sometimes legitimate values and sometimes meant no value. So I ended up using a combination of this function and the alternative operator which turned values that needed to be empty strings back into strings when they couldn't be decoded from nil.

@jshier I'm going to go ahead and close this as it seems like this is resolved? If you have any other questions about this feel free to re-open.


error: resource attr/bar_track_color (aka com.example.aboutdesign:attr/bar_track_color) not found.

C:\Users\Bibek.gradle\caches\transforms-2\files-2.1\5703088ec2f62a38637768e1928c7d3f\jetified-emojislider-0.3.2\res\values\values.xml:13:5-39:25: AAPT: error: resource attr/bar_track_color (aka com.example.aboutdesign:attr/bar_track_color) not found.
i am constantly getting this error i am trying very hard to change but i change the text inside it and getting same error i also tried "invalidate cache and restart" 5-6 times please help me out

Update this
implementation 'com.bernaferrari.emojislider:emojislider:0.3.2'
to
implementation 'com.bernaferrari.emojislider:emojislider:0.3.3'
and it should work!

Thanks!


Updating rich dependency to include 12.x

Thanks for creating pdbr, I just discovered it and it looks amazing! It seems more feature-rich for my debugging workflow than e.g. pdbpp which I've been using until now.
Would it be possible to update the dependencies to support rich 12.x?
Our app currently uses rich 12.x and so we can't add pdbrr as a dev dependency as it strictly requires 10.x.
I've got a workaround by installing pdbrr globally and then using virtualenv .venv --system-site-packages to create a virtualenv for our app that also includes pdbrr, but that's definitely fragile.
It looks like this line needs a bump, but I'm not sure if there's other places that require changes:
https://github.com/cansarigol/pdbr/blob/7cbe96170e4960392588b519dfbfb62e2714fa42/pyproject.toml#L26
Thanks!

@jorisroovers Hi. thanks for that. I bumped the version. You can use 0.7.1


MenuFlyoutItem-icon is not greyed out when set to disabled.

Describe the bug

Steps to reproduce the bug

Steps to reproduce the behavior:

Create a MenuFlyout on e.g. a ListView
Set the MenuFlyoutItem to Disabled via code behind.
Icon is not greyed out, the text label is.

Code:
 <MenuFlyout>                 <MenuFlyoutItem Text="This is a text label">                     <MenuFlyoutItem.Icon>                         <FontIcon Glyph="" />                     </MenuFlyoutItem.Icon>                 </MenuFlyoutItem>             </MenuFlyout>
Expected behavior
The icon should be greyed out when disabled, just like the text label.
Screenshots

Version Info

NuGet package version:

Windows 10 version:

[ ] Insider Build (xxxxx)
[ ] October 2018 Update (17763)
[X] April 2018 Update (17134)
[ ] Fall Creators Update (16299)
[ ] Creators Update (15063)
[ ] Anniversary Update (14393)

Device form factor:

[X] Desktop
[ ] Mobile
[ ] Xbox
[ ] Surface Hub
[ ] IoT

Additional context

@llongley This sounds very familiar, did we fix this in RS5?

I can confirm this is fixed in latest insider builds and the style for MenuFlyoutItem with this fix is in the Microsoft.UI.Xaml nuget package so if you grab the latest (https://www.nuget.org/packages/Microsoft.UI.Xaml/absoluteLatest) you will see the fix there.


[bot] Update to version 3.8

Auto-update version number to 3.8

@conda-forge-admin please rerender


Fixes for two-level translation

Hi,
this is at last the result of my review of two-level translation in the hypervisor draft.
The first commit is, I believe, an actual bug in the specification: SPRV=1/SPV=1 is using the "S-mode meanings" of satp and bsatp, but those are reversed when running in HS-mode. Therefore, we must reverse them when HS-mode is doing accesses "as if" in S-mode.
The second commit clarifies the meaning of HS-level and S-level ASIDs. It also defines a combined HS-level + S-level ASID, and allows the TLB to store combined translations (from virtual address to machine-physical address) under the combined ASID.
The third commit introduces a new base register for paging, hatp, which makes the SPRV=1/SPV=1 mode much easier to use.

@bonzini We've incorporated something very similar to this proposal in the most recent updates to the hypervisor chapter.


improve expression handling, drop TODOs in default cases [phab:D1355]

Created by evmar at 2017-02-21 22:27:16:
In two cases where we iterate through nodes, drop the TODO printouts
and instead rely on a default behavior.  The current code pattern
would need to enumerate all possible types of AST nodes and is fragile
to future compiler extensions.
Add some more tests of expressions that exercise some more complex
expressions, revealing the need for the above TODO change.

zarko accepted this revision at 2017-02-21 22:29:23

zarko closed via commit 6ba7c6805252b3348ba421dbe8f192c3942bd1a5 at 2017-02-21 22:29:45


Redundant Precondition

Hey,
I'm not sure if I'm right, but I tell you anway.
Don't you have a redundant Preconditions at VersionBinderModule in line 65? You check in the line above if it is null.

Yes I should do the check with the Preconditions before the if-statement and then remove the null check from it. Will be improved soon, thank you for your feedback :)

You're welcome :)


Multiple bridges

I have my lights split between two bridges. Is it possible to add both bridges in lampe?

I like this as a feature. This means a major rework of most parts. Maybe I find the time in December.

One first remark: Because I have only the first generation of the Bridge. I cannot test how this would work with the newer models, if the API has changed.

My current idea to implement this would mean that there is a possibility to switch between bridges with "B" and then typing a number, supporting max 10 brigdes starting with 0 as the first and default bridge. As soon as someone types "B1" and there is currently no bridge 1, the initial wizard would be triggered to register at a new bridge.
Maybe this can be implemented with less code changes I previously thought.
Having bridge-prefixes for lamps would be a thing for another time. I don't want to change the current behaviour managing the lights at this time.
I will base this this on the existing release-branch, meaning additional improvements from ages ago will finally be coming to the main branch.

Awesome. Thank you poinck. Happy new year!

I have just tested my first version with multi-bridge support here: https://github.com/poinck/lampe/releases/tag/v1.2.0
If you have time to test it, this would be awesome. If you have "lampe" already checked out with git, you can get the newest version with git switch main and git pull. There is no need to install it; you can start it directly from the project-root with ./lampe.


feat: add additional memory classes and do some cleanup

Added a handful of memory types, including ConversationSummaryMemory, which keeps a running summary of the conversation, rather than the raw buffer of messages.
Tried to clean up some of the memory classes and make them more consistent with langchain.  Pulled in documentation for the classes where possible.
Improved the memory example code to allow working with different memory types.
LoadMemoryChain was demanding a specific memory type (ConversationBufferMemory), so I made changes there to allow using other types of memory.
Code in GroupChat and ReActAgentExecutorChain was breaking some of the abstraction of the memory classes, so I tried to fix it.  I am not sure how they are used or if those classes are actually in use, so I was unable to really test those changes.
I tried to create a common place to handle message formatting.  There is code all over the tree that does it similarly, but uses its own implementation.  Suggest trying to unify that formatting where possible going forward.

Overall it looks very good. I love the detailed comments and attention to detail.
I've added a couple of comments, but since this is a fairly significant change, I'd like to hear a little review from @TesAnti if he has time


Fix dependency issue with masked-view

fix https://github.com/vemarav/react-native-avatar-crop/issues/8

fixed 7ee33c166b1850cd9a85269a71c8b96fed2b5fb5


[Bug report] incorrect e-mail formats as valid e-mail address

Validation passed incorrect e-mail formats.
Number on begins<EMAIL_ADDRESS>Underline on start<EMAIL_ADDRESS>Unacceptable national marks<EMAIL_ADDRESS>on "login" fragment

I believe you might be mistaken and these are all correct emails. If this is incorrect, please point out the relevant section of RFC 5321, 5322 and 6531 and I'll reopen this.
Thanks


chore: fabric migration

Current State
Only Basic iOS features have been implemented so far
Summary
Add a new arch to the pager library.
Used docs/code examples:
https://github.dev/software-mansion/react-native-screens/tree/main/FabricExample
https://github.dev/th3rdwave/react-native-safe-area-context
https://github.dev/cortinico/RNNewArchitectureApp/tree/ios/20220309
New API:
https://github.com/facebook/react-native/blob/8bd3edec88148d0ab1f225d2119435681fbbba33/React/Fabric/Mounting/RCTComponentViewProtocol.h
Discussion:
https://github.com/reactwg/react-native-new-architecture/discussions/16
Test Plan

on iOS

Install pods using RCT_NEW_ARCH_ENABLED=1 pod install – this is the same command you run to prepare a Fabric build but you also need to run it after a new native library gets added.

on Android

There are no additional steps required so long you app is configured to build with Fabric – this is typically configured by setting newArchEnabled=true in gradle.properties file in your project.

Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[ ] iOS: migrate all features to the new arch
[ ] Android: migrate all features to the new arch
[ ] Create a legacy fallback
[ ] Create a separate example for Fabric and Paper arch

TO IMPLEMENT ON iOS

[ ] LTR
[ ] overdrag
[ ] issue with jumping tabs

Any update on this @troZee ? Will the current release of react-native-view-pager still work if I update my project to RN 0.68.X or newer?

@troZee can you publish this in the Alpha/beta version?

@troZee can you publish this in the Alpha/beta version?

https://github.com/callstack/react-native-pager-view/blob/master/README.md#new-architecture-support-fabric
Please let me know, if everything is ok.


fix: Text shifted in collection activity

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[x] Bugfix

Needs Design check

@exezbcz please review

Context

[x] Closes #9617

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed UI

Copilot Summary
copilot:summary
copilot:poem

thanks!
pay 20 usd

😍 Perfect, I’ve sent the payout
💵 $20 @ 10.29 USD/DOT ~ 1.944 $DOT
🧗 16SjUbGKSdjCdWTy3NNT3JxbRVGGqD4mwkHpc6BD9U2Rp29Z
🔗 0x5f3cd4953dada3df26bcb76e504bf85866bb9ec92bed2a0057a750d6ce0055e0
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Fix nativeBufferSize assign bug

Fix nativeBufferSize assign bug
What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #3716)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3717_time.csv
log/native_master_11_14_2023_3e42cb06a_time.csv
difference
percentage

q1
33.75
33.71
-0.041
99.88%

q2
24.66
23.76
-0.902
96.34%

q3
37.00
37.84
0.841
102.27%

q4
36.59
37.67
1.077
102.94%

q5
70.85
70.38
-0.467
99.34%

q6
5.49
7.15
1.653
130.08%

q7
84.50
86.97
2.469
102.92%

q8
86.48
84.81
-1.671
98.07%

q9
127.19
126.75
-0.449
99.65%

q10
43.44
45.72
2.277
105.24%

q11
19.31
19.34
0.028
100.14%

q12
25.96
27.31
1.348
105.19%

q13
45.98
46.23
0.251
100.54%

q14
17.54
17.88
0.344
101.96%

q15
28.52
28.78
0.253
100.89%

q16
15.21
15.27
0.057
100.38%

q17
100.30
98.37
-1.930
98.08%

q18
148.77
148.15
-0.624
99.58%

q19
13.01
13.28
0.268
102.06%

q20
27.52
27.14
-0.381
98.61%

q21
222.25
222.13
-0.121
99.95%

q22
12.68
12.90
0.228
101.80%

total
1227.01
1231.52
4.508
100.37%


yashim/fix: translation change issue [pending acceptance]

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

1 of 7 (14.29%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 85.568%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/AppFooter/AppFooter.tsx
0
3
0.0%

src/components/AppHeader/MobileMenu/MobileMenu.tsx
0
3
0.0%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.03%

Covered Lines:
5680

Relevant Lines:
6177

💛  - Coveralls


[WIP] Imp: Drop support for marshmallow 2

@SVilgelm Thank you for the review. I'll finalyse this work into the next days. I'm also waiting for a fix on marshmallow itself https://github.com/marshmallow-code/marshmallow/pull/1429

sure

@SVilgelm Code fxed but still waiting for marshmallow-code/marshmallow#1429 (testsuite works with this fix on marshmallow...)

Any progress? I would love to this land soon

@Sytten Unfortunately my PR on marshmallow remains without response... https://github.com/marshmallow-code/marshmallow/pull/1429. Can you review this PR? This may help to move things forward.

@SVilgelm I implemented the propagation of the 'unknow' parameter at loading time as part of the marshmallow-object API to move forward with marshamallow-object...
This PR is now ready for review and merge...


Mount COS_PERSISTENT in cos-deploy

Signed-off-by: Ettore Di Giacinto<EMAIL_ADDRESS>

manually tested and it works as expected where the master script failed. nice!


feat: expose mdb_set_dupsort

Pull Request
What does this PR do?
Expose http://www.lmdb.tech/doc/group__internal.html#gacef4ec3dab0bbd9bc978b73c19c879ae to make it possible to provide a custom dupsort function.
This is useful if you want values under the same key to not be sorted lexicographically but instead follow a different ordering by for example only looking at only the first half of the value when performing the comparison.
let storage = env
    .database_options()
    .types::<u32, u128>()
    .flags(heed::DatabaseFlags::DUP_SORT)
    .create(&mut wtxn)?;

storage
    .set_dupsort_cmp(&mut wtxn, Some(custom_dupsort_func))
    .expect("set storage dupsort");

unsafe extern "C" fn custom_dupsort_func(
    a: *const heed::MDB_val,
    b: *const heed::MDB_val,
) -> std::ffi::c_int {
    let a_data = heed::from_val(*a);
    let b_data = heed::from_val(*b);

    // sort based on first half of stored value
    let order = a_data[..16].cmp(&b_data[..16]);

    match order {
        std::cmp::Ordering::Less => -1,
        std::cmp::Ordering::Equal => 0,
        std::cmp::Ordering::Greater => 1,
    }
}

PR checklist
Please check if your PR fulfills the following requirements:

[ ] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[ ] Have you read the contributing guidelines?
[ ] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Hey @oXtxNt9U 👋
They're already is a way to use custom comparison functions in a safe way in heed. You can see that in the database open options, you just have to use the Compare trait.
However, it was hard, even for me, to find that in the documentation. Would you mind adding a small guide (in the top three) to the cookbook to show people that we support it and how to use it? There already are some examples in this PR.
Have a nice day and please close this PR if I was right 😊

@Kerollmops Thank you for pointing out the Compare trait. Upon closer inspection, it only calls mdb_set_compare but what I needs is mdb_set_dupsort because only then it passes the values to the compare function instead of the keys.
Basically, what I need is something like this inside raw_open_dbi:
unsafe {
    mdb_result(ffi::mdb_dbi_open(raw_txn, name_ptr, flags, &mut dbi))?;
    if TypeId::of::<C>() != TypeId::of::<DefaultComparator>() {
        if AllDatabaseFlags::from_bits(flags)
            .is_some_and(|f| f.contains(AllDatabaseFlags::DUP_SORT))
        {
            mdb_result(ffi::mdb_set_dupsort(
                raw_txn,
                dbi,
                Some(custom_key_cmp_wrapper::<C>),
            ))?;
        } else {
            mdb_result(ffi::mdb_set_compare(
                raw_txn,
                dbi,
                Some(custom_key_cmp_wrapper::<C>),
            ))?;
        }
    }
};

However this makes it impossible to use a different compare for both keys and values since it reuses C. So I could update my PR to introduce a new type parameter CDUP which if present would hook up a custom mdb_set_dupsort.
What do you think?

So I could update my PR to introduce a new type parameter CDUP which if present would hook up a custom mdb_set_dupsort [..] What do you think?

Yeah! That could be much better. Also, not breaking APIs could be great too but may be impossible.
I also created an issue about documenting the custom comparison functions more, if you want to take a look.

@oXtxNt9U Hey, I updated the PR and included examples for the cookbook too. Please let me know if anything is still missing.

@Kerollmops Friendly ping! :smile:

Hey @oXtxNt9U 👋
Thank you for the changes. Everything looks good to me. However, it is breaking, so I would prefer to wait for some other PRs to be released first. Also, we merged a couple of PRs on the main. Would you mind rebasing, please?
Have a nice end of the week 🌹

@Kerollmops I rebased the PR. And of course I don't mind waiting for a new release. Thank you!


Add form-specific functionality to ModelAdmin

I added the following attributes to ModelAdmin:

form
form_base_class
form_args
form_columns
form_excluded_columns
form_overrides

All of these attributes emulate their respective functionality in the Flask-Admin API: https://flask-admin.readthedocs.io/en/latest/api/mod_model/
This PR addresses issue #96.
--
Note that I abstracted out the get_{x}_columns() functionality in ModelAdmin. Let me know if you want me to revert this back to being repetitive.

As of writing, there is one thing currently missing from my PR: the scaffolding does not make use of column_labels. This is something I will hope to finish up soon!
Let me know what other changes you want me to make.

I added support for form_args, and I also pass column labels into the form.
The implementation is... not the best. I still largely retain the behavior you have implemented, which is to loop over the str identifiers for the columns rather than the actual Columns. I think the "Form" part of the code is starting to outgrow mere strs. 😬 There should be some refactoring to make this work more with Column objects rather than strings, and a few other things. Hard to explain but I think you'll see what I mean when you peek at my code.

Just added form_overrides as well.
Again, this will definitely need to be refactored in the future (I already implemented a little bit of refactoring of something that was there, i.e. the get_converter() method).
Regardless, it should be emulating the behavior of the Flask-Admin API.

Hey, thanks a lot for this. It generally looks very good to me.
I wish you didn't add all of them in one PR as it makes the review a bit harder. But I'll try my best to review it today 👍

✅ I removed most of the Optional class vars. I do think that form should remain optional (based on the specification outlined in the Flask-Admin API), but if you have an idea of an alternate implementation, let me know.
✅ I added coverage for the override of the scaffolding.

Woo, all checks passed! 🎉
Thanks for all the hard work you've put into this library so far. It was lots of fun to help contribute. This is a really good implementation of an admin panel framework.
I plan on making tons of use of this library for my own projects. You might see some more PRs from me in the near future, especially as it pertains to porting more things over from Flask-Admin.

I really appreciate the effort and all sorts of contributions are welcome :)
I'm glad you'll use it and contribute to make it better.


bump version for distinguishing from original one

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@abhi2810 can you merge this, we'd want to distinguish from backend if this version was used instead of the original one.


Changed "Codes" to singular

Description

Code sample

Hi @tjkohli
There is more than one way to use this element, so I prefer to use the plural term like the others. Thanks for the attention.

I understand there is more than one way to use this element.
"Code" is already plural. "Codes" is only used when referring to a list of different codes, like cheat codes, access codes, etc. I love Milligram and know it inside and out. I just want it to become more popular and more professional.
I strongly suggest you seek some other opinions on this as well from people whose first language is English. They will tell you the same as the change I made.

Bootstrap has 5 ways to use code, and they still call it code.
Skeleton has 2 ways to use code and still calls it code.

@cjpatoilo I have to agree with @tjkohli - "codes" is not grammatically correct, and as a new user, using the incorrect plural is confusing and counterintuitive. This PR shouldn't have been closed imho.


Small Improvements of the Example Submissions Board

Checklist

[x] I tested all changes and all related features with different users (student, tutor, editor, instructor, admin) locally.
[x] Client: I followed the coding and design guidelines.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all newly inserted strings into English and German.

Motivation and Context
This PR introduces some smaller improvements to the Example Submissions Board. It adds access rights check for the delete / creates buttons to solve problems with tutors that are Editors / Instructors at other courses. Additionally the "Yes / No"-String was not translated until now.
Description
I use the new checkAndSetCourseRights()-method to set the isAtLeastEditor-attribute and then use it on the buttons. I also moved some checks to the top to make the code a bit more readable.
Steps for Testing

You need a user who is a tutor at your course but is at least editor at another course.
Navigate to the Example Submissions Board as a Tutor

The easiest way to do this is by navigating to the Assessment Dashboard -> Select an Exercise -> Start reviewing an Example Submission -> Use the breadcrumbs to go to the Example Submission Board

Check that the Tutor has no Buttons to create or delete Example Submissions
Check that toggling the language translates the Yes / No-String shown in the table ("Tutors need to assess this submission")
Check that Editors can still create / delete Example Submissions.

Screenshots
Old Tutor View (unchanged for Editors)

New Tutor view (no Buttons)

German translation:

Thanks for the contribution. We should further unify the access right handling in the future to invoke it in the corresponding service / router directly and not on the component level


Change the position of Rate and Balance columns

Move Rate to the first column, Balance after Net.

Resolved on:
https://github.com/chaineco/blockcare/commit/696d349521f3ee7ed9268a40b5bb68be3754d5ee


Floating Error Causes Failing to Meet "Number by Number"

Hi TAs,
When I am doing task1, I found that my result is all matched with the given one, except two places error by 0.0001. I believe this is caused by floating errors (e.g., may because operation order, e.g., theta -= grad * lr / batch and theta -= grad / batch * lr may result in slightly different in floating calculation). But I don't know the operation order in your case. So is that little and occational difference tolerated?
My result:
| Epoch | Train Loss | Train Err | Test Loss | Test Err |
|     0 |    0.35134 |   0.10182 |   0.33588 |  0.09400 |
|     1 |    0.32142 |   0.09268 |   0.31085 |  0.08730 |
|     2 |    0.30802 |   0.08795 |   0.30097 |  0.08550 |
|     3 |    0.29987 |   0.08532 |   0.29558 |  0.08370 |
|     4 |    0.29415 |   0.08323 |   0.29215 |  0.08230 |
|     5 |    0.28980 |   0.08182 |   0.28973 |  0.08090 |
|     6 |    0.28633 |   0.08085 |   0.28793 |  0.08080 |
|     7 |    0.28345 |   0.07997 |   0.28651 |  0.08040 |
|     8 |    0.28099 |   0.07923 |   0.28537 |  0.08010 |
|     9 |    0.27886 |   0.07847 |   0.28442 |  0.07970 |
Your instruction's result:
| Epoch | Train Loss | Train Err | Test Loss | Test Err |
|     0 |    0.35134 |   0.10182 |   0.33588 |  0.09400 |
|     1 |    0.32142 |   0.09268 |   0.31086 |  0.08730 |
|     2 |    0.30802 |   0.08795 |   0.30097 |  0.08550 |
|     3 |    0.29987 |   0.08532 |   0.29558 |  0.08370 |
|     4 |    0.29415 |   0.08323 |   0.29215 |  0.08230 |
|     5 |    0.28981 |   0.08182 |   0.28973 |  0.08090 |
|     6 |    0.28633 |   0.08085 |   0.28793 |  0.08080 |
|     7 |    0.28345 |   0.07997 |   0.28651 |  0.08040 |
|     8 |    0.28100 |   0.07923 |   0.28537 |  0.08010 |
|     9 |    0.27887 |   0.07847 |   0.28442 |  0.07970 |

Same

I think this is completely acceptable and I will make an announcement on BB for it.

I have just made an announcement on BB about this problem. Such slight difference will be tolerated and please worry about it.


calico + kube-proxy configuration error

Per https://docs.projectcalico.org/getting-started/windows-calico/kubeconfig
calico needs to have a kubeconfig file locally since we're running as a service. This may already be handled in code since I think this was needed for the kubelet. However, the default calico install script and config makes it look in C:\k\config which doesnt exist.
When restarting the service you can see that it errors looking for that file.
 Please begin using a config file ASAP.
I1001 11:06:28.690581    9016 feature_gate.go:243] feature gates: &{map[WinOverlay:true]}
I1001 11:06:28.690581    9016 feature_gate.go:243] feature gates: &{map[WinOverlay:true]}
I1001 11:06:28.701680    9016 server_windows.go:107] Using Kernelspace Proxier.
I1001 11:06:28.701680    9016 server_windows.go:110] creating dualStackProxier for Windows kernel.
I1001 11:06:28.701680    9016 proxier.go:542] "clusterCIDR not specified, unable to distinguish between internal and external traffic"
time="2021-10-01T11:06:28-07:00" level=info msg="currentVersion.Major < versionRange.MinVersion.Major: 9, 12"
time="2021-10-01T11:06:28-07:00" level=info msg="currentVersion.Major < versionRange.MinVersion.Major: 9, 10"
time="2021-10-01T11:06:28-07:00" level=info msg="currentVersion.Major < versionRange.MinVersion.Major: 9, 12"
time="2021-10-01T11:06:28-07:00" level=info msg="currentVersion.Major < versionRange.MinVersion.Major: 9, 13"
time="2021-10-01T11:06:28-07:00" level=info msg="currentVersion.Major < versionRange.MinVersion.Major: 9, 10"
I1001 11:06:28.703872    9016 proxier.go:555] "network-name flag not set. Checking environment variable"
I1001 11:06:28.703872    9016 proxier.go:562] "Cleaning up old HNS policy lists"

I'm still having issues and unsure if I'm testing it incorrectly or if due to the errors mentioned it still isnt working. Seems like this should be simple to fix if I can figure out which bits to change.

You can see in C:\calicowidows\kubernetes\kube-proxy-service.ps1 it calls kube-proxy with all those as flags, hence all the deprecation warnings. Not certain that they aren't working though and the dep warning is just for a heads up when they do get removed next.
I am concerned about those version checks failing though; its just frustrating that I can't see something that clarly indicates that it thinks it is or is not operating as expected. The service is reported as running but I can't curl <IP_ADDRESS>:443/api still

These are my main two commands I'm testing:

Running sonobuoy and checking logs I see this message:

time="2021-10-01T11:22:31-07:00" level=error msg="could not get api group resources: Get \"https://<IP_ADDRESS>:443/api?timeout=32s\": dial tcp <IP_ADDRESS>:443: connectex: An attempt was made to access a socket in a way forbidden by its access permissions."
Then as I tinker and restart the service, I try:
kubectl exec sonobuoy -n sonobuoy -- curl -k https://<IP_ADDRESS>:443/api
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:20 --:--:--     0curl: (7) Failed to connect to <IP_ADDRESS> port 443: Timed out
command terminated with exit code 7

@knabben mentioned that "...[they] are refactoring with some pre-build images from image-builder..." and so it may make sense to put a pin in this and see if the reworked images/flow work better. May just avoid this issue all together. Will revisit Wed and see how the progress is.

That sounds like sonoboy isn't pinned to a windows/linux node and might be running on either...

We have a bug in the latest image, containerd does not have the Pause image configured
PS C:\Program Files\containerd> cat .\config.toml
# Copyright 2020 The Kubernetes Authors.

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

root = "C:\\ProgramData\\root"
state = "C:\\ProgramData\\state"
version = 2

[grpc]
  address = "\\\\.\\pipe\\containerd-containerd"

[plugins]
  [plugins."io.containerd.grpc.v1.cri"]
    sandbox_image = ""
    [plugins."io.containerd.grpc.v1.cri".cni]
      bin_dir = "C:/opt/cni/bin"
      conf_dir = "C:/etc/cni/net.d"
```

This is raising this error for new images:

```
  Warning  FailedCreatePodSandBox  3m29s (x48 over 13m)  kubelet  Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image "": failed to get image "": ambiguous digest string
```

The pause image was added by @jsturtevant at: https://github.com/kubernetes-sigs/image-builder/pull/704
We need to rebuild the windows node image again with this change.

Going to close this; seems that it has been resolved. I've been able to launch the windows e2e tests with sonobuoy but there were some other issues. Currently my windows node has an unreachable taint but I'm not certain its an underlying, repeatable issue. I'll make a new issue if it is.


java/lang/Enum.h has private header dependency

java/lang/Enum.h imports libcore/util/BasicLruCache.h. Since libcore/* should be private, the functions it declares need to use a public interface or some other way of hiding the specific class. One option is to update BasicLruCache to implement Map.

Fixed.


add action

With this, we can use something like
    - name: Set up Go Tooling
      uses: einride/sage
        cacheKey: build

This allows for much simpler (and faster) GitHub action workflows :man_dancing:

Do we need to work with nampespacing a little bit here?

Like sage/actions/setup-go?

name: Set up Go Tooling
uses: einride/sage
cacheKey: build

Do you mean this @odsod ?
It isn't immediately apparent which action is being invoked by this. Dunno if we even can improve it? :thinking:

Musn't the action.yaml file be put under .github/actions//action.yml ? :thinking:

Like sage/actions/setup-go?

Sure, I was a bit uncertain first what was allowed. But seems like any path would work. Agreed that uses: einride/sage/actions/setup-go is much better

Musn't the action.yaml file be put under .github/actions//action.yml ? thinking

the `uses' attribute must be a path, a Docker image, or owner/repo@ref

I can try and make a prerelease of this branch, and try different paths @odsod @Edholm and we can see if it works

@odsod @Edholm this worked! Should we go with that?
      - name: Setup Go toolchain
        uses<EMAIL_ADDRESS>        with:
          cacheKey: build

@viktorvoltaire Nice - do we need to manually specify a cache key by default?

@viktorvoltaire Nice - do we need to manually specify a cache key by default?

No its optional
    description: Custom cache key used
    required: false
    default: ci

For this repo, i guess we could skip it given that we just run make

@viktorvoltaire Nice - do we need to manually specify a cache key by default?

The reason I added it originally is that if you have multiple jobs having the same action, they end up having the same cache key which can conflict.
I.e. you can end up in situation where the cache for a job is incomplete because it was created by a different job.


Fix broken licenses check for in jenkins files.

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @jasonkuster

LGTM

Changes Unknown when pulling 177c35fabb60497d0941aab2a6d2b5e982480b17 on peihe:fix-licenses into ** on apache:master**.

Fixed in
https://github.com/apache/beam/commit/838ef04da912091db6f83be2fe48a9a3525e8279


What's "coral" the meaning of test.py code line 158?

style = coral(style, content)

already found this function in function.py


Add symbol highlighting and add to demo

Tiny fix, I noticed that symbol syntax wasn't getting picked up for Ruby:

I added to the demo example and now it's differentiating symbols like this:

I'm by no means design-inclined, so if a different color would be more appropriate I'm definitely open to other options.
The theme is great, by the way! Hope this helps.

Great! Thank you.


Broken documentation link

Hello,
in this project readme in the section:
Related documentation
MQ documentation -> the link appear to hit a non existent page. Can you please fix it with the correct url?
thanks

Thanks for pointing that out. I'll fix links in the next release. Unfortunately, auto checkers for broken links don't work too well with those documentation sites because they are still resolved/redirected to a real page. Can't look for 404s.

I'm seeing the same issue for the link under Additional Properties to the Knowledge Center. Any chance you can post the correct links to this issue in the meantime?

All links should now work


Grow Up

@torifat  I understand. That was purely experimental. I wish I could undo the changes.

Closing in favor of explanation at Readme

👎🏻


Links from "YouTube/PeerTube Video Feed"-extension are not replaced

I came back to FreshRSS after some time. If I remember correctly, the "YouTube/PeerTube Video Feed"-extension and "Clickable Links" have worked well together back then.
In any case, links are now no longer replaced when both extensions interact:

Did something indeed change? Or was it always like that and if so, something that could be improved?

Maybe there was something off with only my installation or something has fixed it in the meantime, but after reading about this pull request, I gave this extension another shot and it's working (again?) now.


cplex limits exceeded problem

when i use docplex to solve the model i write , it report the error of cplex limits exceeded problem, however I have installed the cplex acadamic version and when  I try to solve the same model in cplex Optimization Studio , there is no such error , is something I forget to config or somehow ???
the error message is as follow :
CplexSolverError                          Traceback (most recent call last)
C:\Program Files\Python36\lib\site-packages\docplex\mp\cplex_engine.py in solve(self, mdl, parameters, lex_mipstart)
1455             cpx_probtype = cpx.problem_type[cpx.get_problem_type()]
-> 1456             cpx.solve()  # returns nothing in Python
1457             cpx_status = cpx.solution.get_status()
C:\Program Files\Python36\lib\site-packages\cplex_init_.py in solve(self)
1098             else:
-> 1099                 _proc.mipopt(self._env._e, self._lp)
1100         elif self.quadratic_constraints.get_num() > 0:
C:\Program Files\Python36\lib\site-packages\cplex_internal_procedural.py in mipopt(env, lp)
628         status = CR.CPXXmipopt(env, lp)
--> 629     check_status(env, status)
630
C:\Program Files\Python36\lib\site-packages\cplex_internal_procedural.py in call(self, env, status, from_cb)
302                     error_string = geterrorstring(env, status)
--> 303             raise CplexSolverError(error_string, env, status)
304
CplexSolverError: CPLEX Error  1016: Promotional version. Problem size limits exceeded.
During handling of the above exception, another exception occurred:
DOcplexLimitsExceeded                     Traceback (most recent call last)
 in ()
----> 1 m.solve(agent='local',url=url, key=key)
2 m.print_solution()
C:\Program Files\Python36\lib\site-packages\docplex\mp\model.py in solve(self, **kwargs)
3442                 # if CPLEX is installed go for it
3443                 force_clean_before_solve = kwargs.get('clean_before_solve')
-> 3444                 return self._solve_local(context, force_clean_before_solve)
3445             elif have_credentials:
3446                 # no context passed as argument, no Cplex installed, try model's own context
C:\Program Files\Python36\lib\site-packages\docplex\mp\model.py in _solve_local(self, context, force_clean_before_solve)
3571         except DOcplexException as docpx_e:  # pragma: no cover
3572             self._set_solution(None)
-> 3573             raise docpx_e
3574
3575         except Exception as e:
C:\Program Files\Python36\lib\site-packages\docplex\mp\model.py in _solve_local(self, context, force_clean_before_solve)
3558             self._apply_parameters_to_engine(used_parameters)
3559
-> 3560             new_solution = self_engine.solve(self, parameters=parameters)
3561             has_solution = new_solution is not None
3562             self._set_solution(new_solution)
C:\Program Files\Python36\lib\site-packages\docplex\mp\cplex_engine.py in solve(self, mdl, parameters, lex_mipstart)
1482                 cpx_status = 1016
1483                 cpx_status_string = "Promotional version. Problem size limits exceeded., CPLEX code=1016."
-> 1484                 self._model.fatal_ce_limits()
1485             else:
1486                 cpx_status, cpx_status_string = self._parse_cplex_exception_as_status(cpx_se)
C:\Program Files\Python36\lib\site-packages\docplex\mp\model.py in fatal_ce_limits(self, *args)
776
777     def fatal_ce_limits(self, *args):
--> 778         self._error_handler.fatal_limits_exceeded()
779
780     def error(self, msg, *args):
C:\Program Files\Python36\lib\site-packages\docplex\mp\error_handler.py in fatal_limits_exceeded(self)
212     def fatal_limits_exceeded(self):
213         docplex_error_stop_here()
--> 214         raise DOcplexLimitsExceeded()
215
216
DOcplexLimitsExceeded: **** Promotional version. Problem size limits exceeded, CPLEX code=1016

Hi,
The error backtrace shows that the cplex you have in Python36\lib\site-packages is a Community Edition.
Can you please uninstall this CE version with pip uninstall cplex, then try again with <Your CPLEX_Studio_Academic install path>/cplex/python/3.6/x64_win64 in your PYTHONPATH ?

I tried and it didn't work

can you please print your PYTHONPATH (or print(sys.path)) and also print where your cplex is actually imported from using:
import cplex
print(cplex.__file__)

I've the same problem but I'm on a Mac. I tried installing the community edition using pip install cplex. But also registered with IBM using my student email id and downloaded the app. But I could only download it as the desktop version. I'm trying to run it from command line

You can download cplex using Anaconda，which can download the matching version.
在2019-05-31<EMAIL_ADDRESS>I've the same problem but I'm on a Mac. I tried installing the community edition using pip install cplex. But also registered with IBM using my student email id and downloaded the app. But I could only download it as the desktop version. I'm trying to run it from command line
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@Rakshith-Manandi I created a new Issue to track your problem https://github.com/IBMDecisionOptimization/docplex-examples/issues/10

Closing this issue since there is no news since my last question 5 month ago.

i have a problem when i tried to install academic cplex with "python setup.py install"
D:\Cplex\cplex\python\3.10\x64_win64>python setup.py install
running install
C:\Users\ASUS\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
C:\Users\ASUS\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\setuptools\command\easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
[Errno 13] Permission denied: 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.1264.0_x64__qbz5n2kfra8p0\\Lib\\site-packages\\test-easy-install-8820.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1264.0_x64__qbz5n2kfra8p0\Lib\site-packages\

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.
For information on other options, you may wish to consult the
documentation at:
https://setuptools.pypa.io/en/latest/deprecated/easy_install.html
Please make the appropriate changes for your system and try again.

@mch9791 Your errors just look like you don't have the write access to your python installation.
Please make sure you can, or use a virtual environment.


Allow starting PoS networks from genesis

PR description
This PR uses the vanilla o.h.b.c.MergeBesuControllerBuilder when the Total Terminal Difficulty is set to zero in the genesis.
The main change is in the HEAD commit (25a870a665b429365281dca244723023d0e7fa03), but for making it readable I had to refactor how the o.h.b.c.BesuControllerBuilder was constructed, that's in the previous commit (4369a1c3d48f419d5476ad0cfefc24f488f6d0c6). During these changes, I decided to keep an ignored parameter for not adding complexity to the reviewing process, b/c otherwise I would have to change a lot of tests.
Note: Judging by the comment in o.h.b.c.BesuController:216 it sounds to me that there is a more comprehensive change waiting to be done, but I'm not familiar enough with the merge architecture to implement it in that way yet and maybe this one is good enough for now.
Fixed Issue(s)
Fixes #4740
Documentation

[x] I thought about documentation and added the doc-change-required label to this PR if
updates are required.

Changelog

[x] I thought about the changelog and included a changelog update if required.

Have we had asks to have a merge-at-genesis network with a TTD of 0? All of the merge-at-genesis test networks I have seen typically have a non-zero TTD that is consumed entirely by the genesis block. I can see the appeal of not needing Transition* classes involved however.

For the record, Teku ATs currently start besu with a TTD of 0 to do merged-genesis networks (https://github.com/ConsenSys/teku/blob/a49f9a8a279a2260c57308fbb313162dfa7e2127/acceptance-tests/src/testFixtures/resources/besu/mergedGenesis.json#L1). It's not hard to change, it just never occurred to me that there'd be any other way of configuring a pre-merged genesis.

@garyschulte thank you for reviewing it.
The context of this PR was to support the now retired Shandong testnet. Here's the genesis used back then.
I confused the transition with the real issue that I was having when I tried to start a new network with a new evm config (ref: #4740) so this would not even solve that case.


Update device-control-removable-storage-access-control.md

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


Sign up and in with google and firebase not redirecting to destined page.

Am working on a project that I was suppose to finished by next week latest, but am facing issue of not redirecting to destined page in flutter google and firebase sign up/sign in.
Here's my dependencies version:
  firebase_auth: ^0.11.1+6
  google_sign_in: ^4.0.14
  cloud_firestore: ^0.12.11
  fluttertoast: ^3.1.3
  shared_preferences: ^0.4.3

Here's my login code logic.
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'home.dart';

class Login extends StatefulWidget {
  @override
  _LoginState createState() => _LoginState();
}

class _LoginState extends State<Login> {
  final GoogleSignIn googleSignIn = new GoogleSignIn();
  final FirebaseAuth firebaseAuth = FirebaseAuth.instance;
  SharedPreferences preferences;

  bool loading = false;
  bool isLogedin = false;

  @override
  void initState() {
    super.initState();
    issignedIn();
  }

  void issignedIn() async {
    setState(() {
      loading = true;
    });

    preferences = await SharedPreferences.getInstance();
    isLogedin = await googleSignIn.isSignedIn();
    if (isLogedin) {
      Navigator.pushReplacement(
          context, MaterialPageRoute(builder: (context) => HomePage()));
    }
    setState(() {
      loading = false;
    });
  }

  Future handleSignIn() async {
    preferences = await SharedPreferences.getInstance();

    setState(() {
      loading = true;
    });

    GoogleSignInAccount googleUser = await googleSignIn.signIn();
    GoogleSignInAuthentication googleSignInAuthentication =
        await googleUser.authentication;

    AuthCredential credential = GoogleAuthProvider.getCredential(
        idToken: googleSignInAuthentication.idToken,
        accessToken: googleSignInAuthentication.accessToken);
    FirebaseUser firebaseUser =
        (await firebaseAuth.signInWithCredential(credential));

    if (firebaseUser != null) {
      final QuerySnapshot result = await Firestore.instance
          .collection("users")
          .where("id", isEqualTo: firebaseUser.uid)
          .getDocuments();
      final List<DocumentSnapshot> documents = result.documents;
      if (documents.length == 0) {
        //Insert the user to our collection
        Firestore.instance
            .collection("users")
            .document(firebaseUser.uid)
            .setData({
          "id": firebaseUser.uid,
          "username": firebaseUser.displayName,
          "email": firebaseUser.email,
          "profilePicture": firebaseUser.photoUrl
        });
        await preferences.setString("id", firebaseUser.uid);
        await preferences.setString("username", firebaseUser.displayName);
        await preferences.setString("email", firebaseUser.email);
        await preferences.setString("photoUrl", firebaseUser.displayName);
      } else {
        await preferences.setString("id", documents[0]['id']);
        await preferences.setString("username", documents[0]['username']);
        await preferences.setString("email", documents[0]['email']);
        await preferences.setString("photoUrl", documents[0]['photoUrl']);
      }
      Fluttertoast.showToast(msg: "Logged in successfully");
      setState(() {
        loading = false;
      });
    } else {}
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        elevation: 0.0,
        backgroundColor: Colors.red,
        centerTitle: true,
        title: Text(
          "Login",
          style: TextStyle(fontWeight: FontWeight.bold),
        ),
      ),
      body: Stack(
        children: <Widget>[
          Center(
            child: FlatButton(
              color: Colors.red,
              onPressed: () {
                handleSignIn();
              },
              child: Text(
                "Sign in/ Sign up with google",
                style: TextStyle(color: Colors.white),
              ),
            ),
          ),
          Visibility(
            visible: loading ?? true,
            child: Container(
              alignment: Alignment.center,
              color: Colors.white.withOpacity(0.9),
              child: Center(
                child: CircularProgressIndicator(
                  valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
                ),
              ),
            ),
          )
        ],
      ),
    );
  }
}

It keeps loading like forever.
May be am not doing something right.
A help with the code is highly appreciated.
Please, help out.

Hi @IsoftTech
This platform is not meant for assistance on personal code.
If you believe that the issue resides in a bug or unintended behaviour of the framework,
please provide your flutter doctor -v and your flutter run --verbose?
If you are looking for assistance on your personal code
you may get some help if you post it on Stack Overflow.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.

i have also same issue

@unfoldedRoses
please follow the indication above

[...]
If you believe that the issue resides in a bug or unintended behaviour of the framework,
please provide your flutter doctor -v and your flutter run --verbose?
If you are looking for assistance on your personal code
you may get some help if you post it on Stack Overflow.
Thank you


Missing Change in Code for Issue 20015

I checked the latest available code for BC 21.2, but the requested change of issue isn't available there.
https://github.com/microsoft/ALAppExtensions/issues/20015
The issue was update on september therefore I would expted that this change is availbe in at least BC 21.2

As you have requested this change AFTER code freeze for 21.0, this change is available in 22.x only.


Automator: update istio/client-go@master dependency in istio/istio@master

Generated by Automator - 2022-03-03T18:17:54+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-cni_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
true
/test integ-cni_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

test integ-cni_istio

/test integ-cni_istio

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test release-test_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test release-test_istio

lint_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test release-test_istio

lint_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test lint_istio

gencheck_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-test_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test release-test_istio

lint_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test lint_istio

gencheck_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test gencheck_istio

integ-security_istio
4429e1c5cc2c0c5f8d52df87b7981a68627c69c6
link
unknown
/test integ-security_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


[FIX] Fixed problem in printable version where headers were moving up…

refer issue #12

ping @elipapa

thanks so much for the PR! and excuse the delay 😞


Data Loading Logs

Hello Yuan
Thanks for the great work and for open-sourcing everything!
I have a quesiton about traintest_mask.py: Shouldn't end_time be updated after the evaluation? Because I think the way it is currently implemented leads to a very large number for per_sample_data_time direclty after the evaluation:

At first I thought it was because of cache or something similar, but I think it is because the evaluation time is also included in per_sample_data_time in the first iteration after the evaluation.
Best Regards,
Fabian

hi Fabian,
Thanks for pointing out this, it might be a bug, but it does not impact the performance, right? I just use this to check I/O and network bottleneck.
-Yuan

Thank you for the quick response. No don't worry, it has no impact on performance, the variable is onnly used to check I/O bottleneck, as you said!


Pass encrypt property to Debezium MS SQL Server JDBC URL

I took the liberty of adding acceptLicense() to the MS SQL Server container setup so that we can always have the SQL Sever tests run by default. Hopefully there's no issues with us doing that.

@jamesnetherton Great to have multiple commits. It looks easier to review actually. Maybe, that could become a general practise to keep distinct commits during reviews. Maybe sometimes, squashing at the end of review would be needed...
Reading the EULA, It looks ok for to use in itests. However, couldn't we have issues when someone clone the repository and run itests on its own machine.
For instance, the EULA mention US export restriction law. When calling acceptLicense(), it could mean that explicit consent would be given that the MS SQL database is run in a country that is not subject to US export restrictions. However, anybody can clone this code and use it in another country subject to US export restrictions...
That said, it's a tricky question. Maybe we should ask Apache legal ? Or maybe we should keep a kind of express consent in a simpler form, like an environment variable QUARKUS_***_ACCEPT_MS_SQL_EULA=True ? It could be true on CI and one would need to set it to true when running locally ?

It could be true on CI and one would need to set it to true when running locally

On reflection, I think, I'll drop that commit. I thought I had seen in the past that Quarkus dev services was doing auto acceptance and figured maybe we could do the same. But I just checked and they have the same requirement of manually adding src/test/resources/container-license-acceptance.txt.


No escape character for '&'

Motds have limited space and new server features are easier to list when you can use the '&' unicode in plaintext. Currently all &'s format to a color code regardless if formatted as \u0026. Using a forward slash \ before the character would be an easy way to escape and follow similar format escaping conventions such as Discord.
This issue has been tested on the bungeecord version.

Hi, this is handled by your Bungee/Spigot ChatColor.translateAlternateColorCodes()


Typo: Figure 15 referenced as "Figure X"

Page Affected: https://developers.google.com/web/updates/2019/01/devtools#AAA
What needs to be done?
The Figure 15 should be referenced in the text with his right number, but it's not: we can read "Figure X".

Thank you for the report!


[1.7.10] Dark Steel Armor durability bug

Issue Description:
I changed the config so that Empowered IV absorbs 100% of durability damage, yet the armor is still losing durability. All four pieces have Empowered IV.
What happens:
See above.
What you expected to happen:
I expected the armor to stop taking any durability damage.
Steps to reproduce:

Change the config to 100% durability absorbed.
Dark Steel Armor
Enchant with Empowered X (X being the level with 100% in the config)
Take damage while wearing it, charged.

Affected Versions (Do not use "latest"):

EnderIO: <IP_ADDRESS>4_beta
EnderCore: <IP_ADDRESS>_beta
Minecraft: 1.7.10
Forge: <IP_ADDRESS>6

Your most recent log file where the issue was present:
N/A

So...is this actually a bug, or is it somehow supposed to do this?

So...is this actually a bug, or is it somehow supposed to do this?


Can not addShortText() with an id to removeBadges() later, but there is a workaround (to document?)

Related to issue #45 - during the same effort I found that AddShortTextStep seems to extend a plain Step, while other badges inherit Step => AbstractStep (has the id field) => AddBadgeStep  => AddInfoBadgeStep (or some other applied badge type).
Consistently, the addShortText() step does not have an "id" argument to remove the left-column text later.
Sadly, all the badge steps seem to require the "icon" argument and so any detailed text is that icon image's alt-text in resulting HTML markup -- not easy to access while monitoring build history, especially as I continuously remove and re-post the badges for a progress-update effect, as detailed in #45.
Looking at the resulting build.xml data however I saw that the badges posted to left-column in build history have very similar markups, including the class in the tag, e.g.:
// addBadge():
    <com.jenkinsci.plugins.badge.action.BadgeAction<EMAIL_ADDRESS>      <id>Build-progress-badge@2680ed6</id>
      <iconPath>/plugin/badge/images/info.gif</iconPath>
      <text>Build in progress: [STARTED:126, COMPLETED:111, SUCCESS:111]</text>
      <color>#000000</color>
      <background>#FFFF00</background>
      <border>1px</border>
      <borderColor>#C0C000</borderColor>
    </com.jenkinsci.plugins.badge.action.BadgeAction>

vs.
// addShortText():
    <com.jenkinsci.plugins.badge.action.BadgeAction<EMAIL_ADDRESS>      <text>Running 378 'slow build' dynamatrix stages</text>
      <color>#000000</color>
      <background>#FFFF00</background>
      <border>1px</border>
      <borderColor>#C0C000</borderColor>
    </com.jenkinsci.plugins.badge.action.BadgeAction>

Effectively, the result of addBadge() has the "id" and "iconPath" elements, and the result of addShortText() does not; others overlap.
I took a shot in the dark by calling addBadge(icon: null, ...) et voila, I have the markup with "id" and without "iconPath" which is rendered in build history as the yellow plaque of text, updated as my pipeline rolls though its loop:
    <com.jenkinsci.plugins.badge.action.BadgeAction<EMAIL_ADDRESS>      <id>Build-progress-badge@6175b31a</id>
      <text>Build in progress: [STARTED:45, COMPLETED:42, SUCCESS:27, FAILURE:7, UNSTABLE:8]</text>
      <color>#000000</color>
      <background>#FFFF00</background>
      <border>1px</border>
      <borderColor>#C0C000</borderColor>
    </com.jenkinsci.plugins.badge.action.BadgeAction>

Example rendered output the way I like it:

So, to summarize: for the practical purposes I need a way to remove and add the "short wall of text" in the build history. One way to achieve that "perfectly" would be native support for an "id" in the addShortText() step. Another way to achieve that "du-jour" is to (ab)use the basic addBadge() method with a null icon argument. At least until the former is implemented (if ever), I suggest to document the latter in the README, and add comments in the code so nobody removes this ability ;)

Resolved by the changes in:

#130

The addShortText now accepts an id.


Major overhaul of all documentation

Codecov Report

Merging #29 (498d085) into main (cd6a237) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #29   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          500       500
  Branches       136       136
=========================================
  Hits           500       500

Impacted Files
Coverage Δ

src/patito/polars.py
100.00% <ø> (ø)

src/patito/pydantic.py
100.00% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


ERROR:invoice2data.main:No template for FlipkartInvoice.pdf

I am trying to extract data from sample invoices present in the project.E.g FlipkartInvoice.pdf provided as a sample along with its template "com.flipkart.WSRetail".It is giving the following error
Invalid Parameter - 350
Error during processing.
ERROR:invoice2data.main:No template for FlipkartInvoice.pdf
Running it as :
invoice2data --input-reader tesseract FlipkartInvoice.pdf
Both the template and invoice pdf are present in the same folder.
Any Help?

If you use a custom template, you should point invoice2data at it. I don't see that in your command. Same folder isn't enough.
We already have a Flipkart template. Maybe you want to use that instead and fix it, so it works on your PDF file?

Hi, I am not using any custom template or pdf but the ones already present in the project directory.The directory has FlipkartInvoice.pdf and "com.flipkart.WSRetail" template and it also has the json file containing the output data.I am trying to get the same response given in the json file.But don't know what is missing
pdf to be scanned : FlipkartInvoice.pdf (present in the project directory)
template for that pdf : "com.flipkart.WSRetail" (present in the project directory)
running with this command :
invoice2data --template-folder D:\RajeshG\Projects\OCR\tools\invoice2data\flipkartinvoicedemo --exclude-built-in-templates --input-reader tesseract FlipkartInvoice.pdf
Still getting the same error :
Invalid Parameter - 350
Error during processing.
ERROR:invoice2data.main:No template for FlipkartInvoice.pdf
Is the syntax proper? Do we need to provide template file path or just folder path ?

Then I'm guessing you have a different invoice format than what we support. Have a look at the template tutorial on how to adapt a template.

Hi, Now i am getting some different error.I guess its a parsing error.
invoice2data --input-reader tesseract --template-folder /home/webwerks/rajeshG/development/Android/Ocr/invoice2data/files/invoice2data-0.3.3/src/invoice2data/extract/templates FlipkartInvoice.pdf
Error :
Traceback (most recent call last):
File "/home/webwerks/.local/bin/invoice2data", line 10, in
sys.exit(main())
File "/home/webwerks/.local/lib/python3.5/site-packages/invoice2data/main.py", line 191, in main
templates += read_templates()
File "/home/webwerks/.local/lib/python3.5/site-packages/invoice2data/extract/loader.py", line 88, in read_templates
tpl = ordered_load(template_file.read())
File "/home/webwerks/.local/lib/python3.5/site-packages/invoice2data/extract/loader.py", line 36, in ordered_load
return yaml.load(stream, OrderedLoader)
File "/usr/local/lib/python3.5/dist-packages/yaml/init.py", line 112, in load
loader = Loader(stream)
File "/usr/local/lib/python3.5/dist-packages/yaml/loader.py", line 44, in init
Reader.init(self, stream)
File "/usr/local/lib/python3.5/dist-packages/yaml/reader.py", line 74, in init
self.check_printable(stream)
File "/usr/local/lib/python3.5/dist-packages/yaml/reader.py", line 144, in check_printable
'unicode', "special characters are not allowed")
yaml.reader.ReaderError: unacceptable character #x0082: special characters are not allowed
in "", position 312

I think there is a trick to put YAML into utf8-mode. Not sure we already have that.

what's the solution ??

Make sure your template only uses UTF-8. Try to open it directly with YAML to debug. Your char may be from another char set than UTF-8 (Latin1?)
I believe we already read template files in UTF-8. So there shouldn't be anything to change.

Duplicate of https://github.com/invoice-x/invoice2data/issues/239


Telegram - All users "unknown"

Describe the bug
I've recently setup a matterbridge to bridge a slack channel and a telegram channel. Installation via docker-compose on my linux server was quite straightforward (except getting the telegram channel id, what the heck telegram).
The sync is working but all messages coming into slack from telegram are showing the username as unknown. Going from slack to telegram is populating the usernames correctly.
Screenshots/debug logs
I can provide logs if this is indeed an issue
Environment (please complete the following information):

OS: Ubuntu 20.04, docker-compose
Matterbridge version: 1.17.6-dev a94fe558

Additional context
I've played around with MessageFormat and UseFirstName settings in the telegram section but that didn't help
I reviewed issues related to telegram and I see a mention in #875 that telegram channels don't return usernames, if that is true then wouldn't the telegram bridge always return unknown - that seems contradictory to other issues I've reviewed.
Configuration file:
[slack]
[slack.test]
Token="xoxb-[redacted]"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[telegram]
[telegram.test]
Token="[redacted]"
RemoteNickFormat="<{NICK}> "

[general]
PrefixMessagesWithNick=true

[[gateway]]
    name = "mygateway"
    enable=true

    [[gateway.inout]]
    account = "telegram.test"
    channel = "[redacted]"

    [[gateway.inout]]
    account = "slack.test"
    channel = "[redacted]"

I found that usernames are working properly when using telegram groups instead of telegram channels
I don't know if I missed that in the documentation but I believe it solves my problem.

Added extra info about this in the wiki on https://github.com/42wim/matterbridge/wiki/Gateway-config-(channel-rules)


Cannot run migration on adding in INSTALLED_APPS

I am trying to use it and following documentation. After adding it to INSTALLED_APPS inside settings.py file, when I try to run python manage.py migrate as shown in documentation, I get following error. Am I doing something wrong or missing something?
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/base.py", line 366, in execute
    self.check()
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/base.py", line 395, in check
    include_deployment_checks=include_deployment_checks,
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 64, in _run_checks
    issues.extend(super()._run_checks(**kwargs))
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/management/base.py", line 382, in _run_checks
    return checks.run_checks(**kwargs)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/checks/registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 23, in check_resolver
    return check_method()
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 407, in check
    for pattern in self.url_patterns:
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 588, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 581, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/shishir/Projects/performance_management/performance_management/backend/urls.py", line 24, in <module>
    path('UMS/api/', include('django_rest_passwordreset.urls')),
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django_rest_passwordreset/urls.py", line 4, in <module>
    from django_rest_passwordreset.views import reset_password_request_token, reset_password_confirm, reset_password_validate_token
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django_rest_passwordreset/views.py", line 13, in <module>
    from django_rest_passwordreset.models import ResetPasswordToken, clear_expired, get_password_reset_token_expiry_time, \
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django_rest_passwordreset/models.py", line 26, in <module>
    class ResetPasswordToken(models.Model):
  File "/home/shishir/Projects/performance_management/venv/lib/python3.6/site-packages/django/db/models/base.py", line 115, in __new__
    "INSTALLED_APPS." % (module, name)
RuntimeError: Model class django_rest_passwordreset.models.ResetPasswordToken doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

I just tried a fresh install with the quickstart-tutorial and then installed django-rest-passwordreset from pip and I encountered no such issues.
Have you installed everything from pip? How does your project-structure look like? Could you post your settings.py?

Yes, i installed it with pip. My project structure looks something like this:
.
├── manage.py
├── assets
│   └── unirac.svg
├── fabfile.py
├── fixtures
│   ├── initialReviewData.json
│   ├── initialRoleData.json
│   └── initialUserData.json
├── maintenance_off.html
├── templates
│   └── admin
├── frontend
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── models.py
│   ├── templates
│   ├── tests.py
│   ├── views.py
│   ├── src
│   ├── urls.py
│   ├── __pycache__
│   ├── migrations
│   └── static
├── static
│   ├──<PHONE_NUMBER>_avatar-generic-avatar-hd-png-download.png
│   ├──<PHONE_NUMBER>_no-avatar-user-circle-icon-png.png
│   ├── admin
│   ├── avatar-default-icon.png
│   ├── css
│   ├── img
│   ├── logo-unirac.svg
│   ├── rest_framework
│   ├── unirac.svg
│   ├── bettersolar.jpg
│   └── frontend
├── reviews
│   ├── apps.py
│   ├── __init__.py
│   ├── tests.py
│   ├── views.py
│   ├── admin.py
│   ├── models.py
│   ├── migrations
│   ├── urls.py
│   ├── serializers.py
│   ├── utils.py
│   ├── api.py
│   └── __pycache__
├── backend
│   ├── __init__.py
│   ├── wsgi.py
│   ├── asgi.py
│   ├── static
│   ├── prod_settings.py
│   ├── dev_settings.py
│   ├── local_settings.py
│   ├── urls.py
│   ├── settings.py
│   └── __pycache__
└── accounts
    ├── apps.py
    ├── __init__.py
    ├── managers.py
    ├── tests.py
    ├── views.py
    ├── drf_utils.py
    ├── exceptions.py
    ├── models.py
    ├── migrations
    ├── forms.py
    ├── admin.py
    ├── serializers.py
    ├── urls.py
    ├── api.py
    └── __pycache__

And my settings.py file looks something like this:
import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = "jdiewjdewjfdjwfkdjf;lrejf;lekf;lkeqf;lkew;lfdkew"

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = [*]

# Application definition

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # Installed apps
    "rest_framework",
    "knox",
    "django_rest_passwordreset",
    "whitenoise.runserver_nostatic",
    # Created apps
    "accounts",
    "reviews",
    "frontend",
]

REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": ("knox.auth.TokenAuthentication",),
    "EXCEPTION_HANDLER": "rest_framework.views.exception_handler",
    # 'EXCEPTION_HANDLER':'accounts.exceptions.custom_exception_handler',
}

MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "whitenoise.middleware.WhiteNoiseMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
]

ROOT_URLCONF = "backend.urls"

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "DIRS": [os.path.join(BASE_DIR, "templates")],
        "APP_DIRS": True,
        "OPTIONS": {
            "context_processors": [
                "django.template.context_processors.debug",
                "django.template.context_processors.request",
                "django.contrib.auth.context_processors.auth",
                "django.contrib.messages.context_processors.messages",
            ],
        },
    },
]

WSGI_APPLICATION = "backend.wsgi.application"

# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "reviews_db",
        "USER": "xyz",
        "PASSWORD": "xxxxxxxxx",
        "HOST": "localhost",
        "OPTIONS": {
            "init_command": "SET foreign_key_checks = 0; "
            "SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ",
            "isolation_level": "repeatable read",
        },
    },
}

# Password validation
# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
    {
        "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
    },
    {"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",},
    {"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",},
    {"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",},
]

# Internationalization
# https://docs.djangoproject.com/en/3.0/topics/i18n/

LANGUAGE_CODE = "en-us"

TIME_ZONE = "Asia/Kolkata"

USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/

REACT_APP_DIR = os.path.join(BASE_DIR, "frontend")

STATICFILES_DIRS = (os.path.join(BASE_DIR, "assets"),)
STATIC_URL = "/static/"

AUTH_USER_MODEL = "accounts.Employee"

STATIC_ROOT = os.path.join(BASE_DIR, "static/")
try:
    from .local_settings import *
except ImportError as e:
    print(e)

EMAIL_HOST = "mail.xyz.com"
SERVER_EMAIL =<EMAIL_ADDRESS>DEFAULT_FROM_EMAIL =<EMAIL_ADDRESS>DEFAULT_EMAIL_RECIPIENTS = []

I just tried installing it, then putting it inside INSTALLED_APPS in settings.py file and then tried the command python manage.py migrate and got above error. I dont what I am doing wrong.

Hmm, this appears to be a tricky one, I don't immediately see what is wrong. Could you please go through the quickstart-tutorial and see if you have the same problem? Maybe we can find the difference this way.

I had a similar error when upgrading. Found out that it was due to my user model importing the following:
from django_rest_passwordreset.models import ResetPasswordToken
from ... import ...

The solution was to move the import from the top of my user model to an inline import like:
class MyUser:
  def reset_password(self):
    from django_rest_passwordreset.models import ResetPasswordToken
    # your code

Hope this helps!

@Roconda thanks for the solution
This is related to how Django is loading Apps and Models. You would get the same issue if you try to load a model in a custom queryset module for a manager.


Small records compression support for zstd-jni

Hi, I'm wondering if zstd-jni supports bulk processing library and explicit context. The zstd manual  mentioned that using explicit compression context and a pre-generated digested dictionary when compressing many small records is more memory friendly. I didn't not find
size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx,                                 void* dst, size_t dstCapacity,                           const void* src, size_t srcSize,                           const ZSTD_CDict* cdict);
in the java binding implementation. Is there a plan to support it soon?

Yes, there is PR #99 in progress that addresses the context reuse.

The most recent version adds ability to reuse contexts when compressing/decompressing direct byte buffers. Compression/decompression of byte arrays will come in the next versions. Please look at the ZstdCompressCtx/ZstdDecompressCtx. If you are looking to only reuse dictionaries, it's already supported though:
compress(byte[] dst, byte[] src, ZstdDictCompress dict)
decompress(byte[] src, ZstdDictDecompress dict, int originalSize)

and similar functions.


Revert "Ajuste de Frase"

Reverts Roll20/roll20-character-sheets#12474

Character Sheet Info Roll20 Internal Use only.


Publish main to live on 9/15 @ 10:30 am

Docs Build status updates of commit 2af3920:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-server-ps/sharepoint-server/Get-SPWebApplicationHttpThrottlingMonitor.md
:white_check_mark:Succeeded
View (sharepoint-server-ps)

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